下面代碼是alt與cotrol互換,CapsLock改為Control。
~
目錄中創建.Xmodmap
文件把下面的代碼填進去
clear Lock
clear Control
clear mod1
keycode 37 = Alt_L Meta_L
keycode 105 = Alt_R Meta_R
keycode 64 = Control_L
keycode 108 = Control_R
keycode 66 = Control_L
add control = Control_L Control_R
add mod1 = Alt_L Meta_L
add Lock = Caps_Lock
然后在終端輸入xmodmap ~/.Xmodmap
就可以了
原理講解
鍵盤某個鍵位按下去之后會向Linux系統發送一個code,該code是不可更改的。
linux系統輸入一個字符,比如a,是系統調用某個函數實現的。
鍵盤的code與系統的輸入函數之間存在映射,比如當按下鍵盤的a,代表a的code與系統輸入字符a的函數映射調用,系統就輸入了字符a。
划重點!!!我們可以手動指定鍵盤按鍵code與系統輸入函數之間的映射,比如把a的code映射到系統輸入字符b的函數,那么按下鍵盤的a就會輸入字符b。
另外,control、alt等按鍵,多了一個叫“修飾符”的概念,keycode綁定到系統輸入函數后,函數還要和修飾符綁定才行
!清除修飾符 Lock上的所有函數綁定
clear Lock
clear Control
clear mod1
!綁定keycode與函數調用
keycode 37 = Alt_L Meta_L
keycode 105 = Alt_R Meta_R
keycode 64 = Control_L
keycode 108 = Control_R
keycode 66 = Control_L
!與清除對應,重新添加,添加修飾符control與函數Control_L Control_R的綁定
add control = Control_L Control_R
add mod1 = Alt_L Meta_L
add Lock = Caps_Lock
參考
http://xahlee.info/linux/linux_swap_control_and_alt_xmodmap.html
https://wiki.archlinux.org/index.php/Xmodmap_(簡體中文)#特殊的按鍵