在 i3wm 中仅使用左 alt 作为修饰符?

在 i3wm 中仅使用左 alt 作为修饰符?

是否有可能仅将修饰符设置为左 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是不是这样。

相关内容