Mi panel táctil está siendo reconocido como un mouse genérico y está creando muchos problemas con las cosas cotidianas. Probé varias distribuciones, incluidas Ubuntu (16.04, 16.10, 17.04), Arch y actualmente Manjaro.
No puedo hacer zoom y cuando voy a escribir algo, el más mínimo toque hará que el panel táctil reconozca un clic, desviando el foco de lo que estaba haciendo. En mi modelo anterior, podía desactivarlo configurando maxTapTime=0
.
Estoy usando un Acer Aspire V5-573G. ¿Existe alguna forma de lograr que el sistema reconozca el panel táctil como un panel táctil y no como un mouse? Por lo que he leído, es posible que tenga que esperar a que el kernel agregue soporte. Si ese es el caso, ¿cómo lo fomento? ¿Puedo escribir mis propios controladores? Si es así, ¿alguien podría indicarme la dirección correcta? ¡Gracias de antemano!
Proporcioné algunos resultados, pero no estoy seguro de si son suficientes, así que avíseme si me falta algo.
uname -a
Linux brandyn-laptop 4.9.20-1-MANJARO #1 SMP PREEMPT Fri Mar 31 17:49:34 UTC 2017 x86_64 GNU/Linux
xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ImPS/2 Generic Wheel Mouse id=13 [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)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ HD WebCam id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ Acer WMI hotkeys id=14 [slave keyboard (3)]
lspci
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 1 (rev e4)
00:1c.2 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4)
00:1c.4 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 5 (rev e4)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
01:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (rev a1)
04:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01)
05:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTL8411B PCI Express Card Reader (rev 01)
05:00.1 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 14)
udevadm info -q path -n /dev/input/event16
/devices/platform/i8042/seriol/input/input9/event16
Respuesta1
Tiene un panel táctil conectado al puerto del mouse PS/2 (controlador Linux i8042, llamado así por el chip original), por lo que se detecta automáticamente como mouse genérico.
Intente utilizar el controlador Synaptics (paquetes xf86-input-synaptics
, xserver-xorg-input-synaptics
etc. según la distribución), como se recomienda, por ejemploaquí.
Busque /dev/input/by-path/
e identifique el enlace simbólico que es similar a la ruta del dispositivo que acaba de encontrar y los enlaces a su actual /dev/input/eventX
para el panel táctil. No se garantiza que los números de los dispositivos de entrada sean estables entre arranques (aunque a menudo lo son), por lo que es mejor utilizar dicho enlace simbólico.
Cree un xorg.conf
archivo (la ruta estándar es /etc/X11/xorg.conf
) con la siguiente sección
Section "InputClass"
Identifier "touchpad"
Driver "synaptics"
MatchIsTouchpad "1"
MatchDevicePath "/dev/input/by-path/path_to_your_touchpad"
EndSection
Agregue Option
parámetros para configurarlo. Mire /var/log/Xorg.0.log
después de reiniciar X o reiniciar para ver si todo funciona.
Lea la página de manual del controlador y busque en Google "controlador Synaptics de Linux", etc. para obtener más información.
Editar:
Si no hay ningún enlace simbólico /dev/input/by-path
en el número cambia al reiniciar, intente /dev/input/by-id
. Si esto tampoco funciona, necesitas una udev
regla. Hacer
udevadm info -a -p /devices/platform/i8042/seriol/input/...
con la ruta actual, esto recorrerá el árbol de rutas y mostrará los atributos que puede usar para identificarla. Cree un nuevo udev
archivo de reglas, en mi sistema sería algo así como /etc/udev/rules.d/70-acer-touchpad.rules
y su regla probablemente se verá así
ACTION=="add", SUBSYSTEMS=="serio", ATTRS{foo}=="foo", ATTRS{bar}="bar", SYMLINK+="input/by-id/acer-touchpad"
Los detalles dependen de su sistema y de los atributos que ve, y necesitarán ajustes hasta que funcione. Google "escribe la regla udev" para tutoriales, etc., y man udevadm
.
Editar
Según la udevadm
salida,
looking at parent device '/devices/platform/i8042/serio1/input/input7':
KERNELS=="input7"
SUBSYSTEMS=="input"
DRIVERS==""
ATTRS{name}=="ImPS/2 Generic Wheel Mouse"
ATTRS{phys}=="isa0060/serio1/input0"
ATTRS{properties}=="1"
ATTRS{uniq}==""
looking at parent device '/devices/platform/i8042/serio1':
KERNELS=="serio1"
SUBSYSTEMS=="serio"
DRIVERS=="psmouse"
ATTRS{bind_mode}=="auto"
ATTRS{description}=="i8042 AUX port"
ATTRS{firmware_id}==""
ATTRS{protocol}=="ImPS/2"
ATTRS{rate}=="100"
ATTRS{resetafter}=="5"
ATTRS{resolution}=="200"
ATTRS{resync_time}=="0"
Yo lo intentaría ATTRS{phys}=="isa0060/serio1/input0"
primero. Quizás necesites cambiar SUBSYSTEMS=="serio"
a SUBSYSTEMS=="input"
si no funciona.