Xmodmap
如何使用 Xmodmap 可移植且冪等地將 Caps Lock 映射為撰寫鍵?
我似乎找不到
Caps Lock
正確用作撰寫鍵的方法。有些方法是不可移植的,因為它們要求您xev
在每個主機上使用類似的東西來檢測密鑰編號。其他方法會導致 a~/.Xmodmap
which 不能xmodmap
多次傳遞而不會出現bad keysym
類似錯誤。這使得很難測試對文件的更改。有沒有辦法做到這一點~/.Xmodmap
?
您遇到冪等性問題,因為您使用
keysym
的是keycode
. 可以將keycode
其視為對功能的鍵分配,而keysym
只是從功能名稱到實際功能的連結。當您按如下方式使用keysym時:
keysym Caps_Lock = Multi_key
你基本上刪除了名字
Caps_Lock
。因此,下次您執行xmodmap
並在同一行中引用Caps_Lock
時,它會變得混亂。正確的做法是直接重新分配鍵碼,如下所示:
keycode 66 = Multi_key
例如,您可以從
xev
命令中獲取密鑰程式碼。