web-dev-qa-db-fra.com

Comment déboguer l'entrée à partir d'un périphérique d'entrée (/ dev / d'entrée / événement *)

J'ai un récepteur IR qui utilise le conducteur d'IMON et je voudrais le faire travailler avec le noyau. Désormais la moitié des touches de la télécommande ( image ) fonctionne, mais une personne tout importante pense que les touches numériques ne le font pas!

Le bizarre pense que le module Kernel KeyMap (RC-IMON-PAD) semble être correct, mais il semble que cela ne soit pas vraiment utilisé depuis de la même manière que les mêmes clés travaillent sans ce module.

Il semble que le module RC-IMON-PAD soit chargé toujours lorsque je charge IMON, puis je soupçonne que les codes clés sont mis en cache de sorte qu'il ne fait pas de différence si je décharge RC-IMON-PAD

Maintenant je suis perdu, si je fais cat /dev/input/event5 ou ir-keytable -t Il y a des données, quelle que soit la clé I appuyez sur, donc le conducteur enregistre les boutons, mais il semble simplement qu'ils soient traduits dans les mauvais codes clés.

Mes noyaux est un noyau de stock Ubuntu de Natty (Linux XBMC 2.6.37-11-générique # 25-Ubuntu SMP Tue 21 23:42:56 UTC 2010 x86_64 GNU/Linux)

19
LassePoulsen

J'ai la même télécommande et je l'ai envoyé des codes clés corrects à mon noyau 2.6.38-Gentoo-R3. Je n'ai pas compilé de codes clés comme module, car ils n'ont probablement pas eu le temps de permettre à des keyaps individuels. C'est tout ou rien et je n'aime pas un gazillion des modules inutiles qui m'écrit. Au lieu de cela, je laissez V4L-utils le gérer avec Udev.

Couple de choses que j'ai apprises:

  • Vérifiez la sortie de IR-KeyTable -R, il devrait indiquer tous les codes clés applicables à votre télécommande.
  • Chargez la carte clé manuellement: IR-KeyTable -C -W Bleh/Keymaps/imon_pad, après quoi la carte-clé IR devrait vous donner la table
  • Vous pourriez avoir un récepteur défectueux, vous ne mentionnez rien de l'histoire. Je me souviens de voir au moins un message sur Liste de la LIRCR Où Guy a dit d'envoyer le cas et d'obtenir une nouvelle résolution de ses problèmes.

Laissez-nous savoir comment ça s'est passé.

3
lkraav

Vous pouvez trouver utile xinput list et xinput test <device>.

Par exemple,

[. ____ ____.] ⎜ ↳ Synaps/2 Synaptics TouchPad ID = 11 [Pointeur esclave (2)] 
 ⎣ ID de clavier de noyau virtuel = 3 [Clavier principal (2)] [ = 5 [Clavier esclave (3)] [.____] ↳ Bouton d'alimentation ID = 6 [Clavier esclave (3)] [.____] ↳ ID de bus vidéo = 7 [____.] ↳ Bouton de sommeil ID = 8 [clavier esclave (3)] 
 ↳ ASUS ordinateur portable supplémentaire id = 9 [clavier esclave (3)] [. ____] ↳ AT SET TRADIFIQUE 2 ID de clavier = 10 [clavier esclave (3)] 

et je peux surveiller mon clavier (xinput test 10) ou pavé tactile (xinput test 11 ou même xinput test "SynPS/2 Synaptics TouchPad") Pour toutes sortes d'événements d'entrée, Et ils sont assez imprimés à la console et les paramètres sont extraits et imprimés également.

Cela ne résoudra pas votre problème, mais au moins aidera un peu en déchiffrant l'encombrement que par ex. cat /dev/input/event1 produit.

17
ulidtko