Keyboard-Shortcuts
將 Caps Lock 和 Windows 鍵重新映射為單獨的修飾符
我想在 i3wm 配置中同時使用我的
Caps Lock
密鑰和密鑰。Windows
特別是,我想在配置中Caps Lock
代替 ,$mod
並且我還希望能夠引用Windows
.bindsym
我該怎麼做?目前,我可以使用我的
Caps Lock
密鑰,$mod
但我Windows
現在也想使用我的密鑰,作為不同的修飾符。我
.Xmodmap
目前是clear Lock clear mod4 keycode 66 = Hyper_L add mod4 = Hyper_L
我的
Caps Lock
鑰匙的密碼是 133。
這裡的問題是,您實際上是在使用 .從修飾符列表中 刪除Windows 鍵
clear mod4
。為了將Caps Lock用作附加修飾符而不是替換Window 鍵,您必須將其設置為不同的修飾符。除了,和i3之外,您還可以Mod1
使用修飾符。Mod5``Control``Shift``Mode_switch
首先檢查您正在使用的佈局中是否未使用任何修飾符(不應用您的
.Xmodmap
)。您可以使用 獲取修改器設置列表xmodmap -pm
。對於us
佈局,這將返回(在我的機器上):xmodmap:每個修飾符最多 4 個鍵,(括號中的鍵碼): 移位 Shift_L (0x32)、Shift_R (0x3e) 鎖定 Caps_Lock (0x42) 控制 Control_L (0x25), Control_R (0x69) mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd) mod2 Num_Lock (0x4d) 模組3 mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
如您所見
mod3
,目前未使用。為了使用它,您只需將以下內容放入您的.Xmodmap
:清鎖 鍵碼 66 = Hyper_R 添加 mod3 = Hyper_R
**注意:**在這種情況下,我使用了
Hyper_R
因為Hyper_L
已經綁定到mod4
. 而 66 是Caps Lock的鍵碼。這在您的機器上可能會有所不同。現在您可以將此修飾符與您的i3鍵綁定一起使用。如果您想在
$mod
您的配置中繼續使用該變數,只需將其設置為Mod3
或者Mod4
取決於您是否要使用Caps Lock或Windows 鍵。但實際上並沒有真正需要使用它(主要是為了方便在Alt (Mod1
) 和Windows 鍵( )之間進行選擇時簡化首次設置Mod4
。使用新的修飾符很簡單:
bindsym Mod3+s exec something binysym Mod3+Mod4+s exec something_else