如何让Linux识别未识别的触摸板?

如何让Linux识别未识别的触摸板?

Lenovo Yoga 720 的触摸板显示在 lsusb 中,总线 ID 为 06cb:0081。 06cb 是 Synaptics 的供应商 ID。在 Google 上快速搜索该字符串没有得到任何结果,除了其他人试图让触摸板在 720 上正常工作之外。

这让我相信这是一个新设备。这台机器几个月前才问世,可能没有列在 libinput 或其他驱动程序用于将设备与其功能进行匹配的任何设备 ID 表中。我认为通用鼠标模块会提供一些功能,但事实并非如此。

是否有地方可以告诉 Linux 将总线 ID 与触摸板驱动程序相匹配?从我对此所做的阅读来看,触摸板驱动程序通常是在内核级别之外通过 X 服务器并使用 uinput 通过 libinput 完成的。

因此,如果有人有任何想法或建议,请分享。

其他一些细节:

唯一与触摸板相关的地方似乎出现是lsusb

 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 13d3:5621 IMC Networks 
Bus 001 Device 004: ID 06cb:0081 Synaptics, Inc. 
Bus 001 Device 003: ID 0cf3:e300 Qualcomm Atheros Communications 
Bus 001 Device 007: ID 046d:c245 Logitech, Inc. G400 Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

xinput --list 的输出是:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Wacom HID 50F8 Finger                     id=12   [slave  pointer  (2)]
⎜   ↳ Logitech Gaming Mouse G400                id=15   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
   ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
   ↳ Power Button                              id=6    [slave  keyboard (3)]
   ↳ Video Bus                                 id=7    [slave  keyboard (3)]
   ↳ Video Bus                                 id=8    [slave  keyboard (3)]
   ↳ Power Button                              id=9    [slave  keyboard (3)]
   ↳ EasyCamera                                id=10   [slave  keyboard (3)]
   ↳ Wacom HID 50F8 Pen                        id=11   [slave  keyboard (3)]
   ↳ Ideapad extra buttons                     id=13   [slave  keyboard (3)]
   ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]

cat /proc/bus/input/devices 的输出是

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input0
U: Uniq=
H: Handlers=sysrq kbd leds event0  
B: PROP=0
B: EV=120013
B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0019 Vendor=0000 Product=0005 Version=0000
N: Name="Lid Switch"
P: Phys=PNP0C0D/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:17/PNP0C0D:00/input/input1
U: Uniq=
H: Handlers=event1  
B: PROP=0
B: EV=21
B: SW=1

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=PNP0C0C/button/input0                                                                  
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2                              
U: Uniq=                                                                                       
H: Handlers=kbd event2                                                                         
B: PROP=0                                                                                      
B: EV=3                                                                                        
B: KEY=10000000000000 0                                                                        

I: Bus=0019 Vendor=0000 Product=0001 Version=0000                                              
N: Name="Power Button"                                                                         
P: Phys=LNXPWRBN/button/input0                                                                 
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
U: Uniq=
H: Handlers=kbd event3  
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="Ideapad extra buttons"
P: Phys=ideapad/input0
S: Sysfs=/devices/pci0000:00/0000:00:1f.0/PNP0C09:00/VPC2004:00/input/input4
U: Uniq=
H: Handlers=kbd rfkill event4  
B: PROP=0
B: EV=13
B: KEY=101400800100c03 400000000300000 0 2
B: MSC=10

I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name="Video Bus"
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/LNXVIDEO:00/input/input5
U: Uniq=
H: Handlers=kbd event5  
B: PROP=0
B: EV=3
B: KEY=3e000b00000000 0 0 0

I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name="Video Bus"
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:01/input/input6
U: Uniq=
H: Handlers=kbd event6  
B: PROP=0
B: EV=3
B: KEY=3e000b00000000 0 0 0

I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/devices/platform/pcspkr/input/input7
U: Uniq=
H: Handlers=kbd event7  
B: PROP=0
B: EV=40001
B: SND=6

I: Bus=0018 Vendor=056a Product=50f8 Version=0100
N: Name="Wacom HID 50F8 Pen"
P: Phys=i2c-WCOM50F8:00
S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-21/i2c-WCOM50F8:00/0018:056A:50
F8.0002/input/input8
U: Uniq=
H: Handlers=event8 mouse0  
B: PROP=2
B: EV=1b
B: KEY=1c03 0 0 0 0 0
B: ABS=1000003
B: MSC=1

I: Bus=0018 Vendor=056a Product=50f8 Version=0100
N: Name="Wacom HID 50F8 Finger"
P: Phys=i2c-WCOM50F8:00
S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-21/i2c-WCOM50F8:00/0018:056A:50
F8.0002/input/input9
U: Uniq=
H: Handlers=event9 mouse1  
B: PROP=2
B: EV=b
B: KEY=400 0 0 0 0 0
B: ABS=260800000000003

I: Bus=0003 Vendor=13d3 Product=5621 Version=1611
N: Name="EasyCamera"
P: Phys=usb-0000:00:14.0-8/button
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/input/input11
U: Uniq=
H: Handlers=kbd event10  
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH Mic"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input12
U: Uniq=
H: Handlers=event11  
B: PROP=0
B: EV=21
B: SW=10

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH Headphone"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input13
U: Uniq=
H: Handlers=event12  
B: PROP=0
B: EV=21
B: SW=4

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=3"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input14
U: Uniq=
H: Handlers=event13  
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=7"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input15
U: Uniq=
H: Handlers=event14  
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=8"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input16
U: Uniq=
H: Handlers=event15  
B: PROP=0
B: EV=21
B: SW=140

答案1

我有同样的机器,触摸板实际上是一个ELAN651设备,通过I2C总线连接。您看到的 USB ID 就是指纹识别器的 USB ID。

最近,在 4.14 左右,内核中添加了对该触摸板的支持,请参阅相关线程:https://www.reddit.com/r/Lenovo/comments/6ebgbc/with_the_yoga_720_15_touchpad_not_working_on_linux/。使用正确的内核版本,它应该可以开箱即用。

答案2

如果它是 synaptics 触摸板,您可以给 synaptics 驱动程序一个机会。安装它:

$ sudo pacman -S xf86-input-synaptics

然后,您可以复制默认配置文件以使用它:

$ cp /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d/70-synaptics.conf

这在类似的案例中对我有帮助。来源:Arch Linux 维基

这部分触摸板设备不位于 /dev/input/*也帮助了我。

相关内容