当前位置: 首页>>技术教程>>正文


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

问题描述

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

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

最佳方案

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

  • 从命令行

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

    xmodmap .xmodmaprc
    

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

现在的命令

您要做的是一个two-step进程。首先,从其修改器取消映射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

分配给超级

次佳方案

命令行:

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

或放入~/.Xmodmap以在启动时激活:

remove mod4 = Super_L
add control = Super_L

第三种方案

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

XKBOPTIONS = “altwin:ctrl_win”

哪一个:

Ctrl is mapped to Win keys (and the usual Ctrl keys)

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

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

第四种方案

如果要使用GUI:

  1. 安装/打开Gnome调整

  2. 点击Keyboard & Mouse

  3. 点击Additional Layout Options

  4. 展开Ctrl position

  5. 选择Swap Left Win with Left Ctrl

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11700.html,未经允许,请勿转载。