Pages: [1] 2   Go Down
Author Topic: Simuler l'appuie d'une touche  (Read 2011 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour a tous

J'ai découvert par pur hasard la carte arduino il ya une semaine de cela. Et j'ai commencé a lire les tutoriels/

Je me demandais, est il possible de simuler l'appuie d'une touche sur le clavier avec la carte. Ce que j'aimerais savoir si c'est possible de simuler l'appuie de la touche. C'est a dire, si je suis entrain de jouer a un jeux vidéo par exemple, j'aimerais que lorsque j'appuie sur mon bouton poussoir, cela simule l'appuie de la touche directionnelle haut. Et que donc mon personnage avancera. Le problème c'est que je ne sais pas trop ou chercher :/

Par exemple, serait il possible de programmer une manette de jeu pour pc avec arduino ? Je ne me rends absolument pas compte des capacités de cette carte.

Si jamais cela est possible, est ce difficile ? Sachant que j'ai déja programmer en C et j'ai un niveau honorable en pyhton jr ne suis donc pas totalement débutant en prog. Mais je n'ai jamais couplé la prog et l'éléc.

En cherchant un peu, j'ai remarqué que ce lien (http://www.practicalarduino.com/projects/virtual-usb-keyboard) revenait souvent donc je vais chercher avec cela. Mais si vous avez d'autres liens ou des infos, je suis preneur smiley

Merci d'avance de vos réponses qui je l'espère seront nombreuses
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

C'est tout à fait faisable smiley-wink

Quelques pistes :
- Arduino UNO + vusb (équivalent de ton lien)
- Teensy++
- Arduino leonardo

Et sur mon blog :
http://skyduino.wordpress.com/2012/05/29/teensy-arduino-clavier-usb-avec-macro-diy/
http://skyduino.wordpress.com/2012/06/28/test-olimexino-32u4-arduino-leonardo-compatible-et-arduino-1-0-1/
http://skyduino.wordpress.com/2012/07/07/hack-utiliser-teensyduino-avec-une-carte-arduino-leonardo-ou-compatible-leonardo/
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Paris
Offline Offline
Full Member
***
Karma: 1
Posts: 175
Beyond the possible...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

En gros tu veut faire une manette, le Python est encore une bonne fois utile pour l'interprétation coté Pc. 
Logged

The Mind is like a parachute it works best when opened.

Offline Offline
Jr. Member
**
Karma: 0
Posts: 72
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

Moi je recherche exactement la même chose mais pour simuler l'appui du bouton Enter pour déclencher un logiciel photobooth.

Je viens d'acheter une UNO en prévoyant de l'utiliser avec le logiciel AAC Keys sur l'ordi (pour reconnaître la commande émise par l'Arduino) mais ça ne fonctionne pas ! AAC Keys est un logiciel assez vieux et je suspecte une incompatibilité avec les Windows 7 et cpie. J'ai même essayé la version Mac et ne marche pas non plus alors que sur le moniteur série je vois bien la commande Enter qui arrive.

Je suis débutant alors passer par du Python va être trop long à apprendre, je pense donc que je vais racheter une Leonardo, je n'aurai rien à toucher sur l'ordi et mon programme sera pratiquement le même sauf remplacer "serial.write" par "keyboard.write".

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Le python tu dis ? Et par quel moyen ? Je suis beaucoup plus a l'aise avec le python qu'avec le C.

Je n'ai a ma disposition qu'une carte arduino uno. Je vais donc cherchez avec le vusb en espérant comprendre. Le but étant clairement d'arriver à simuler une manette. 4 bouton pour les touches directionelles et 2 boutons pour les touches d'actions. Et je veut que mon programme marche partout. C'est a dire que si je suis sur internet et que j'appuie sur mon bouton objectif (qui simulera la touche entrée par exemple), cela fera l'équivalent de si j'appuyais sur la touche entrée. C'est à dire que cela lancera la recherche.

Après, la plus grosse difficulté va être l'anglais. je n'ai trouvé aucun tuto en français.
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Le python tu dis ? Et par quel moyen ? Je suis beaucoup plus a l'aise avec le python qu'avec le C.
Sous windows c'est possible avec l'API win32 native :
http://win32com.goermezer.de/content/view/136/254/

Je n'ai a ma disposition qu'une carte arduino uno. Je vais donc cherchez avec le vusb en espérant comprendre. Le but étant clairement d'arriver à simuler une manette. 4 bouton pour les touches directionelles et 2 boutons pour les touches d'actions. Et je veut que mon programme marche partout. C'est a dire que si je suis sur internet et que j'appuie sur mon bouton objectif (qui simulera la touche entrée par exemple), cela fera l'équivalent de si j'appuyais sur la touche entrée. C'est à dire que cela lancera la recherche.
Essaye de regarder les projets d'exemples de v-usb, il sont plutôt bien fait.
Le plus dure est de concevoir une table de descripteurs USB fonctionnelle et de respecter le format de rapport d'un joystick.

Par contre je te préviens tout de suite v-usb est une librairie AVR-C classique faite pour être compilé avec avr-gcc et un makefile.
On peut compiler cette librairie avec l'ide arduino mais c'est pas triviale.

Tu as un exemple d'adaptation pour arduino ici :
http://code.google.com/p/vusb-for-arduino/
Mais c'est une très vielle version ...

Bien faire attention au fichier de configuration avec les brochages (voir "atmega328p arduino pinmap" sur google pour les correspondances arduino -> broche/port AVR).

