使用 xmodmap 重新映射已经绑定的键

使用 xmodmap 重新映射已经绑定的键

我最近买了一台 17 英寸的 LG Gram,我想重新映射一些按键,使其更像我的 80% 键盘。使用平铺窗口管理器 (qtile),在键盘的左侧和右侧各有一个 Super 键很不错,但目前只有左侧有一个 Super 键。

因此,我想做的是将 Control_R 重新映射为 Super_R,并将键盘 0(也是“Insert”键)重新映射为 Control_R。(我仍然可以访问顶行的 0)。

我尝试了以下几个不同的例子这里没运气。使用xev我发现右控制键是keycode 105,小键盘 0(插入)键是keycode 90。请注意,keycode 90无论是否按下 NumLk 键,小键盘 0(插入)键都是。

所以我尝试过

keycode 90 = Control_R
keycode 105 = Super_R

这不起作用,因为有些键需要取消映射。所以我试过了

clear Control
keycode 37 = Control_L
keycode 90 = Control_R
keycode 105 = Super_R

然后这个新的 Super_R 就可以正常工作了,但是两个控件都不起作用。现在我不一定指望这个新的 Control_R 可以在新映射的键上工作,因为键盘 0(插入键)还没有取消映射,但是为什么它不起作用呢Control_L

我也尝试过

clear Control
keycode 37 =
keycode 37 = Control_L
keycode 90 = Control_R
keycode 105 = Super_R

但没有运气。

因此,在取消映射 Control 后,我想要 (a) 将 Control_L 映射回原来的状态,以及 (b) 取消映射小键盘 0(插入)键并将其映射到 Control_R。

答案1

这招奏效了:

clear Control
keycode 37 = Control_L
keycode 90 = Control_R
keycode 105 = Super_R
add Control = Control_L Control_R

顺序也很重要。我原本把它放在keycode 105 = Super_R最后,但我不得不把它移到最后一行的前面。

Arch wiki 条目很有帮助。

相关内容