Prochaine révision | Révision précédente |
xbmc_avec_evrouter [Le 27/12/2009, 23:43] – créée (déplacée de xmbc_avec_evrouter) 213.95.41.13 | xbmc_avec_evrouter [Le 13/06/2010, 11:30] (Version actuelle) – 82.232.83.93 |
---|
| ====== Piloter xbmc avec une télécommande USB (HID) ====== |
| ===== xbmc, prérequis ===== |
| [[:xbmc|xbmc]] est un logiciel afin de transformer votre ordinateur en [[:media_center|media center]]. Afin de piloter ce type de software, il est possible d'utiliser des claviers ou télécommandes. Un problème survenant assez souvent est l'absence de correspondance entre les touches permettant de naviguer à travers xbmc et les touches de votre télécommande. Cet article décrit donc les différentes étapes nécessaires pour utiliser un périphérique HID avec xbmc (ou tout autre logiciel media center). |
| ===== Utilisation d'un autre périphérique HID ===== |
| Afin de pouvoir naviguer à travers xbmc en utilisant autre chose qu'un clavier (télécommande ou autre périphérique HID), il est nécessaire de remapper les touches de votre matériel HID pour qu'elles puissent correspondre à celles de xbmc [[http://manuel.xbmc.fr/index.php?title=Contr%C3%B4les_Clavier|(liste ici)]]. |
| |
| ===== Désactiver les raccourcis multimédias d'Ubuntu ===== |
| Nombreuses télécommandes ou autres périphériques ont des touches multimédia qu'Ubuntu utilise directement (tel qu'augmenter/diminuer le son) et qui sont aussi utilisés par xbmc. |
| Afin de les désactiver, allez dans Système > Préférences > Raccourcis clavier et désactivez tous les raccourcis "sons" |
| |
| ===== Installer evrouter ===== |
| xbindkeys ne permettant pas de capturer les évènements HID lorsqu'xbmc est en plein écran, nous utiliserons [[http://www.bedroomlan.org/projects/evrouter|evrouter]]. |
| Pour l'installer (32bits): |
| <code>wget http://debian.bedroomlan.org/debian/pool/main/e/evrouter/evrouter_0.4_i386.deb |
| sudo dpkg -i evrouter_0.4_i386.deb</code> |
| |
| ===== Capture d'évènements HID ===== |
| Une fois evrouter installé, il vous faut déterminer où se situe votre périphérique HID dans **/dev/input/by-id/**. Attention, pour un périphérique HID peut se trouver plusieurs input devices. Ceci est expliqué par la présence de deux parties (par exemple un clavier normal & un clavier multimedia) lors de l'énumération HID du périphérique. Il vous faudra donc effectuer l'opération décrite ci dessous plusieurs fois. |
| Maintenant il s'agit de détecter les touches de votre périphérique: |
| <code>evrouter -d /dev/input/by-id/votre_input_device</code> |
| Pour chaque touche pressée, vous obtiendrez une sortie que vous devrez noter du genre: |
| <note>"Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/115 "fill this in!"</note> |
| ===== Créer le fichier de configuration evrouter ===== |
| Une fois toutes les touches déterminées, créez un fichier **.evrouterrc** situé dans votre home. Puis, avec l'éditeur texte de votre choix, remplissez le de cette manière (**avec les informations que vous aurez trouvé au paragraphe précédent**): |
| <code>#Vol up |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/115 "XKey/+" |
| #vol down |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/114 "XKey/-" |
| #play |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/207 "XKey/p" |
| #prev |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/168 "XKey/r" |
| #next |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/208 "XKey/f" |
| #stop |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/166 "XKey/x" |
| #pause |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/119 "XKey/space" |
| #info |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/130 "XKey/m" |
| #list |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/362 "XKey/Tab" |
| #prev2 |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/165 "XKey/comma" |
| #next2 |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/163 "XKey/semicolon" |
| #page down |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/403 "XKey/KP_Down" |
| #page up |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/402 "XKey/KP_Up" |
| #return |
| "Chicony USB Wireless HID Receiver" "/dev/input/by-id/usb-Chicony_USB_Wireless_HID_Receiver-event-joystick" none key/158 "XKey/BackSpace" |
| </code> |
| Remarquez à la fin de chaque ligne le **XKey/**. En effet, evrouter permet d'effectuer plusieurs actions lorsque la touche spécifiée est appuyée (man evrouter pour plus de détails). La commande XKey/ permet de simuler l'appui d'une touche de clavier. Pour obtenir la liste des touches disponibles: |
| <code>xmodmap -pk</code> |
| Le fichier type situé ci dessus vous donne un exemple de mapping entres les touches d'une télécommande et les touches reconnues par xbmc. |
| ===== Lancement d'evrouter au démarrage ===== |
| evrouter nécessite les droits **sudo** pour fonctionner. Une solution possible consiste à ajouter evrouter au fichier sudoers: |
| <code>sudo visudo</code> |
| dans le fichier affiché, ajoutez: |
| <code>votre_nom_dutilisateur ALL=NOPASSWD: /usr/bin/evrouter</code> |
| Ceci effectué, il ne vous reste plus qu'à ajouter evrouter aux programmes lancés au démarrage (avec xbmc). Pour ceci, allez dans Système > Préférences > Applications au démarrage. Ajoutez une entrée nommée evrouter, avec pour commande |
| <code>evrouter /dev/input/by-id/votre_peripherique1 /dev/input/by-id/votre_peripherique2 ... </code> |
| Validez, déloguez puis reloguez vous.♠ |