為了在 X 環境之外 (tty2~tty6) 把 Caps Lock 鍵設定成 Control
我參考了 Arch Wiki 的說明:
https://wiki.archlinux.org/title/Linux_console/Keyboard_configuration#Persistent_configuration
把 /etc/vconsole.conf 設定成以下內容:
include="/usr/share/kbd/keymaps/i386/qwerty/us.map.gz"
KEYMAP="/path/to/my/keymap"
而 keymap 檔案中,有如下設定:
keycode 58 = Control
經過設定後,雖然在 tty2~tty6 的確可以把 Caps Lock 映射成 Control
但問題是:
一旦按下Caps Lock,似乎會維持壓下 Control 鍵的狀態
造成後續用鍵盤輸入時,都會是有修飾的狀態
舉例來說,按下 l 會把畫面清空,按下 d 則會退出 shell
為了排除問題,自己也使用過 showkey 指令
確認過壓下 Caps Lock 鍵時輸出是:
keycode 58 press
keycode 58 release
我作業的機器是筆電(LG gram 14"),
distro 是 Arch based 的 Archcraft
想請教版友到底是什麼地方出了問題呢?