J’ai eu une petite surprise lors de l’utilisation de mon RaspBMC. Le « media center » est un Raspberry Pi exécutant RaspBMC commandé par une télécommande MCE (HP) par le biais d’un récepteur Infrarouge IR605Q.
Le problème est que les touches numériques ne sont pas reconnues, rendant impossible l’accès direct à une position dans un média (ex: aller à 1:15:00 directement dans un film) ou la recherche des médias en utilisant les lettres liées aux touches numériques. Cela est dû au fait que la télécommande n’est pas reconnu comme « mceusb », et les touches ne sont pas correctement nommées dans les fichiers de configuration XBMC.
Pour commencer, il faut vérifier sous quel nom de périphérique la télécommande est vue par XBMC. Pour cela, activer le mode debug dans l’interface XBMC, appuyer sur une touche de la télécommande puis vérifier les logs « xbmc.log ».
tail -f /home/pi/.xbmc/temp/xbmc.log
Dans l’exemple, la touche 5 a été pressée.
XBMC détecte la télécommande comme « devinput » (et non comme « mceusb »), et les touches numériques sont dans le format « KEY_NUMERIC_NUM ».
Il faut donc modifier les touches dans le fichier de configuration « Lircmap.xml »:
vi /opt/xbmc-bcm/xbmc-bin/share/xbmc/system/Lircmap.xml
Rechercher la partie correspondant au périphérique « devinput » (qui est en fait un alias pour le périphérique « linux-input-layer »), et modifier les valeurs KEY_NUM en KEY_NUMERIC_NUM.
Ex: KEY_1 devient KEY_NUMERIC_1
La syntaxe est:
XBMC_COMMAND>LircButtonName</XBMC_COMMAND>
Voici les modifications faites pour ma configuration.
Enregistrer le fichier, et redémarrer xbmc.
sudo restart xbmc
Dans mon cas, cela a résolu le problème pour les touches numériques, mais je n’avais plus accès au menu contextuel. La même méthode s’applique en ajoutant le paramètre correspondant à la touche dans le fichier de configuration. Lorsque la touche est pressée, le système la détecte sous le nom « KEY_EPG », et l’action du menu contextuel sous XBMC est <title>. On peut voir les touches et les action connues par XBMC en ouvrant le fichier de configuration /opt/xbmc-bcm/xbmc-bin/share/xbmc/system/keymaps/remote.xml. J’ai donc ajouté au fichier « Lircmap.xml » les paramètres suivants:
<title>KEY_EPG</title>
Il est bien sûr possible d’attribuer de nouvelles touches ou modifier l’action de touches déjà paramétrées par ce biais. Plus d’informations sont disponibles dans le chapitre Keymap du wiki XBMC.