Forum Linux.général Scancodes complexes de télécommande !

Posté par  .
Étiquettes : aucune
0
8
août
2006
Bonjour!

Je suis en pleine configuration d’une télécommande logitech ultraX media remote control sous debian, avec un noyau 2.6.16 qui la reconnaît tout seul donc tout va bien, quelques keycodes sont reconnus avec xev et donc paramétrables dans xmodmap, mais pas tous !

En effet, la plupart des boutons un tant soit peu spéciaux ne sont pas reconnus par xev, le /var/log/messages ne me dit rien (je le soupçonne d’être configuré par Elive pour me cacher des choses), mais showkeys me donne les scancodes de ces touches.
Le problème, c’est que, contrairement à plusieurs textes qui précise que, grace au noyau, l’utilisateur n’a besoin de manipuler que des scancodes simples (type 0xxx , e0xx ou une combinaison des deux), je me retrouve avec mes touches avec des scancodes du type « 0x83 0x00 0xf6 » (et la même chose pour le bouton relevé)…

Y aurait-il moyen de leur affecter quand même un keycode ? ou bien est-il plus simple de passer par le module evdev et lirc ? (j’ai essayé cette dernière solution, mais irrecord n’a jamais réussi à initialiser le périphérique d’entrée)

Merci pour votre aide
  • # J'ai la même

    Posté par  . Évalué à 2.

    J'ai acheté la même, et je commence à m'en mordre les doigts ! Je l'utilise sous KnoppMyth, mais en effet, je n'ai pas encore réussi à configurer toutes les touches. Par contre, je serais intéressé si tu me donnais la liste de la documentation que tu as déjà trouvé !
    • [^] # Re: J'ai la même

      Posté par  . Évalué à 1.

      Oups j'avais pas vu ta réponse ! Merci ! je ne suis pas seul !
      je viens de poster un nouveau message dans le forum linux.noyau, mais voici ce que j'ai déjà testé :
    • xmodmap avec keycodes complexes : échec.
        http://www.lea-linux.org/cached/index/Hardware-hard_autres-c(...) et pleins d'autres dans le même styles qui ne m'ont pas apporté grand chose de plus
      1. module evdev et lirc :
          http://forum.hardware.fr/hardwarefr/OSAlternatifs/Ati-remote(...)
            échec, sûrement un problème de configuration dans lircd.conf, mais je n'ai rien trouvé de mieux (voir manuel de lirc : file:///usr/share/doc/lirc/html/configure.html , pas très loquace sur ce sujet)
          1. module evdev et le fabuleux paquet inputlirc (dispo sous debian testing):
              http://www.nabble.com/inputlirc:-zeroconf-LIRC-daemon-using-(...) pas de configuration, donc pas trop de modification possible (j'ai vaguement lu les fichiers sources, mais bof, mais je ne suis pas du tout expert) ce dernier a marché !
              1. avec le paquet input-utils, utilise #input-events X avec X entre correspondant à ta télécommande (ou autre périph) dans /dev/input/eventX, chez moi 4 qui donne ceci :
                /dev/input/event4
                   bustype : BUS_USB
                   vendor  : 0x46d
                   product : 0xc101
                   version : 259
                   name    : "Logitech USB Receiver"
                   phys    : "usb-0000:02:00.0-1/input1"
                   uniq    : ""
                   bits ev : EV_SYN EV_KEY EV_REP
                
                waiting for events
                14:46:59.471797: EV_KEY KEY_HOME pressed
                14:46:59.471813: EV_KEY KEY_HOME released
                14:46:59.471834: EV_SYN code=0 value=0
                
                ça fait plaisir, reste plus qu'à configurer .lircrc, avec de trucs dans le style :
                begin
                    prog = irexec
                    button = KEY_VOLUMEUP
                    config = aumix -v +2
                end
                
                le problème suivant (car oui il y en a un), est que, comme remarqué par input-events, le nom de la touche est le même lorsque celle-ci est pressée que lorsqu'elle est relâchée... et donc la commande associée s'exécute 2 fois ! sympa, non ? surtout pour un mute, ou play/pause, tout ça...
                  je me suis donc écrit un petit script moche (ce fut l'occasion d'apprendre l'écriture de scripts) qui n'exécute l'action que la 2e fois qu'elle est appelée, et j'ai rencontré des problèmes de tubes avec des echo, des greps et des osd_cat, mais ceci est une autre histoire dépendant des mes connaissances en script bash... mais pour le moment ça marche à peu près.
                    Le problème suivant (oui oui) est que les commandes présentes dans mon lircrc ne s'exécutent que si et seulement si (à quelques exceptions auxquelles je n'ai rien compris) irexec est lancé dans un terminal et que le teminal est actif... et des fois ça marche avec irexec -d (en démon), mais des fois non...
                      voilà, si quelqu'un passe par là et veut bien nous donner un coup de main... :o) je commence à fatiguer sur le sujet moi...

                  Suivre le flux des commentaires

                  Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.