C'est intéressant et bizarre 🙂
Chez moi:
fr_CH:
KeyPress event, serial 38, synthetic NO, window 0x3400001,
root 0x4e4, subw 0x3400002, time 408393451, (62,50), root:(933,513),
state 0x10, keycode 91 (keysym 0xffae, KP_Decimal), same_screen YES,
XKeysymToKeycode returns keycode: 129
XLookupString gives 1 bytes: (2e) "."
XmbLookupString gives 1 bytes: (2e) "."
XFilterEvent returns: False
fr_FR:
KeyPress event, serial 38, synthetic NO, window 0x3400001,
root 0x4e4, subw 0x3400002, time 408230919, (41,37), root:(912,500),
state 0x10, keycode 91 (keysym 0xffae, KP_Decimal), same_screen YES,
XKeysymToKeycode returns keycode: 129
XLookupString gives 1 bytes: (2e) "."
XmbLookupString gives 1 bytes: (2e) "."
XFilterEvent returns: False
Et chez moi, en fr_FR et fr_CH (bien que sur une touche différente), j'ai le keycode 58 pour la ",":
KeyPress event, serial 38, synthetic NO, window 0x3400001,
root 0x4e4, subw 0x3400002, time 408600841, (51,33), root:(922,496),
state 0x10, keycode 58 (keysym 0x2c, comma), same_screen YES,
XLookupString gives 1 bytes: (2c) ","
XmbLookupString gives 1 bytes: (2c) ","
XFilterEvent returns: False
Mais ça ne vient peut-être pas du pilote comme je le pensais, car la touche est mappé sur: KP_Decimal
(et en faite, le keycode 91 ne semble pas être pour le ".", qui a le keycode 60, mais pour le séparateur décimal)
Donc c'est le système qui devrait appliquer le "." ou la ",", en fonction de la locale, mais je ne connais pas trop bien son fonctionnement (XKeysymToKeycode, XLookupString , XmbLookupString ?)
Ca ressemble à une recherche de quel caractère metttre à KP_Decimal, et XKeysymToKeycode semble seulement visible sur un Kxxxx.
EDIT:
Si je lance cette commande, la touche me met bien une "," :
setxkbmap -option '' -option kpdl:comma
et un "." avec:
setxkbmap -option '' -option kpdl:dot
On peut remarquer qu'avec
kpdl:comma,le Kxxxx change de KP_Decimal à
KP_Separator qui a toujours le keycode 91, mais
0xffac à la place de 0xffae (et donc 2c à la place de 2e dans les lookup), et le state 0x2010 ?:
KeyPress event, serial 38, synthetic NO, window 0x3400001,
root 0x4e4, subw 0x3400002, time 410856603, (48,49), root:(919,512),
state 0x2010, keycode 91 (keysym 0xffac, KP_Separator), same_screen YES,
XLookupString gives 1 bytes: (2c) ","
XmbLookupString gives 1 bytes: (2c) ","
XFilterEvent returns: False
qui n'a pas non plus la ligne: XKeysymToKeycode returns keycode: 129
Et comme les 2 ont le keycode
91, c'est pas ça le problème ? (je ne connais pas le lien avec le keycode 129)
Il faudrait déterminer ce qui place le "keysym 0xffae, KP_Decimal" ou le "keysym 0xffac, KP_Separator" avec les commandes plus haut.
EDIT2:
Et en faite, j'ai pas trop regardé les autres touches, mais il n'y a peut-être que KP_Decimal qui fait un XKeysymToKeycode