联想 T440s 上的 Logitech R400,Ubuntu 14.04 无法正确识别

联想 T440s 上的 Logitech R400,Ubuntu 14.04 无法正确识别

我想在运行 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

  1. 创建新的hwdb文件:

    sudo nano /etc/udev/hwdb.d/70-keyboard.hwdb
    
  2. 把这个放进去:

    keyboard:usb:v0E00p0111d*dc*dsc*dp*ic*isc*ip*in00*
    KEYBOARD_KEY_070029=f5
    KEYBOARD_KEY_07004b=left
    KEYBOARD_KEY_07004e=right
    
  3. Ctrl+O保存然后Ctrl+X退出。

  4. 更新 udev 数据库

    sudo udevadm hwdb --update
    
  5. 重启

答案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

相关内容