J'ai deux télécommandes HP, l'une est une énorme télécommande pour le syntoniseur de télévision et le centre multimédia, et l'autre est une télécommande minuscule destinée uniquement au contrôle d'un centre multimédia.
Est-il possible de les amener à travailler avec Ubuntu (11.04) en utilisant LIRC? Je sais qu'au moins l'un d'entre eux est reconnu, car je peux utiliser l'un des boutons pour éteindre l'écran.
De quoi aurais-je besoin pour un soutien complet? (L'ordinateur portable est un HP DV7 1020us, mais les télécommandes se trouvent dans à peu près tous les ordinateurs portables HP de cette période).
Le LIRC prend en charge les télécommandes de deux manières principales.
On est juste via un récepteur IR générique. Il est possible de les "entraîner" pour obtenir un fichier de configuration ou en télécharger un. Celles-ci ne font que lister les timings de pouls pour chaque bouton.
L'autre moyen est d'utiliser un périphérique d'événement, qui est probablement le mécanisme de la télécommande que vous possédez, car il a déjà un effet sur votre machine. C'est là que le noyau dispose d'un pilote pour cette télécommande et traduit ses impulsions en événements.
Le périphérique est effectivement inséré dans un clavier supplémentaire avec des touches impaires, dont certaines ont des liaisons dans X. Vous pouvez utiliser LIRC pour ajouter des liaisons supplémentaires à un tel périphérique via son module evdev (event device).
faire
lsmod | grep evdev
Et voyez si le module evdev est chargé - c'est souvent en réponse à l'un de ces récepteurs distants. Les pilotes du noyau pour ces modules mappent généralement les événements à l'ensemble standard de codes de clé. Certaines des clés peuvent même se trouver dans le clavier habituel - les télécommandes que j'ai fournies produisent les bons codes pour les chiffres, l'entrée, etc. - et vous pouvez les voir en train de saisir des clés dans des applications comme tout autre clavier HID.
essayez de déterminer le périphérique/dev/input/eventN de votre télécommande. Essayez de regarder à travers votre sortie dmesg
. par exemple/
dmesg | grep event
Puis lancez l’un des outils de débogage LIRC, irw
irw /dev/input/eventN
# devrait produire une liste d'identifiants de boutons lorsque vous dirigez et tirez. Une fois que cela fonctionne ...
À partir de là, vous pouvez configurer LIRC pour recevoir certains appuis sur les boutons et envoyer d'autres clés aux applications. J'ai une configuration mixte pour MythTV - certains des boutons sont les valeurs que je voudrais quand même (OK == ENTRER, 0-9, etc.). Certaines d’entre elles sont remappées dans LIRC (STOP == d pour les supprimer).