Après, la plus grosse difficulté va être l'anglais. je n'ai trouvé aucun tuto en français.
V-usb c'est typiquement le genre de truc qui évolue h24, même les tuto en anglais sont périmés assez rapidement.
Ça demande des connaissances générales du protocole USB, du C pour AVR et de la compilation avr-gcc/makefile smiley-wink
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Jr. Member
**
Karma: 0
Posts: 72
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Je n'ai pas encore essayé le montage mais je viens de compiler le code selon lien suivant avec la librairie v-usb et ça s'est bien passé. Je vais transférer ça dans l'ARduino (Uno) dès que j'aurais les composants mais d'après vous la compilation sans erreur ne suffit pas pour savoir si la librairie est la bonne ???

Pour le code j'ai pris :

https://github.com/practicalarduino/VirtualUsbKeyboard/blob/master/VirtualUsbKeyboard.pde

Librairie :

http://vusb-for-arduino.googlecode.com/files/vusb-for-arduino-005.zip

Et pour le montage :

http://www.practicalarduino.com/projects/virtual-usb-keyboard
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu doit pouvoir retrouver sur le forum une version bien plus récente de vusb-for-arduino avec un patch pour la partie clavier.
Je l'avais fait pour un autre membre, je viens tout juste de m'en rappeler smiley-zipper
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Jr. Member
**
Karma: 0
Posts: 72
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok mais tu as une idée de la version que je dois trouver ?

En fait je suis assez pressé par le temps car c'est pour faire un photobooth pour mon mariage et je dois encore fabriquer tout le coffre pour accueillir l'ecran etc. et si la commande par bouton+arduino ne fonctionne pas tout tombe à l'eau.

Si utiliser Vusb n'est pas évident, je me demandais si racheter une Leonardo ne serait pas plus faible. Vous en pensez quoi ?

Merci pour votre aide
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

En fait je suis assez pressé par le temps car c'est pour faire un photobooth pour mon mariage et je dois encore fabriquer tout le coffre pour accueillir l'ecran etc. et si la commande par bouton+arduino ne fonctionne pas tout tombe à l'eau.
La version dans le tuto marche, elle est vieille mais elle marche.
Après pour une utilisation dans un vrai projet sur plusieurs jours par exemple je serait pas catégorique ...

Si utiliser Vusb n'est pas évident, je me demandais si racheter une Leonardo ne serait pas plus faible. Vous en pensez quoi ?
Avec la librairie UsbKeyboard qui est fourni avec ça revient en gros à faire comme avec une carte Leonardo.
Du reste le code que j'avais posté sur le forum permettait d'avoir exactement les même fonctions que la leonardo.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Jr. Member
**
Karma: 0
Posts: 72
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok je vais voir pour essayer ça alors. Par contre la galère est que je n'ai pas encore les composants (commande on-line + frais de port+quantités imposées) et j'ai regardé les commander me revient presque aussi cher qu'une Leonardo...

Merci !
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4170
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour
j'ai lu un peu en diagonale, mais si j'ai bien compris tu veux simuler l'appui d'une (une seule ? ) touche d'un clavier
pourquoi pas tout simplement "decapsuler'" un clavier usb à , le circuit d'interface est une matrice assez facile à retrouver
et simuler l'appui d'une touche (ou quelques unes) par un arduino de base n'est pas tres compliqué
et peut etre meme qu'il n'y a pas besoin d'arduino  smiley-mr-green

exemple ici
http://www.instructables.com/id/Hacking-a-USB-Keyboard/
« Last Edit: April 15, 2013, 06:41:05 am by Artouste » Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 72
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui j'ai vu la solution du clavier mais je trouvais l'Arduino plus "propre" et plus intéressant intellectuellement.

Il est sûr que si je n'y arrive pas avec cette solution je pourrai toujours me rabattre sur le clavier. De plus je ne sais pas si c'est possible mais plutôt que de démonter le clavier, retrouver les bons contacts je peux aussi virer la touche entrée et venir repiquer (en soudant) 2 fils avec un interrupteurs pour simuler l'appui sur la touche. Ce n'est pas très clean mais si je planque tout dans un coffre ce n'est pas grave et l'essentiel est que ça fonctionne.
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4170
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui j'ai vu la solution du clavier mais je trouvais l'Arduino plus "propre" et plus intéressant intellectuellement.

Il est sûr que si je n'y arrive pas avec cette solution je pourrai toujours me rabattre sur le clavier. De plus je ne sais pas si c'est possible mais plutôt que de démonter le clavier, retrouver les bons contacts je peux aussi virer la touche entrée et venir repiquer (en soudant) 2 fils avec un interrupteurs pour simuler l'appui sur la touche. Ce n'est pas très clean mais si je planque tout dans un coffre ce n'est pas grave et l'essentiel est que ça fonctionne.
oui je comprend bien, mais quelquefois il faut aller au plus simple, sans chercher l'exploit intellectuel  smiley-mr-green
sinon tu a la solution :
arduino+servo qui appuie sur la touche enter d'un clavier apres appui sur un bouton
(qui c'est qui a dit au fond de la salle "usine à gaz" ?   smiley-mr-green )
avantage pas de modif , ni d'intervention sur l'electronique/mecanique du clavier
tu peux meme utiliser un clavier sans fil  smiley-mr-green
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

arduino+servo qui appuie sur la touche enter d'un clavier apres appui sur un bouton
(qui c'est qui a dit au fond de la salle "usine à gaz" ?   smiley-mr-green )
avantage pas de modif , ni d'intervention sur l'electronique/mecanique du clavier
tu peux meme utiliser un clavier sans fil  smiley-mr-green
Heu, une carte leonardo ce serait quand même plus simple smiley-sweat
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Pages: [1] 2   Go Up
Jump to: