Beginnen wir mit einer Erklärung, was passiert und warum Ihre Idee nicht funktioniert. Sehen Sie sich zuerst die Modifizierer-Map an:
$ 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)
Wie Sie sehen können, Num_Lock
ist mod2
hier. Wenn es eingeschaltet ist, werden alle Tastendruckereignisse mit mod2
Bit aktiviert .
Wenn Sie es so deaktivieren:
$ 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)
Beachten Sie, dass mod2
jetzt damit BadKey
zu tun ist, und dies scheint Xorg sehr zu verwirren. Tatsächlich scheinen die meisten Modifier-Map-Änderungen X11 für mich zu brechen.
Im Moment kann ich keine gute Lösung finden, bei der mit Modifier-Map gespielt wird. Ich habe aber noch eine andere Idee: Sie können alle Tasten auf dem Tastenfeld so belegen, dass die Num-Taste sowohl ein- als auch ausgeschaltet ist. Das ist:
xmodmap -e "keysym KP_Up = KP_8" xmodmap -e "keysym KP_Left = KP_4" # ...
usw. Wenn Sie das getan haben, ist der Zustand der Num-Sperre nicht mehr wichtig.
Sie können den Modifikator sogar entfernen, um die LED auszuschalten:
xmodmap -e "remove mod2 = Num_Lock"