我想在运行 Ubuntu 14.04 64 位的 Lenovo T440s 上使用 Logitech R400 指针。按键存在问题,前进和后退按钮分别导致跳到第一张或最后一张幻灯片。
因此我按照上一篇文章中的说明进行操作(Xubuntu - Logitech 演示器仅部分工作)并试图找出扫描码(http://derickrethans.nl/logitech-r400-take2.html)。
由于设备未被正确识别,因此它不起作用。而不是收到类似以下内容:
lsusb
Bus 004 Device 003: ID 046d:c52d Logitech, Inc.
我得到:
Bus 002 Device 017: ID 0e00:0111
而不是
/dev/input/by-id
包含usb-Logitech_USB_Receiver-event-kbd
我有:
usb-MOUSE_USB_MOUSE-event-kbd usb-MOUSE_USB_MOUSE-event-if01-event-mouse usb-MOUSE_USB_MOUSE-event-if01-mouse
因此,该设备不被识别为 R400,因此修改/lib/udev/hwdb.d/60-keyboard.hwdb
或新建/etc/udev/hwdb.d/70-keyboard.hwdb
均无效。
有人知道为什么 R400 不能被正确识别以及如何纠正这个问题吗?
感谢您花时间考虑我的问题!
更新:
根据xinput
,指针设备是:
Virtual core pointer
-> MOUSE USB MOUSE id=17
Virtual core keyboard
->MOUSE USB MOUSE id=11
输出
./getscancodes /dev/input/event17
:Input driver version is 1.0.1 Input device ID: bus 0x3 vendor 0xe00 product 0x111 version 0x110 Input device name: "MOUSE USB MOUSE" ^[OH^[OF^[^[[15;2~b
输出
./getscancodes /dev/input/event11
:Input driver version is 1.0.1 Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0 Input device name: "HDA Intel HDMI HDMI/DP,pcm=8" ^[OH^[OF^[^[[15;2~b
但是,id=11 表示
xinput --list-props 11
它与有关/dev/input/event9
。event9 的扫描码是:Input driver version is 1.0.1 Input device ID: bus 0x3 vendor 0xe00 product 0x111 version 0x110 Input device name: "MOUSE USB MOUSE" 458827 (0x7004b) ^[OH458827 (0x7004b) 458830 (0x7004e) ^[OF458830 (0x7004e) 458981 (0x700e5) 458814 (0x7003e) ^[[15;2~458981 (0x700e5) 458814 (0x7003e) 458757 (0x70005) b458757 (0x70005)
这些部分对应于给定链接的扫描码(在 Linux 上调整 Logitech R400 演示工具)
更新:
Id是时时变化的,所以今天该设备是id=17。
该设备的扫描代码如下:
左键 ->458827 (0x7004b)
右键 ->458830 (0x7004e)
开始演示 ->458793 (0x70029)
黑屏 ->458793 (0x70029)
答案1
创建新的hwdb文件:
sudo nano /etc/udev/hwdb.d/70-keyboard.hwdb
把这个放进去:
keyboard:usb:v0E00p0111d*dc*dsc*dp*ic*isc*ip*in00* KEYBOARD_KEY_070029=f5 KEYBOARD_KEY_07004b=left KEYBOARD_KEY_07004e=right
Ctrl+O保存然后Ctrl+X退出。
更新 udev 数据库
sudo udevadm hwdb --update
重启
答案2
我知道这个问题已经很老套了,但由于我仍在使用此处提到的演示器,所以我将添加我的解决方案。我在 Archlinux 上遇到了同样的问题。它以这种方式为我工作。
创建自定义配置文件:
sudo nano /etc/udev/hwdb.d/70-keyboard.hwdb
将其放入文件并保存(正确的设备 ID 和我的扫描码):
# R400
evdev:input:v0E00p0111*
KEYBOARD_KEY_700e5=f5 # presentation button
KEYBOARD_KEY_7003e=f5 # presentation button
KEYBOARD_KEY_70005=f8 # monitor button
KEYBOARD_KEY_7004b=left
KEYBOARD_KEY_7004e=right
您可能需要调整扫描码,因为开始演示的扫描码似乎与我的不同(并且它应该显示演示按钮的两个扫描码,您必须将它们都添加)。
跑步
sudo systemd-hwdb update
和
sudo udevadm trigger