¿Cómo hacer que Linux reconozca un panel táctil no identificado?

¿Cómo hacer que Linux reconozca un panel táctil no identificado?

El Lenovo Yoga 720 tiene un panel táctil que aparece en lsusb con un ID de bus de 06cb:0081. 06cb es el ID del proveedor de Synaptics. Una búsqueda rápida en Google de esa cadena no arroja resultados, excepto otras personas que intentan hacer funcionar el panel táctil en el 720.

Esto me lleva a creer que se trata de un dispositivo nuevo. Esta máquina salió hace solo un par de meses y probablemente no aparezca en ninguna tabla de ID de dispositivos que utilice libinput o algún otro controlador para hacer coincidir los dispositivos con sus funciones. Pensaría que un módulo de mouse genérico proporcionaría alguna funcionalidad, pero este no es el caso.

¿Existe algún lugar donde pueda decirle a Linux que haga coincidir ese ID de bus con el controlador del panel táctil? De la lectura que he hecho sobre esto, parece que los controladores del panel táctil generalmente se realizan fuera del nivel del kernel y a través del servidor X, y a través de libinput usando uinput.

Entonces, si alguien tiene alguna idea o sugerencia, compártala.

Algunos otros detalles:

El único lugar donde parece aparecer cualquier cosa relacionada con el panel táctil es 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

La salida de xinput --list es:

⎡ 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)]

La salida de cat /proc/bus/input/devices es

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

Respuesta1

Tengo la misma máquina, el panel táctil es en realidad un dispositivo ELAN651, conectado al bus I2C. La identificación del USB que ves es la del lector de huellas digitales.

La compatibilidad con este panel táctil se agregó al kernel recientemente, alrededor de 4.14, consulte el hilo relacionado:https://www.reddit.com/r/Lenovo/comments/6ebgbc/with_the_yoga_720_15_touchpad_not_working_on_linux/. Con la versión correcta del kernel, debería funcionar de inmediato.

Respuesta2

Si se trata de un panel táctil Synaptics, podría darle una oportunidad al controlador Synaptics. Instálalo con:

$ sudo pacman -S xf86-input-synaptics

Luego puede copiar el archivo de configuración predeterminado para utilizarlo:

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

Esto es lo que me ayudó en un caso similar. Fuente:wiki de arch linux

La secciónEl dispositivo con panel táctil no está ubicado en /dev/input/*A mi también me ha ayudado.

información relacionada