Berdasarkan jawaban @Michał Górny. Berikut adalah perintah untuk menonaktifkan num-lock, tetap menggunakan angka, dan memetakan numlock ke F13 (mungkin berguna untuk mengikat ke fungsi khusus di pengelola jendela Anda).
# 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"
Senang tidak menyalakan lampu numlock sepanjang waktu :)
Mari kita mulai dengan beberapa penjelasan tentang apa yang terjadi dan mengapa ide Anda tidak berhasil. Pertama, lihat peta pengubah:
$ 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)
Seperti yang Anda lihat, Num_Lock
adalah mod2
di sini. Saat aktif, semua peristiwa penekanan tombol disertai dengan mod2
sedikit.
Jika Anda menonaktifkannya seperti ini:
$ 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)
Perhatikan bahwa mod2
sekarang dikaitkan dengan BadKey
, dan ini tampaknya sangat membingungkan Xorg. Faktanya, sebagian besar perubahan peta pengubah tampaknya merusak X11 bagi saya.
Saat ini, saya tidak dapat menemukan solusi bagus yang melibatkan bermain dengan peta pengubah. Tapi saya punya ide lain:Anda dapat memetakan semua tombol keypad agar berfungsi sama dengan num lock baik aktif maupun nonaktif. Yaitu:
xmodmap -e "keysym KP_Up = KP_8"
xmodmap -e "keysym KP_Left = KP_4"
# ...
dll. Setelah Anda melakukannya, status num lock tidak lagi penting.
Anda bahkan dapat menghapus pengubah setelahnya untuk mematikan LED:
xmodmap -e "remove mod2 = Num_Lock"