如何映射鼠标上的扩展按钮?

如何映射鼠标上的扩展按钮?

我正在尝试跟随本指南使用 Logitech G600。我(使用 Windows 计算机)将鼠标上的每个组合键映射到普通键盘上的某个组合。我在 /etc/udev/hwdb.d/ 中设置了一些规则,将扫描码映射到一些扩展键码(发现这里)。所有这些都工作正常,除了 X 无法识别大于 255 的键码。因此,该行

 KEYBOARD_KEY_7001d=zenkakuhankaku

导致鼠标按钮吐出键码 400(通过 showkey)并且 xev 根本无法识别该键。

我还尝试运行xmodmap -pke | grep "= XF86"以显示应该可用的小于 255 的键码,但无法弄清楚如何将扫描码映射到这些键码(即将KEYBOARD_KEY_7001d=XF86Explorer键映射到“z”)。

有没有办法将扫描码直接映射到数字键码(在 hwdb 文件中 - 我不想将发出字母“a”的所有内容映射到 XF86Calculator)?

是否有其他方法可以将扫描代码映射到未使用的 XF86 代码之一?

答案1

好的,这就是我最终所做的。我从 /usr/include/linux/input.h 中提取了实际的键名称。有一个部分定义了键码名称,如下所示:

#define KEY_RIGHTMETA           126
#define KEY_COMPOSE             127
#define KEY_STOP                128     /* AC Stop */
#define KEY_AGAIN               129
#define KEY_PROPS               130     /* AC Properties */

我使用 KEY_xxx 中的小写 xxx(例如“compose”、“stop”等)作为键名。我选择了看起来不会真正在其他地方使用的东西(例如 KEY_LEFTCTRL)。

然后,就像链接的文章建议的那样,我曾经xbindkeys -km获取适当的键码编号并使用 xbindkeys 来映射它们。

相关内容