xmodmap中的重要事情是區分鍵碼(鍵盤的原始數字),鍵盤(鍵的結尾是)和修飾符標誌(鍵盤上的標誌(不是鍵盤)),這件事情,我說的是一個shift鍵應該修改其他按鍵爲切換鍵」
讓我們來註釋這些你的榜樣‘類型’
keycode (keycode)66 = (keysym)Control_L
clear (modifier)Lock
add (modifier)Control = (keysym)Control_L
keycode (keycode)117 = (keysym)Caps_Lock
add (modifier)Lock = (keysym)Caps_Lock
現在我們可以得到一個什麼樣的每一行做一個更好的主意:
keycode 66 = Control_L
關聯與對照鍵的含義的CAPSLOCK鍵(但不是作爲改性劑)
clear Lock
將刪除以前有Lock
改性劑(作爲大寫鎖定由下式表示鍵的任意鍵的改性劑標誌代碼66最有可能有)
add Control = Control_L
控制修改加入是聯想與鍵符Control_L
(可能鍵碼66和原來左側的控制鍵)
鑰匙
keycode 117 = Caps_Lock
分配與鍵碼117作爲一個大寫鎖定鍵(我不知道什麼117,我的鍵盤上沒有一個。)
add Lock = Caps_Lock
添加Lock
修改放回Caps_Lock
keysym,以及其閃亮的新界117鍵碼。
所以,直接回答你的問題:
1。 Control_L已經映射到66,爲什麼需要在第3行添加Control?
您需要修飾符和keysym才能使修飾鍵正確充當修飾符。 (對我來說有點奇怪,但事實就是這樣)
2。當我實際添加控件時,爲什麼我必須清除鎖定?
因爲與鍵碼66相關聯的鍵仍然會在其上設置Lock
修飾符。修飾符不會被覆蓋,您必須清除它們。
3。在我實際添加Caps_Lock之前,爲什麼不清除鎖定?
你可以做到這一點,它的工作同樣出色,因爲Lock
目標的修改,這並不讓你改變的時候惹的keysyms。
xmodmap的可以是一個非常混亂的野獸來配置,這裏有一些鏈接時,試圖瞭解它,我用:
- http://cs.gmu.edu/~sean/stuff/n800/keyboard/old.html
- http://www.jwz.org/xkeycaps/man.html
- http://www.in-ulm.de/~mascheck/X11/xmodmap.html
如果有什麼我可以嘗試更清楚的,讓我知道。