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

Tho*_*sen 9 gnome keyboard

这仍然是开放的 - 我没有找到解决方案。我将给予解决这个问题的人新的赏金!

\n

\xe2\x80\x94\xe2\x80\x94-

\n

我有一个 HP 655 键盘,它有一些怪癖。其中之一是因为在退格键上方有一个键,当我键入它时,我总是不小心按下该键,它会打开所有内容 \xe2\x80\x9cSettings\xe2\x80\x9d。

\n

在此输入图像描述

\n

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

\n

我应该如何处理这个问题?

\n

Aja*_*jay 5

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

\n

安装

\n

命令行:

\n

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

\n
sudo apt install input-remapper\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n
sudo apt install git python3-setuptools gettext\ngit clone https://github.com/sezanzeb/input-remapper.git\ncd input-remapper && ./scripts/build.sh\nsudo apt install -f ./dist/input-remapper-2.0.1.deb\n
Run Code Online (Sandbox Code Playgroud)\n

注意:输入重新映射器 \xe2\x89\xa5 2.0 至少需要 Ubuntu 22.04。

\n

图形用户界面:

\n

您可以在 Ubuntu 上的软件中心(或应用程序中心)中找到该软件。

\n

应用程序中心屏幕截图

\n

界面

\n

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

\n

图形用户界面设备

\n

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

\n

在上图中,您必须添加:

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

另外,不要忘记将此软件添加到启动应用程序并启用“自动加载”选项,以便在您登录系统后它会自动映射密钥。

\n

启动应用程序

\n


Arc*_*ahi 2

您可以使用keyd。它是一个关键的重新映射工具。

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

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
Run Code Online (Sandbox Code Playgroud)

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

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

[ids]
0001:0001

[main]
name_of_the_key_you_found = backspace
Run Code Online (Sandbox Code Playgroud)

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


Raf*_*ffa 2

在 Wayland 上,xmodmap似乎不再有效,但XKB是......这是我刚刚在我的系统上所做的:

/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
Run Code Online (Sandbox Code Playgroud)

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

sudo gedit /usr/share/X11/xkb/symbols/inet
Run Code Online (Sandbox Code Playgroud)

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

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

...

#  key <I256>   {       [ XF86AudioMicMute               ]      }; // KEY_MICMUTE
   key <I256>   {       [ BackSpace                      ]      }; // KEY_MICMUTE_REMAPED
Run Code Online (Sandbox Code Playgroud)

...不理会其余的其他行...然后,保存文件并注销用户当前的桌面会话,然后再次登录...并且,瞧,我的麦克风静音键现在重新映射为BackSpace 键。

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

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

setxkbmap -print -verbose 10
Run Code Online (Sandbox Code Playgroud)

...它给出这样的输出:

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)" };
};
Run Code Online (Sandbox Code Playgroud)

...其中每个include部分旁边的每个例如xkb_symbols指的是该部分的相关文件名,例如 pcusinet