Comment gérer une application (sketch) "multi-touches" ?

Par Damien MUTI - octobre 2020

Objectif

Ce tutoriel montre comment gérer un programme Processing permettant de gérer la saisie de plusieurs touches simultanément. L'idée est de passer par un tableau de booléen représentant chaque touche. Si une touche est pressée, la valeur correspondante dans le tableau est true, sinon, la valeur est false.

Des exemples de fonctionnalités

Programme 1

Le programme suivant permet de lancer un événement lorsque des (deux au minimum) sont simultanément appuyées. L'événement cesse lorsque les touches sont relâchés.

boolean[] keys;
void setup() {
keys = new boolean[512]; // just to be sure. i don't remember the highest keyCode value right now Tongue
}
void draw() {
if (keys[CONTROL] && keys[32]) { // CTRL + SPACE
println("HELLO WORLD");
}
}
void keyPressed() {
println(keyCode); // to find out the different keyCodes for the different chars, read the output from this.
keys[keyCode] = true;
}
void keyReleased(){
keys[keyCode] = false;
}

Liens

Forum Processing : Multikey codes 2009

Forum Processing : multiple keypressed 2009