Après avoir effectué quelques recherches sur le net et n'ayant trouvé de réponse à ma question je me retourne vers ce forum.
Je Souhaiterais savoir si on peut simuler un clavier avec une carte Arduino Mega 2560 ?
J'ai vu que la Leonardo le permettait mais je n'ai pas trouvé de réponse pour la Mega.
J'ai récupéré un code écrit pour Léonardo mais je possède une Mega et lorsque je compile le code j'obtiens les erreurs suivantes :
sketch_sep01a.cpp: In function ‘void setup()’:
sketch_sep01a.cpp:34:3: error: ‘Keyboard’ was not declared in this scope
sketch_sep01a.cpp: In function ‘void loop()’:
sketch_sep01a.cpp:41:5: error: ‘Keyboard’ was not declared in this scope
sketch_sep01a.cpp:47:5: error: ‘Keyboard’ was not declared in this scope
sketch_sep01a.cpp:52:5: error: ‘Keyboard’ was not declared in this scope
sketch_sep01a.cpp:57:5: error: ‘Keyboard’ was not declared in this scope
sketch_sep01a.cpp:63:5: error: ‘Keyboard’ was not declared in this scope
sketch_sep01a.cpp:68:5: error: ‘Keyboard’ was not declared in this scope
sketch_sep01a.cpp:73:5: error: ‘Keyboard’ was not declared in this scope
sketch_sep01a.cpp:78:5: error: ‘Keyboard’ was not declared in this scope
jethroweb:
Après avoir effectué quelques recherches sur le net et n'ayant trouvé de réponse à ma question je me retourne vers ce forum.
Je Souhaiterais savoir si on peut simuler un clavier avec une carte Arduino Mega 2560 ?
J'ai vu que la Leonardo le permettait mais je n'ai pas trouvé de réponse pour la Mega.
L'arduino leonardo possède un port usb hardware, contrairement aux autres cartes arduino qui n'ont qu'un port série.
Les codes pour la leonardo ne compilerons donc jamais sur une mega ou une uno
Ps: il faudra faire la correspondance entre les numéros de broches arduino et les ports/broches AVR dans le fichier "usbconfig.h". http://arduino.cc/en/Hacking/PinMapping2560
Après avoir effectué quelques recherches sur le net et n'ayant trouvé de réponse à ma question je me retourne vers ce forum.
Je Souhaiterais savoir si on peut simuler un clavier avec une carte Arduino Mega 2560 ?
Bonsoir
Il y a clavier et clavier = piano ? , matriciel ? , porte-clefs ? autre ?
simuler/emuler un clavier de quel type/interface ?
Bonjour,
Juste une astuce pour compiler un programme sans la bonne carte :
Vérifier que la carte soit débranchée
Outils/Type de carte/Arduino Leonardo (par exemple)
Compiler
Penser à remettre sur la bonne carte avant de la rebrancher
J'ai voulu testé la technique en changeant de carte dans le soft pour pouvoir compiler le code
mais je viens de m'apercevoir que je n'avais pas l'option leonardo dans "Board" !!
Tu dois avoir une ancienne version.
Installe la dernière version d'Arduino et essaie de garder le même dossier de sauvegarde
(au pire tu transfères d'un dossier à l'autre tous tes fichiers)
Désinstalle ensuite ta future-ancienne version.
Installe la nouvelle version de l'ide ne servira pas à grand chose
Si il veut émuler un clavier usb avec une carte mega il faut qu'il regarde du côté de Vusb et non de l'arduino leornardo.
Salut !
Cela fait plus de 24 heures qu'il n'y a pas eu de réponses donc tu vas peut-être devoir acheter une Arduino Leonardo.
Si elle manque de broches, peut être qu'en la reliant à la Mega avec TX/RX entre ce programme dans ta Leonardo
mais attention, il n'est pas compilé !
Change dans ton programme pour Arduino tous les "Keyboard" en "Serial" et si tu as besoin d'utiliser les touches directionnelles, trouve quatre caractères à utiliser pour ça et change le programme de la Leonardo.
Attention (bis) : attend une confirmation d'un autre programmateur pour savoir si l'on peut utiliser les broches RX/TX
entre deux cartes et parallèlement à une connexion USB.
Pour controler le soft sur PC par racourcis clavier il y a peut être une autre piste , à la portée d'une carte UNO ou MEGA : emuler un clavier PS2.
Une recherche avec les mots clefs 'arduino ps2 keyboard emulator' donne des réponses comme celle-ci :
Autre piste , vu que le PC à controler semble etre sous linux (soft Rivendell) : installer un demon qui recevrait les codes sur port série virtuel et les enverrait à X.
ça à l'air d'exister.... à faire confirmer ou infirmer par les connaisseurs de linux...... (linux serial keyboard ?) https://wiki.archlinux.org/index.php/Serial_input_device_to_kernel_input
Non
Mais effectivement il reprogramme le chip ATmegaU8 qui fait l'interface USB sur une UNO pour le faire reconnaitre comme un clavier.
Par contre après, tu ne peut plus mettre à jour la UNO depuis l'environnement Arduino car plus de liaison série !
(a moins de reflasher ensuite le U8 avec le firmware d'origine)
Mon objectif, lors de l'appui sur un bouton une "macro" est envoyé à Rivendell.
Pour cela, il faut que la carte Arduino soit reconnu par Ubuntu comme un "local GPIO"
lorsque je lance la commande : ls -lar /dev/input/by-id
jethroweb:
Pour cela, il faut que la carte Arduino soit reconnu par Ubuntu comme un "local GPIO"
lorsque je lance la commande : ls -lar /dev/input/by-id
Je ne sais pas ce qu'est un "local GPIO" mais de toute évidence ce n'est pas un clavier HID USB ni un clavier PS2 (c'est à dire des claviers standards d'ordinateurs type AZERTY etc...)
Si tu part sur les exemples de Léonardo, tu va pouvoir simuler un clavier normal.
Si Rivendell peut se piloter par un clavier normal, alors tu pourra créer un clavier de substitution avec ton Arduino.
Si c'est un type de périphérique différent, alors il faudra trouver toi même comment configurer la partie logicielle USB de la Léonardo pour arriver à ce résultat.
a-t-il un moyen d'utiliser le clavier et le Serial en même temps, et ainsi éviter de flasher à chaque fois.
Sur Léonardo oui. Voir l'exemple KeyboardSerial.
Mais dans l'article en référence, il s'agit d'une modif utilisant un firmware alternatif pour le chip d'interface 32U8 de la Uno.
En théorie il doit être possible de faire une équivalent de keyboard+Serial pour ce chip mais comme derrière il ne dispose que de la liaison série pour discuter avec l'ATmega328 de la UNO, ca va poser des difficultés.
En simulant un clavier, j'utilise les raccourcis clavier du logiciel, mais ce n'est pas l'objectif final.
J'ai déjà réussi à piloter Rivendell avec une manette de jeux USB mais j'étais limité à 8 boutons.
Je souhaite pouvoir simuler 25 boutons, d'où l'idée du arduino.
Vidéo avec la manette :
Et donc quand tu branches une manette USB sur Ubuntu elle apparait comme "local GPIO" ?
Au final ce que tu veux émuler ce n'est pas un clavier mais une super-manette à 25 boutons.
Il ne reste plus qu'a trouver comment configurer l'interface USB d'une Léonardo pour la faire passer pour une super-manette...
Là : un article dans la même veine que le précédant mais cette fois le firmware chargé dans le 32U8 émule un joystick
C'est peut être une base de départ : http://hunt.net.nz/users/darran/weblog/a3599/