我想在 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。
答案1
这里的问题是你基本上删除了Windows 键从修饰符列表中使用 clear mod4
.为了有大写锁定可以作为附加修饰符使用,而不是作为窗户钥匙,您必须将其设置为不同的修饰符。您可以使用修饰符,Mod1
通过Mod5
except Control
、Shift
和Mode_switch
withi3。
首先检查您正在使用的布局中是否未使用任何修饰符(不应用您的.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 数字锁定 (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
because Hyper_L
is已经绑定到mod4
. 66 是关键代码大写锁定。这在您的机器上可能有所不同。
现在您可以将此修改器与您的i3键绑定。如果您想$mod
在配置中继续使用该变量,只需将其设置为Mod3
或Mod4
取决于您是否想使用大写锁定或者Windows 键为了那个原因。但并没有真正需要实际使用它(主要是方便在选择之间时简化首次设置)替代(Mod1
) 和Windows 键( Mod4
)。
使用新的修饰符非常简单:
bindsym Mod3+s exec something
binysym Mod3+Mod4+s exec something_else