Bonjour a tous
j'ai un petit (gros) problème avec mon digispark que je voudrais utiliser pour effectuer des raccourcis clavier : il fonctionne bien, je peux téléverser dessus, il m'envoie des appuis sur des touches, mais dès que je veux "appuyer" sue "M" je reçois une virgule...
mon code (test pour lancer la console et faire "ipconfig") :
dans DigiKeyboard.h la touche M est associée à 10 :
#define KEY_J 0x0d // Keyboard j and J
#define KEY_K 0x0e // Keyboard k and K
#define KEY_L 0x0f // Keyboard l and L
#define KEY_M 0x10 // Keyboard m and M
#define KEY_N 0x11 // Keyboard n and N
#define KEY_O 0x12 // Keyboard o and O
J'ai cherché sur Internet, dans la table de référence de l'USB (https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf)
je vois que 10 est le bon code pour M...
Du coup je sais pas trop quoi faire, si quelqu'un à une solution je suis preneur...
Merci !
ah oui peut être mais c'est bizarre parce que j'ai l'impression que toutes les autres touches fonctionnent correctement. Après faudrait que je fasse un code qui essaye tout le clavier mais ça va être très long...
En plus si c'est ça (type de clavier) le problème, ça m’embête un peu de devoir passer tout mon PC en QWERTY...
sinon le code "m" en AZERTY c'est quoi ?
Merci mais le problème c'est que dans la table on voit que "m" et "," correspondent à 109 ou 44 alors que dans mon code je reçois "," au lieu de "m" quand je lui demande de faire 10
en tout cas c'est comme ça que la table de DigiKeyboard.h est faite...
Leonito2003:
Merci mais le problème c'est que dans la table on voit que "m" et "," correspondent à 109 ou 44 alors que dans mon code je reçois "," au lieu de "m" quand je lui demande de faire 10
en tout cas c'est comme ça que la table de DigiKeyboard.h est faite...
avec ça j'obtiens ;EÀH;GF7A? sur mon éditeur de texte...
Je pense qu'il n'y a que 10 caractères contre 11 dans mE.QHmGF/Q§ sans la ligne en début de code car il doit prendre le "D" pour un appui sur shift et le "C" pour un "à", ensemble qu'il transforme en un seul truc, le "À"...
Augmente le digikeyboard delay (passe à 500)
avec le délais, c'est pareil, j'obtiens juste les trois premier carctères puis 500ms après les 8 suivants...
Leonito2003:
avec ça j'obtiens ;EÀH;GF7A? sur mon éditeur de texte...
Je pense qu'il n'y a que 10 caractères contre 11 dans mE.QHmGF/Q§ sans la ligne en début de code car il doit prendre le "D" pour un appui sur shift et le "C" pour un "à", ensemble qu'il transforme en un seul truc, le "À"...
avec le délais, c'est pareil, j'obtiens juste les trois premier carctères puis 500ms après les 8 suivants...
Essaye çà
compile OK
mais comme déjà dis , j n'ai pas de quoi testé plus avant aujourd'hui
#include "DigiKeyboard.h"
void setup() {
// don't need to set anything up to use DigiKeyboard
}
void loop() {
// this is generally not necessary but with some older systems it seems to
// prevent missing the first character after a delay:
DigiKeyboard.sendKeyStroke(0);
// Type out this string letter by letter on the computer (assumes US-style
// keyboard)
// It's better to use DigiKeyboard.delay() over the regular Arduino delay()
// if doing keyboard stuff because it keeps talking to the computer to make
// sure the computer knows the keyboard is alive and connected
//
DigiKeyboard.sendKeyStroke(0, MOD_GUI_LEFT ); // press the windows key
DigiKeyboard.delay(2000); // wait
DigiKeyboard.println("cmd");
DigiKeyboard.delay(2000); // wait
DigiKeyboard.println("IPCONFIG");
delay(5000);
}
Je suis désolé d’insister peut-être un peu, mais la j’ai vraiment besoin d’aide !
Je ne comprends pas du tout pourquoi j’obtiens un truc aussi anarchique, et je trouve rien qui marche sur internet : source de DigiKeyboard.h, référence USB, table ASCII...
Merci à ceux qui sont déjà passés et à ceux qui passeront pour aider !
Leonito2003:
Je suis désolé d’insister peut-être un peu, mais la j’ai vraiment besoin d’aide !
Je ne comprends pas du tout pourquoi j’obtiens un truc aussi anarchique, et je trouve rien qui marche sur internet : source de DigiKeyboard.h, référence USB, table ASCII...
Merci à ceux qui sont déjà passés et à ceux qui passeront pour aider !
Bonjour
Rapidement testé çà
j'ai mis des délais "alakon" 8)
çà fonctionne sous windows10
#include "DigiKeyboard.h"
void setup() {
// don't need to set anything up to use DigiKeyboard
DigiKeyboard.sendKeyStroke(0);
}
void loop() {
// this is generally not necessary but with some older systems it seems to
// prevent missing the first character after a delay:
//DigiKeyboard.sendKeyStroke(0);
// Type out this string letter by letter on the computer (assumes US-style
// keyboard)
// It's better to use DigiKeyboard.delay() over the regular Arduino delay()
// if doing keyboard stuff because it keeps talking to the computer to make
// sure the computer knows the keyboard is alive and connected
//
DigiKeyboard.sendKeyStroke(0, MOD_GUI_LEFT ); // press the windows key
delay(2000);
DigiKeyboard.print("c");
DigiKeyboard.print(";");
DigiKeyboard.println("d");
delay(10000);
DigiKeyboard.println("IPCONFIG");
delay(10000);
}
Alors, après test, ton code ne marche pas, j'obtiens ^"* puis QHmGF/Q§ après un délais, le tout dans le menu démarrer...
Peut être que nos bibliothèques sont différentes, pourtant je viens de réinstaller DigiKeyboard.h vu que j'avais modifié 2-3 #define UNE_TOUCHE xxx avec des tables de l'internet mondial, mais avant et après réinstallation j'ai ce texte écrit par la carte.
Apparemment ce serait un mappage US-only dans scancode-ascii-table.h qui échange les caractères et il faudrait tout changer aux bonnes valeurs, en plus je trouve des bibliothèques modifiées pour les claviers allemands, mais pas français...
Leonito2003:
Apparemment ce serait un mappage US-only dans scancode-ascii-table.h qui échange les caractères et il faudrait tout changer aux bonnes valeurs, en plus je trouve des bibliothèques modifiées pour les claviers allemands, mais pas français...