是否有可能仅将修饰符设置为左 alt?
我需要写使用右 alt 的特殊字符(或者替代品),因此我不想将右 alt 绑定到 i3wm 快捷方式。
我已经使用以下方式设置了 mod:
set $mod Mod1
目前,i3wm 将两个(左和右)alt 键用作修饰符。
输出xmodmap -pm
:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), 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)
答案1
您已Alt配置右键(键码 0x6c),因此请发送mod1
修饰符,与左键相同Alt。右键Alt发送Alt_R
键符号。这意味着您的右键Alt是 Alt 键,而不是 AltGr 键。为了使该键成为 AltGr 键,您需要使其发送Mode_switch
键符号和单独的修饰符。 (如果键符号分配和修饰符分配不一致,一些应用程序将使用一种设置,一些应用程序将使用另一种设置,而另一些应用程序会表现得很奇怪。)
将这些行放入~/.Xmodmap
并安排在登录时运行xmodmap ~/.Xmodmap
。我不确定ISO_Level3_Shift
(用于在布局之间切换)分配给相同修饰符的效果;如果结果证明这是一个问题,请将其放在Mod_switch
不同的修饰符上。
keycode 108 = Mode_switch
add Mod5 = Mode_switch
如果您在会话期间更改修饰符分配,则需要重新启动一些应用程序;不知道i3wm是不是这样。