Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| tutoriel:hid [Le 27/04/2012, 16:17] davy39 [Utilisation du HID avec LIRC] | 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 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 | ||