Boutons dans HID PROJECT et KeyboardPress?
Bonjour,
A mes moments perdus, je bricole sur arduino.
J'ai réalisé une plaque de commande "à pédales" 4 interrupteurs qui génèrent une lettre quand on appuie dessus.
Chaque bouton permet de taper une lettre sans clavier. (raccourci en jeu)
Un Leonardo, une bibliothèque HID-project, 4 interrupteurs poussoirs et ça fonctionne pas mal.
Pourtant, je n'arrive pas à maintenir la touche enfoncée. La touche est tapée, relachée, tapée, relachée... Si je maintiens le bouton, j'obtiens plusieurs fois la même lettre.
Mon code est simpliste, fonctionne mais je ne comprend pas cette répétition.
J'ai dû oublier une subtilité ou mal employé les commandes.
Une idée?
Merci d'avance.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| #include <HID-Project.h>
void setup() {
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
Keyboard.begin();
Consumer.begin();
}
void loop() {
// lettres au hasard pour le moment.
if (digitalRead(4) == LOW) {
Keyboard.press('u');
}
if (digitalRead(4) == HIGH) {
Keyboard.releaseAll();
}
if (digitalRead(5) == LOW) {
Keyboard.press('t');
}
if (digitalRead(5) == HIGH) {
Keyboard.releaseAll();
}
if (digitalRead(6) == LOW) {
Keyboard.press('i');
}
if (digitalRead(6) == HIGH) {
Keyboard.releaseAll();
}
if (digitalRead(7) == LOW) {
Keyboard.press('o');
}
if (digitalRead(7) == HIGH) {
Keyboard.releaseAll();
}
delay(100);
} |
...pourvu qu'on ait l'ivresse !
Bonjour LeeLeen,
Citation:
Envoyé par
LeeLeen
Je vais un peu me renseigner sur cette fonction LAST de "dernier état".
last n'est pas une fonction mais un membre de la structure (une variable quoi) qui est initialisée à 1 (pédale relevée) et mis à jour dans loop() ... cmds[i].last ^= 1;... pour pouvoir être comparé au tour suivant avec la valeur lue. il aurait été possible de lui donner n'importe quel nom (status, pred etc.). Qu'importe le flacon...
Salut