歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> xmodmap交換CapsLock和Ctrl_L以及Shift_L和Alt_L

xmodmap交換CapsLock和Ctrl_L以及Shift_L和Alt_L

日期:2017/2/28 14:48:47   编辑:Linux教程

問題

珍愛小拇指,遠離Emacs,說的就是windows下四個按鍵(CapsLock, Ctrl_L, Ctrl_L, Alt_L(從上到下,從左到右的順序))令人想起來就脊背發涼的安排。雖然吾等買不起某種動辄上千的鍵盤(hhkb),但是通過xmodmap進行簡單的按鍵映射,可以給早以不堪重負的小拇指一息喘氣的機會。

通常情況下我使用Ctrl_L和Alt_L要遠遠多於 CapsLock 和Shift_L。因為Emacs的很多快捷鍵的修飾鍵都是Ctrl_L或Alt_L(此處的“或”具有數學中“或”的意義),所以我的要求是:1)交換CapsLock和Ctrl_L;2)交換Shift_L和Alt_L。

解決方案

使用xmodmap進行按鍵映射, 首先查看Ubuntu下這幾個修飾鍵是如何映射的

xmodmap -pm

我的輸出是

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_R (0x3e),  Shift_L (0x40),  Shift_L (0xcc)
lock        Caps_Lock (0x25)
control     Control_L (0x42),  Control_R (0x69)
mod1        Alt_L (0x32),  Alt_R (0x6c),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

交換CapsLock和Ctrl_L

在自家的目錄下建立文件.Xmodmap

touch ~/.Xmodmap

然後輸入

remove Lock = Caps_Lock
remove control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add lock = Caps_Lock
add control = Control_L

即可。

交換Shift_L和Alt_L

繼續在.Xmodmap 中添加

remove shift = Shift_L
remove mod1 = Alt_L
keysym Shift_L = Alt_L
keysym Alt_L = Shift_L
add shift = Shift_L
add mod1 = Alt_L

最後log out重新log in即可。

Copyright © Linux教程網 All Rights Reserved