Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tutoriel:hid [Le 27/04/2012, 16:14]
davy39 créée
tutoriel:hid [Le 11/09/2022, 12:20] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
 +{{tag>​tutoriel}}
 +----
 +
 ====== Utilisation d'un périphérique HID ====== ====== Utilisation d'un périphérique HID ======
  
 +Les périphériques de la norme HID permettent d'​envoyer des commandes au serveur X.
 +Toutefois toutes les commandes reçues ne sont pas toujours exploitables directement sous linux...
 +C'est pourquoi il est intéressant de pouvoir les "​remapper",​ c'est à dire les attribuer aux commandes linux (**inputdev**) de notre choix.
 +
 +Dans ce tutoriel, une télécommande [[http://​www.aliexpress.com/​product-gs/​492454030-IR-USB-Mouse-Media-Desktop-Computer-PC-Remote-Controller-Control-Media-Center-wholesalers.html|disponible pour 5€65]] sera configurée afin d'​effectuer de nombreuses actions ainsi que d'​émuler le déplacement de la souris.
 +
 +En second lieu, on verra comment configuer **LIRC** pour exploiter ce matériel.
 =====Préalables===== =====Préalables=====
  
Ligne 14: Ligne 24:
 S: Sysfs=/​devices/​pci0000:​00/​0000:​00:​02.0/​usb2/​2-7/​2-7:​1.0/​input/​input5 S: Sysfs=/​devices/​pci0000:​00/​0000:​00:​02.0/​usb2/​2-7/​2-7:​1.0/​input/​input5
 U: Uniq= U: Uniq=
-H: Handlers=sysrq kbd event5 ​+H: Handlers=sysrq kbd event5
 B: PROP=0 B: PROP=0
 B: EV=120013 B: EV=120013
Ligne 26: Ligne 36:
 S: Sysfs=/​devices/​pci0000:​00/​0000:​00:​02.0/​usb2/​2-7/​2-7:​1.1/​input/​input6 S: Sysfs=/​devices/​pci0000:​00/​0000:​00:​02.0/​usb2/​2-7/​2-7:​1.1/​input/​input6
 U: Uniq= U: Uniq=
-H: Handlers=kbd mouse1 event6 ​+H: Handlers=kbd mouse1 event6
 B: PROP=0 B: PROP=0
 B: EV=1f B: EV=1f
Ligne 41: Ligne 51:
 Pour cela créer le fichier suivant : Pour cela créer le fichier suivant :
 <​code>​sudo nano /​usr/​share/​X11/​xorg.conf.d/​50-HID-blacklist.conf</​code>​ <​code>​sudo nano /​usr/​share/​X11/​xorg.conf.d/​50-HID-blacklist.conf</​code>​
-Et y copier ces lignes, en rensigant MatchProduct en fonction de ce que vous avez obtenu ci-dessus : +Et y copier ces lignes, en rensigant MatchProduct en fonction de ce que vous avez obtenu ci-dessus :
 <​file>​ <​file>​
 Section "​InputClass"​ Section "​InputClass"​
Ligne 53: Ligne 63:
 ===== HID_MAPPER ===== ===== HID_MAPPER =====
  
-On va ensuite utiliser le programme présenté [[http://​forum.xbmc.org/​showthread.php?​tid=88560|ici]] pour assigner les commandes voulues aux évènements générés ​par notre périphérique. ​+On va ensuite utiliser le programme présenté [[http://​forum.xbmc.org/​showthread.php?​tid=88560|ici]] pour assigner les commandes voulues aux évènements générés ​parnotre ​périphérique.
  
  
 ====Installation==== ====Installation====
  
-L'​installation de hid_mapper s'​effectue ​par les commandes suivantes : +L'​installation de hid_mapper s'​effectue ​parles ​commandes suivantes : 
-<​code>​wget http://​www.coldsource.net/​hid_mapper.tar.gz +<​code>​wget http://​www.coldsource.net/​hid_mapper_beta.tar.gz 
-tar zxvf hid_mapper.tar.gz +tar zxvf hid_mapper_beta.tar.gz 
-cd hid_mapper+cd hid_mapper_beta
 make make
 sudo cp hid_mapper /​usr/​local/​bin/​ sudo cp hid_mapper /​usr/​local/​bin/​
Ligne 145: Ligne 155:
 ==Fichier mouse.map== ==Fichier mouse.map==
  
-Dans mon cas, ma télécommande a une fonction spéciale d'​émulation du déplacement du curseur de la souris, et affiche différents codes en fonction du temps d'​appui sur les flèches directionnelles.  +Dans mon cas, ma télécommande a une fonction spéciale d'​émulation du déplacement du curseur de la souris, et affiche différents codes en fonction du temps d'​appui sur les flèches directionnelles. 
-Celui sera configurable de la manière suivante dans le fichier **mouse.map**. ​+Celui sera configurable de la manière suivante dans le fichier **mouse.map**.
 - REL_Y correspond à un déplacement sur l'axe vertical - REL_Y correspond à un déplacement sur l'axe vertical
 - REL_X sur l'axe horizontal - REL_X sur l'axe horizontal
 - Le dernier chiffre de chaque ligne à la taille du déplacement en nombre de pixel. - Le dernier chiffre de chaque ligne à la taille du déplacement en nombre de pixel.
  
-<​file>​010000fe0000:​REL_Y:​-1 ​ # haut --> ​ -1->-8de plus en plus vite +<​file>​010000fe0000:​REL_Y:​-1 ​ # haut --> ​ -1->-8de plus en plus vite
 010000fc0000:​REL_Y:​-4 010000fc0000:​REL_Y:​-4
 010000f80000:​REL_Y:​-8 010000f80000:​REL_Y:​-8
-010000020000:​REL_Y:​1 ​   # bas --> 1->8 de plus en plus vite +010000020000:​REL_Y:​1 ​   # bas --> 1->8 de plus en plus vite
 010000040000:​REL_Y:​4 010000040000:​REL_Y:​4
 010000080000:​REL_Y:​8 010000080000:​REL_Y:​8
Ligne 168: Ligne 178:
 ====Lancement==== ====Lancement====
  
-On peut alors lancer le "​mappage"​ pour assigner les nouveaux codes aux évènements envoyés ​par notre périphérique.+On peut alors lancer le "​mappage"​ pour assigner les nouveaux codes aux évènements envoyés ​parnotre ​périphérique.
  
 ===Manuel=== ===Manuel===
Ligne 194: Ligne 204:
  
 Pour les habitués de [[lirc|LIRC]],​ il est possible d'​utiliser le périphérique précédemment configuré. Pour les habitués de [[lirc|LIRC]],​ il est possible d'​utiliser le périphérique précédemment configuré.
-Pour cela, on attribue un lien symbolique à l' input/​eventx générée ​par hid_mapper ​en ajoutant la ligne suivante au fichier 10-HID-REMOTE.rules que l'on vient de créer :+Pour cela, on attribue un lien symbolique à l' input/​eventx générée ​parhid_mapper ​en ajoutant la ligne suivante au fichier 10-HID-REMOTE.rules que l'on vient de créer :
 <​file>​ <​file>​
 KERNEL=="​event*",​ATTRS{name}=="​Generic USB input mapper",​SYMLINK="​input/​hid_mapper"​ KERNEL=="​event*",​ATTRS{name}=="​Generic USB input mapper",​SYMLINK="​input/​hid_mapper"​
Ligne 200: Ligne 210:
  
 Il nous faudra également ​ ajouter les [[http://​lirc.sourceforge.net/​remotes/​devinput/​lircd.conf.devinput Il nous faudra également ​ ajouter les [[http://​lirc.sourceforge.net/​remotes/​devinput/​lircd.conf.devinput
-|commandes ​devinput]] au fichier **/​etc/​lirc/​lircd.conf**. ​+|codes devinput]] au fichier **/​etc/​lirc/​lircd.conf**.
  
 Pour des raisons pédagogiques,​ admettons que vous avez une télécommande MiroPCTV connectée sur le port série ttyS0 (lirc_serial). Pour des raisons pédagogiques,​ admettons que vous avez une télécommande MiroPCTV connectée sur le port série ttyS0 (lirc_serial).
Ligne 239: Ligne 249:
 - Enfin, on modifie le sript de lancement de lirc pour qu'il démarre les 2 instances de lircd : - Enfin, on modifie le sript de lancement de lirc pour qu'il démarre les 2 instances de lircd :
  
-Editer le fichier /​etc/​init.d/​lirc et le modifier vers la ligne 160 :+Editer le fichier ​**/​etc/​init.d/​lirc** et le modifier vers la ligne 160 :
  
-Remplacer :+Remplacer :
 <​file>​ <​file>​
 REMOTE_LIRCD_ARGS=`build_remote_args $REMOTE_LIRCD_ARGS` REMOTE_LIRCD_ARGS=`build_remote_args $REMOTE_LIRCD_ARGS`
 </​file>​ </​file>​
-par +par
 <​file>​ <​file>​
 REMOTE_LIRCD_ARGS=`build_remote_args $REMOTE_LIRCD_ARGS` REMOTE_LIRCD_ARGS=`build_remote_args $REMOTE_LIRCD_ARGS`
 REMOTE_LIRCD2_ARGS=`build_remote_args $REMOTE_LIRCD2_ARGS` REMOTE_LIRCD2_ARGS=`build_remote_args $REMOTE_LIRCD2_ARGS`
 </​file>​ </​file>​
-Ainsi que :+ 
 +Ainsi que :
 <​file>​ <​file>​
 start-stop-daemon --start --quiet --oknodo --exec /​usr/​sbin/​lircd -- $REMOTE_LIRCD_ARGS < /dev/null start-stop-daemon --start --quiet --oknodo --exec /​usr/​sbin/​lircd -- $REMOTE_LIRCD_ARGS < /dev/null
 </​file>​ </​file>​
-par :+par:
 <​file>​ <​file>​
 start-stop-daemon --start --quiet --oknodo --name lirc1 --exec /​usr/​sbin/​lircd -- $REMOTE_LIRCD_ARGS < /dev/null start-stop-daemon --start --quiet --oknodo --name lirc1 --exec /​usr/​sbin/​lircd -- $REMOTE_LIRCD_ARGS < /dev/null
  • tutoriel/hid.1335536083.txt.gz
  • Dernière modification: Le 27/04/2012, 16:14
  • par davy39