如何将超级(左)键重新映射到控制键


26

谁能告诉我如何将我的Super(左)键重新映射到Ctrl键?

我的意思是Super(左)应该作为Ctrl关键。


您是否只希望左超级键充当Ctrl?从“键盘布局”设置中一次重新映射很容易,但是只需要通过配置文件进行一次更改即可。
pconley

是的,我想只剩Super键充当Ctrl键..

超级键是否指向我的键盘上具有MS Windows徽标的键,该键位于Left ctrl和left alt / right alt gr之间,以及另一个带有奇怪徽标的键?
勒内Nyffenegger

1
@RenéNyffenegger超级键是WindowsPC键盘上的键和CommandApple键盘上的键。我不确定您所描述的另一个关键是什么
nhed

Answers:


28

要对键盘进行重大更改(包括重新映射字符和更改修饰符),您需要使用xmodmap实用程序-see man xmodmap。有两种执行更改的方法:

  • 从命令行

    xmodmap -e "your commands"
    
  • 或将命令写入文件,例如.xmodmaprc,然后在您的登录项或.bashrc中执行

    xmodmap .xmodmaprc
    

    如果您命名文件~/.xmodmap,它将在登录时自动执行。

现在的命令

您要做的是一个两步过程。首先,从其修改器取消映射Super,然后将其映射到控件。

  1. xmodmap -pm在终端窗口中运行,以获取绑定修饰符的列表。在我的机器(可能是您的机器)上,Super称为mod4Super_LSuper_R是输出相同修饰符的单独键。

    现在,您可以从中取消映射修改器。运行xmodmap命令(使用上述方法之一)

    remove mod4 = Super_L
    

    现在,物理密钥在内部仍称为Super_L,但它没有任何作用。

  2. 现在,只需重新映射即可。运行xmodmap命令:

    add control = Super_L
    

如果要稍后撤消此操作,只需使用适当的参数运行相同的命令。

没有Super_R?

xmodmap -pm的输出可能会给您几个名为Super_L的键,但没有一个名为Super_R的键。如果是这样,您现在将有几个额外的键分配给Control,但没有一个分配给Super。您必须重命名一个密钥。(注意:它可能会给您几个Super_L和至少一个Super_R。这很好。)

该表中的键名称旁边都有一个十六进制数字,括号内为十六进制数字。该数字是键盘上按键的物理键码(可能因​​型号而异)。如果您需要将一个Super_L更改为Super_R,请首先找到要与Super_R关联的键码(不确定哪个是正确的键码?运行,xev然后点按两次正确的Super。在输出迷宫中的某个位置是“键码= 133“(使用其他数字)。运行xmodmap命令

keycode 133 = Super_R

重命名密钥,然后

add mod4 = Super_R

分配给超级。


首先感谢您为我花费时间。当我在终端中键入“ remove mod4 = Super_L”时,我收到以下消息:remove mod4 = Super_L:命令未找到。截图:i.imgur.com/fbvEA.png
桑迪

1
这是xmodmap实用程序的命令。您必须通过我在第一部分中给出的一种方法来运行它。我已经编辑了答案,以使其更加清晰。
pconley

您能否也请告诉我如何在启动时运行这些命令?
桑迪2012年

登录时或系统启动时?如果是前者,只需将命令放在主目录中的文件“ .xmodmap”中;后者将更适合于“我如何在启动时执行脚本”这一类的单独问题(此类问题以前曾被问过)。
pconley

对我来说,没有keyum就无法工作。 keysym Super_L = Control_L
Aliaksandr Sushkevich

19

命令行:

xmodmap -e "remove mod4 = Super_L"
xmodmap -e "add control = Super_L"

~/.Xmodmap在启动时投入激活:

remove mod4 = Super_L
add control = Super_L

4

在Ubuntu上,您可以编辑/etc/default/keyboard和设置:

XKBOPTIONS =“ altwin:ctrl_win”

哪一个:

Ctrl映射到Win键(和通常的Ctrl键)

阅读man 5 keyboard以获取更多信息。您可以通过执行以下操作找到系统上所有可能的选项组合:

grep alt /usr/share/X11/xkb/rules/evdev.lst | grep win

2

如果要使用GUI:

  1. 安装/打开Gnome调整
  2. 请点击 Keyboard & Mouse
  3. 请点击 Additional Layout Options
  4. 扩大 Ctrl position
  5. 选择 Swap Left Win with Left Ctrl

1

试试这个:

clear Control
clear mod4
remove Control = Control_L Control_R
remove mod4 = Super_L Super_R
add Control = Super_L

将以上各行放入您的计算机~/.Xmodmap并执行xmodmap ~/.Xmodmap

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.