Il focus della tastiera: focused

Condizione della finestra o dell’iframe a cui arrivano i tasti: la tastiera scrive in un solo posto per volta, e uno sketch senza focus non riceve niente. La variabile di sistema focused vale true quando lo sketch ha il focus.

    let tasti = 0;

function setup() {
    createCanvas( 670, 120 );
    textSize( 24 );
    textAlign( CENTER, CENTER );
}

function draw() {
    background( 200 );
    text( "tasti premuti: " + tasti, width/2, 35 );

    if (focused == false) {
        rect( 90, 62, 490, 46 );
        text( "clicca qui per usare la tastiera", width/2, 85 );
    }
}

function keyPressed() {
    tasti = tasti + 1;
}
  

  

Le istruzioni dentro l’if() disegnano sopra a tutto il resto, quindi possono stare in fondo a qualsiasi draw().

In questa pagina lo sketch sta in un iframe: all’apertura non ha il focus, lo prende con un clic sul canvas e lo perde con un clic altrove, anche nel codice qui sopra. In una pagina a tutta finestra, il focus segue la finestra del browser: basta un clic in un punto qualsiasi della pagina, e tornando a Visual Studio Code i tasti vanno di nuovo all’editor.