将此键重新映射到退格键?

将此键重新映射到退格键?

这个问题还没有解决——我还没找到解决方案。我会给解决这个问题的人新的赏金!

——-

我有一个 HP 655 键盘,它有一些怪癖。其中之一就是在退格键上方有一个键,我在打字时总是不小心按到它,然后它就会打开“设置”菜单。

在此处输入图片描述

xev这很烦人,所以我想重新映射它。不是即使“设置”已启动,仍会报告关键活动事件,这表明这需要 xmodmap 以外的其他内容。 showkey报告为 183。

我该如何处理这个问题?

答案1

我建议你尝试一下输入重映射器软件。它们提供了图形用户界面用于映射您的按键,它可以识别几乎所有的按钮(甚至是我的鼠标中没有注册任何点击的额外按钮xbindkeys)并显示在此应用程序中。

安装

命令行:

input-remapper在 Ubuntu 存储库中可用,因此您可以通过打开终端并运行来安装:

sudo apt install input-remapper

但是,此存储库中的版本比当前版本略有落后。例如,适用于 Ubuntu 22.04(最新 LTS)的版本是 1.4.0,而最新版本(撰写本文时)是 2.0.1。要安装最新版本,根据项目的 README,运行这些命令(针对最新版本进行适当调整):

sudo apt install git python3-setuptools gettext
git clone https://github.com/sezanzeb/input-remapper.git
cd input-remapper && ./scripts/build.sh
sudo apt install -f ./dist/input-remapper-2.0.1.deb

注意:Input-remapper ≥ 2.0 至少需要 Ubuntu 22.04。

图形用户界面(GUI):

您可以在软件中心(或者应用中心) 在 Ubuntu 上。

应用中心截图

界面

在 GUI 中,软件将列出连接到您的 PC 的所有设备,如下所示:

GUI 设备

选择设备后,您将看到一个编辑密钥的窗口: 键映射器

在上图中,你必须添加:

  • 改名:为映射配置文件添加名称,然后按右侧的向下箭头按钮
  • 添加:使用该按钮为您的配置文件创建新的键盘映射。如果您之前已经设置了映射,则可能需要停止注入。
  • 记录:按下此按钮并在键盘上录制您的麦克风键。
  • 输出:您现在可以在窗口右侧的输出部分映射新键。您可以参考项目的用法部分包含几个关键输入。
  • 申请:单击此按钮并打开自动加载,以便在软件启动后激活配置文件。

另外,不要忘记将此软件添加到启动应用程序以及启用自动加载选项,这样一旦您登录系统它就会自动映射密钥。

启动应用程序

答案2

您可以使用密钥.它是一个按键重新映射工具。

要安装它,请逐个运行以下命令。

sudo apt install build-essential
git clone https://github.com/rvaiya/keyd
cd keyd
make && sudo make install
sudo systemctl enable keyd && sudo systemctl start keyd

首先,运行sudo keyd monitor并按下您要重命名的键以了解其名称。我将称之为name_of_the_key_you_found

/etc/keyd/default.conf然后,创建包含以下内容的文件。

[ids]
0001:0001

[main]
name_of_the_key_you_found = backspace

最后,运行命令sudo keyd reload以使更改生效。

答案3

在 Wayland 上,xmodmap似乎不再有效,但是星火是......下面是我刚刚在我的系统上所做的:

首先,我搜索了以下文件/usr/share/X11/xkb/这就是你的键盘数据定义的地方)作为我的键盘麦克风静音键的名称,即XF86AudioMicMute这些多媒体键有名称,请参阅下面的其他链接答案)像这样:

$ grep -r -i 'XF86AudioMicMute' /usr/share/X11/xkb/
/usr/share/X11/xkb/symbols/inet:    key <FK20>   {      [ XF86AudioMicMute      ]       };
/usr/share/X11/xkb/symbols/inet:   key <I256>   {       [ XF86AudioMicMute               ]      }; // KEY_MICMUTE

...显示文件中的两行/usr/share/X11/xkb/symbols/inet,然后我像这样编辑该文件:

sudo gedit /usr/share/X11/xkb/symbols/inet

...然后,注释掉上面的两行并将每一行复制在其下面,将其更改为如下所示:

#   key <FK20>   {      [ XF86AudioMicMute      ]       };
    key <FK20>   {      [ BackSpace             ]       }; // KEY_MICMUTE_REMAPED

...

#  key <I256>   {       [ XF86AudioMicMute               ]      }; // KEY_MICMUTE
   key <I256>   {       [ BackSpace                      ]      }; // KEY_MICMUTE_REMAPED

... 其余行保持不变...然后,保存文件并退出用户当前的桌面会话,然后重新登录...瞧,我的麦克风静音键现在重新映射为 BackSpace 键。

如果您想了解有关多媒体键的更多信息,请参阅我的其他 (老的)在这里回答

还值得注意的是,你可以进一步限制感兴趣的文件,/usr/share/X11/xkb以修改当前活动键盘的当前活动布局中的任何键setxkbmap用法如下:

setxkbmap -print -verbose 10

...输出如下:

Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc105
layout:     us
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us+inet(evdev)
geometry:   pc(pc105)
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us+inet(evdev)" };
    xkb_geometry  { include "pc(pc105)" };
};

...include每个部分旁边都有例如xkb_symbols指的是与该部分相关的文件名 pc,例如usinet

相关内容