如何使我的 Alt_R 在 Linux 上充当另一个控件

如何使我的 Alt_R 在 Linux 上充当另一个控件

我想将右 Alt 用作另一个 Control 键以与 Emacs 一起使用。

我尝试按照(经过修改)本教程进行操作:http://earthviaradio.wordpress.com/2012/02/06/swapping-the-left-alt-and-ctrl-keys-in-ubuntu-11-10/

现在我的 .Xmodmap 文件中有这个:

clear control
keycode 108 = Control_R
add control = Control_L Control_R

在我重新启动 X.org 后,它似乎对按键的行为没有影响。键 108 仍然用作 Alt。但是当我使用,我可以清楚地看到我的更改。当我按下右 Alt 时,我得到了以下内容:

keycode 108 (keysym 0xffe4, Control_R)

它似乎“知道”我的更改,但却不尊重它们。

答案1

如果您和我一样不幸,无法让 xmodmap 将右 Alt 键与右 Ctrl 键切换,那么也许这会有所帮助。

如果您按下右 Alt 和 e 并得到 é 那么此解决方案适合您(需要改进)。

在终端中运行此命令(使用 xev 检查你的键码):

xmodmap -e "keycode 108 = Alt_R Meta_R Alt_R Meta_R"

然后将此代码放入你的 .Xmodmap 中:

remove Control = Control_R
remove Mod1 = Alt_R
keycode 105 = Alt_R
keycode 108 = Control_R
add Control = Control_R
add Mod1 = Alt_R

此代码将您的 Alt_Gr 键设置为 Alt_R,然后将 Alt_r 与 Ctrl_R 交换。

如果您希望在注销后仍保留此信息,请将以下命令放入任何启动 shell 文件中,例如 ~/.profile:

if [ -f $HOME/.Xmodmap ]; then
  xmodmap -e "keycode 108 = Alt_R Meta_R Alt_R Meta_R"
  /usr/bin/xmodmap $HOME/.Xmodmap
fi

来源:问题1 问题2

答案2

好的,在这里找到了正确答案https://askubuntu.com/questions/237564/remap-right-alt-to-behave-as-right-ctrl

我现在将发布我在 .Xmodmap 中拥有的内容,因为我想要的与链接的问题略有不同。我不想解除右 Ctrl 的绑定,只想添加另一个(右 Alt)。

remove Mod1 = Alt_R
keycode 108 = Control_R
add Control = Control_R

这是我能想到的对键盘影响最小的。它所做的只是解除 Alt_R 的绑定并将 Control_R 绑定到同一个键。这应该适用于任何 Linux,而不仅仅是 Ubuntu,正如链接的问题。我在 Ubuntu、Fedora 和 OpenSUSE 上进行了测试。

相关内容