我正在尝试重新映射我的鼠标按钮,两侧的按钮并单击鼠标中键到键盘上的 4、5、6 键,找到了一些指南,但我对 Ubuntu 和 linux 总体上还是很陌生,我尝试这样做几天了但无济于事..有人可以指导我完成那个或指向我一些菜鸟可以遵循的综合指南吗?任何帮助将不胜感激。
这个问题基本上有两种方法:
或者
后者仅在输入驱动程序报告特定按钮的扫描码时才有效。我拥有的所有鼠标都报告除滚轮之外的所有按钮的扫描码。
我个人更喜欢重新映射扫描码,所以我只会解释这种方法。
这或多或少与我在此处描述的过程相同。
运行sudo evtest
(您可能必须先安装evtest
)并选择鼠标。按下要重新映射的按钮(如果没有看到任何输出,请按Ctrl+C并重复该过程,直到找到鼠标)。输出应包含如下所示的行:
Event: time 1558613958.149431, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90004
Event: time 1558613958.149431, type 1 (EV_KEY), code 275 (BTN_SIDE), value 1
Event: time 1558613958.149431, -------------- SYN_REPORT ------------
Run Code Online (Sandbox Code Playgroud)
第一行告诉我们扫描码(在我的情况下90004
),第二行报告当前映射的键码(在我的情况下BTN_SIDE
)。记下要重新映射的所有鼠标按钮的扫描码。
现在运行以下命令,其中 eventX 是您在使用时选择的命令evtest
:
grep "" /sys/class/input/eventX/device/id/*
Run Code Online (Sandbox Code Playgroud)
这会告诉您鼠标的总线类型、供应商、产品和版本。在我的情况下,输出是:
/sys/class/input/event7/device/id/bustype:0003
/sys/class/input/event7/device/id/product:4102
/sys/class/input/event7/device/id/vendor:062a
/sys/class/input/event7/device/id/version:0110
Run Code Online (Sandbox Code Playgroud)
现在创建以下文件:
/etc/udev/hwdb.d/99-mouse-remap.hwdb
evdev:input:b[bustype]v[vendor]p[product]e[version]*
ID_INPUT_KEY=1
KEYBOARD_KEY_[scancode]=4
KEYBOARD_KEY_[scancode]=5
KEYBOARD_KEY_[scancode]=6
Run Code Online (Sandbox Code Playgroud)
...在哪里
evdev:...
行没有前面的空格KEYBOARD_KEY...
行前面正好有一个空格对于我的鼠标,该文件将如下所示:
evdev:input:b0003v062Ap4102e0110*
ID_INPUT_KEY=1
KEYBOARD_KEY_90003=4
KEYBOARD_KEY_90004=5
KEYBOARD_KEY_90005=6
Run Code Online (Sandbox Code Playgroud)
现在运行sudo systemd-hwdb update
并重新启动。
归档时间: |
|
查看次数: |
3179 次 |
最近记录: |