Bonjour à tous,
Je bute sur un truc... je voudrais appuyer sur le bouton (qui fait CTRL) le maintenir appuyer tout en modifiant le saut avec le rotatif ... dans le code la routine keyctrl est mal placée... je ne sais pas ou la mettre.... j'ai essayé mais en vain...
/*---------------------------------------------------------------------------------------
'* jpbbricole 2019 03 13
'* modifié gaston 83 (ajout du bouton sur pin 5)
et l'aide de speedf37
*/
#include <Encoder.h> // Gestion bouton rotatif
https://github.com/PaulStoffregen/Encoder
#include <Keyboard.h> // Pour simuler les fonctions du clavier
// Définition des boutons (raccourcis clavier)
char keyalt = KEY_LEFT_ALT;
char keytab = 179; // valeur Ascii décimale de TAB
char keyctrl = 128; // Valeur Ascii décimale de CTRL Gauche
//------------------------------------- Codeur rotatif
#define codRotApin 6 // Pin du port A
#define codRotBpin 7 // Pin du port B
Encoder codRot(codRotApin, codRotBpin);
int rotencIncrement = 0; // Direction de l'encodeur +1 ou -1
int codRotIncrement = 0; // Direction de l'encodeur +1 ou -1
void setup() {
{
pinMode (5, INPUT_PULLUP);
pinMode (9, INPUT_PULLUP);
pinMode (10, INPUT_PULLUP);
Keyboard.begin();
}
}
void loop()
{
if (digitalRead(9) == LOW) { //KEY ALT
delay(100);
Keyboard.press(keyalt);
delay(100);
Keyboard.press('j');
delay(100);
Keyboard.releaseAll();
}
if (digitalRead(10) == LOW) { //KEY TAB
delay(100);
Keyboard.press(keytab);
delay(100);
Keyboard.releaseAll();
}
{
if (digitalRead(5) == LOW) { //KEY CTRL GAUCHE
delay(100);
Keyboard.press(keyctrl);
delay(100);
Keyboard.releaseAll();
}
// initialisation codeur
codRotIncrement = codRot.read() / 4; // Divisé par 4 parcequ chaque impulsion ressentie en tournant le bouton
// Génère 4 impulsions (
https://www.logre.eu/wiki/Codeur_rotatif_incrémental)
if (codRotIncrement != 0) // Changement de MS affiché
{
if (codRotIncrement < 0)
{
delay(50);
Keyboard.write(KEY_LEFT_ARROW);
}
if (codRotIncrement > 0)
{
delay(50);
Keyboard.write(KEY_RIGHT_ARROW);
}
codRotIncrement = 0;
codRot.write(0); // Pour remettre le compteur du bouton rotatif à 0 (dans bibliothèque)
}
}
}
// fin du prog