Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tutoriel:hid [Le 27/04/2012, 16:18] – [Utilisation du HID avec LIRC] davy39tutoriel:hid [Le 11/09/2022, 12:20] (Version actuelle) – 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) moths-art
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:   # bas --> 1->8 de plus en plus vite +010000020000:REL_Y:   # 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
-|codes 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 245: Ligne 255:
 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`
Ligne 255: Ligne 265:
 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