Bonjour.
Je suis confronté à un problème des plus étranges au niveau de mon clavier.
Le contexte tout d’abord :
Je viens de faire migrer ma machine principale de Fedora 15 à Fedora 16. Pas de problème majeur, si ce n’est l’éternel SElinux qui me demande de re-étiqueter (en créant un fichier /.autorelabel), et quelques problèmes de permissions liées au fait que mes utilisateurs n’avaient pas le même UID avec l’ancien fedora (arrangé d’un simple chown -R).
Le problème :
Nous sommes en présence de deux sessions normales. Le clavier est configuré avec la même disposition (fr) sur les deux.
Cependant, sur l’une des deux sessions, il est impossible de faire fonctionner les touches du clavier numérique. La touche de vérouillage numérique ne change rien. Sur l’autre session, tout va bien, pas de problème.
Je ne sais pas trop où chercher. Je suis allé voir ce que le clavier envoyait à X avec l’utilitaire xev, et effectivement, ce n’est pas la même chose. Mais je ne sais pas comment configurer ça.
Je vous paste le bout de sortie intéressante de xev :
appui sur une touche du clavier numérique sur la session qui marche pas :
MotionNotify event, serial 32, synthetic NO, window 0x2000001,
root 0x15a, subw 0x2000002, time 1812034, (31,33), root:(1007,293),
state 0x10, is_hint 0, same_screen YES
MotionNotify event, serial 32, synthetic NO, window 0x2000001,
root 0x15a, subw 0x2000002, time 1812770, (30,34), root:(1006,294),
state 0x10, is_hint 0, same_screen YES
Appui d’une touche du clavier numérique sur la session qui marche :
KeyPress event, serial 32, synthetic NO, window 0x2200001,
root 0x15a, subw 0x0, time 1893372, (74,164), root:(75,254),
state 0x10, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
XLookupString gives 1 bytes: (31) "1"
XmbLookupString gives 1 bytes: (31) "1"
XFilterEvent returns: False
KeyRelease event, serial 32, synthetic NO, window 0x2200001,
root 0x15a, subw 0x0, time 1893436, (74,164), root:(75,254),
state 0x10, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
XLookupString gives 1 bytes: (31) "1"
XFilterEvent returns: False
C’est bizarre, on dirait que xev arrive à voir qu’il se passe quelque-chose quand je presse une touche sur le pavé numérique, mais qu’il n’interprète pas ça comme une touche enfoncée (toutes les autres touches du clavier provoquent un événement KeyPress puis KeyRelease…
Si vous avez ne serait-ce qu’un début de solution, elle serait la bienvenue…