Basé sur la réponse de @Michał Górny. Voici les commandes pour désactiver le verrouillage numérique, utiliser quand même des chiffres et mapper le verrouillage numérique sur F13 (peut être pratique pour lier une fonction spéciale dans votre gestionnaire de fenêtres).
# NumLock is F13
xmodmap -e "remove mod2 = Num_Lock" \
-e "keycode 77 = F13"
# Use numbers even when numlock is off
xmodmap -e "keysym KP_End = KP_1" \
-e "keysym KP_Down = KP_2" \
-e "keysym KP_Next = KP_3" \
-e "keysym KP_Left = KP_4" \
-e "keysym KP_Begin = KP_5" \
-e "keysym KP_Right = KP_6" \
-e "keysym KP_Home = KP_7" \
-e "keysym KP_Up = KP_8" \
-e "keysym KP_Prior = KP_9" \
-e "keysym KP_Insert = KP_0" \
-e "keysym KP_Delete = KP_Decimal"
C'est bien de ne pas avoir le voyant numlock allumé tout le temps :)
Commençons par quelques explications sur ce qui se passe et pourquoi votre idée ne fonctionne pas. Tout d'abord, jetez un œil à la carte des modificateurs :
$ xmodmap
xmodmap: up to 3 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Comme vous pouvez le voir, Num_Lock
est mod2
ici. Lorsqu'il est activé, tous les événements de pression de touche sont accompagnés de mod2
un peu.
Si vous le désactivez comme ceci :
$ xmodmap -e "keycode 77 = NoSymbol"
$ xmodmap
xmodmap: up to 3 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 BadKey (0x4d)
mod3
mod4 Super_L (0x85), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Notez que mod2
est maintenant associé à BadKey
, et cela semble confondre beaucoup Xorg. En fait, la plupart des changements de carte de modificateur semblent casser X11 pour moi.
Pour le moment, je ne trouve pas de bonne solution qui consiste à jouer avec la carte de modification. Mais j'ai une autre idée:vous pouvez mapper toutes les touches du clavier pour qu'elles fonctionnent de la même manière avec le verrouillage numérique activé et désactivé. C'est-à-dire :
xmodmap -e "keysym KP_Up = KP_8"
xmodmap -e "keysym KP_Left = KP_4"
# ...
etc. Une fois que vous avez fait cela, l'état du verrouillage numérique n'aura plus d'importance.
Vous pouvez même supprimer le modificateur par la suite pour désactiver l'extinction de la LED :
xmodmap -e "remove mod2 = Num_Lock"