TrackPoint (Español)
TrackPoint es la marca registrada de Lenovo para el puntero en el medio del teclado. Es soportado por xf86-input-evdev y xf86-input-libinput.
El comportamiento por defecto en Xorg (Español) soporta cliquear y apuntar. Para cliquear con el botón del medio y desplazarse con el controlador evdev
se requiere configuración adicional.
Configuración en Interfaz grafica
Instale el paquete gpointing-device-settingsAUR.
Desplazamiento con el botón del medio
Al usar xf86-input-libinput, el desplazamiento con el botón del medio esta activado por defecto.
Al usar xf86-input-evdev, el desplazamiento con el botón del medio es soportado a través de xinput de el paquete xorg-xinput. Por ejemplo:
~/.xinitrc
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation" 1 xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Button" 2 xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 200 xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Axes" 6 7 4 5
- Los dispositivos pueden ser listados con
xinput --list
o hwinfo. - La linea
"Device Accel Constant Deceleration"
configura la sensibilidad del puntero.
Configuración de Xorg
Como alternativa a configurarlo en ~/.xinitrc
, también puede hacer una configuración en Xorg para el controlador evdev(4). Por ejemplo, como en /etc/X11/xorg.conf.d/20-thinkpad.conf
, reemplazando TPPS/2 IBM TrackPoint
con el nombre del dispositivo en xinput:
Section "InputClass" Identifier "Trackpoint Wheel Emulation" Driver "evdev" MatchProduct "TPPS/2 IBM TrackPoint" MatchDevicePath "/dev/input/event*" Option "EmulateWheel" "true" Option "EmulateWheelButton" "2" Option "Emulate3Buttons" "false" Option "XAxisMapping" "6 7" Option "YAxisMapping" "4 5" EndSection
Punteros con dos botones
Al usar xf86-input-libinput en los punteros de dos botones, el botón de desplazamiento se puede establecer al botón derecho sin perder funcionalidad.
Reemplazando dispositivo con el nombre en xinput
:
$ xinput set-prop "dispositivo" "libinput Button Scrolling Button" 3
Atributos en Sysfs
Los punteros exponen sus atributos con archivos en /sys/devices/platform/i8042/serio1/
. Por ejemplo, para habilitar manualmente la funcionalidad tocar-para-presionar:
# echo -n 1 > /sys/devices/platform/i8042/serio1/press_to_select
/sys/devices/platform/i8042/serio1/serio2/
o /sys/devices/platform/i8042/serio1/serio3/
como ubicación, mientras que los sistemas con solo puntero ocuparan la ubicación /sys/devices/platform/i8042/serio1/
.Configuración al inicio
Regla udev
Esta regla aumenta la velocidad del puntero y habilita la característica tocar-para-seleccionar (vea mas arriba) al iniciar.
/etc/udev/rules.d/10-trackpoint.rules
ACTION=="add", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/sensitivity}="240", ATTR{device/press_to_select}="1"
Unidad systemd.path
Han habido reportes en los foros de que los archivos de atributos en /sys/devices/platform/i8042/serio1/serio2/
aparecen demasiado tarde en el proceso de inicio como para que la(s) regla(s) udev anterior (o similares) tengan efecto en ellos. En vez de eso, se puede usar una unidad systemd.path para configurar los atributos del puntero.
Primero, cree un script ejecutable llamado p.ej /usr/local/bin/configuracion_puntero.sh
que establezca los atributos del puntero como se indica en la sección #Atributos en Sysfs.
El siguiente ejemplo deshabilita el puntero en algunos portátiles, dejando que los botones derecho e izquierdo (los de arriba del puntero) funcionen bien (aunque, si se deshabilita el puntero directamente desde la configuración UEFI/BIOS, los botones también se deshabilitan).
/usr/local/bin/configuracion_puntero.sh
#!/bin/bash echo -n 0 > /sys/devices/platform/i8042/serio1/serio2/sensitivity echo -n 0 > /sys/devices/platform/i8042/serio1/serio2/speed
Después, cree las siguientes unidades de systemd. Asegúrese que todos los atributos modificados por el scripts sean listados con PathExist
.
/etc/systemd/system/parametros_puntero.path
[Unit] Description=Vigilar y modificar los atributos del puntero [Path] PathExists=/sys/devices/platform/i8042/serio1/press_to_select [Install] WantedBy=default.target
/etc/systemd/system/parametros_puntero.service
[Unit] Description=Establecer los atributos del puntero [Service] ExecStart=/usr/local/bin/configuracion_puntero.sh
Finalmente habilite e inicie la unidad de systemd parametros_puntero.path
.
Entrada hwdb de udev
Libinput aplica sus propios parámetros a sysfs basado en las entradas de [la base de datos de hardware de udev. Este es el comportamiento en los sistemas ejecutando un compositor de Wayland, ya que libinput es la única interfaz de entrada soportada en ese entorno. Los cambios que se hagan antes del inicio de un compositor de Wayland o una sesión de X serán sobrescritos.
Para cambiar la configuración por defecto de libinput, añada una entrada local a hwdb:
/etc/udev/hwdb.d/99-trackpoint.hwdb
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??60?:* POINTINGSTICK_SENSITIVITY=250
Puede encontrar las claves de varios modelos en la base de datos de hardware de udev. Tome en cuenta que desde este commit libinput ignora el parametro POINTINGSTICK_CONST_ACCEL y ocupa POINTINGSTICK_SENSITIVITY. El rango es de 0-255.
Reinicie hwdb para aplicar los cambios:
# udevadm hwdb --update
Para probar los cambios antes de reiniciar so compositor de Wayland o sesión de X, primero busque su nodo de entrada (/dev/input/eventX
) usando:
# libinput list-devices
Ejecute lo siguiente para obtener la salida de depuración:
# udevadm trigger /sys/class/input/eventX # udevadm test /sys/class/input/eventX
udevadm test
.Finalmente, reinicie su compositor de Wayland o su sesión de X para aplicar los cambios.
Configuración para dispositivos específicos
Con el cambio de libinput
a los archivos de configuración de estilo .ini
para las configuraciones especificas para ciertos dispositivos (quirks), puede ajustar los parámetros del puntero al sobrescribirlos localmente en /etc/libinput
.
Por ejemplo, para sobrescribir la velocidad del puntero, cree /etc/libinput/local-overrides.quirks
:
[Trackpoint Override] MatchUdevType=pointingstick AttrTrackpointMultiplier=0.75
Para mas información, vea libinput: Instalando configuraciones especificas temporales (en ingles).
Solución de problemas
El puntero no es detectado o se detecta después de X minutos
Esto parece ser un error (bug) del kernel. Vea: [1].
Una solución temporal es pasar proto=bare
al modulo psmouse
. Aunque esto puede deshabilitar el desplazamiento con el clickpad y el clickeo de dos dedos en el botón del medio:
# modprobe psmouse proto=bare
Los botones del puntero no siempre funcionan
Si descubre que deshabilitando el puntero en la configuración del BIOS deshabilita los botones incorrectos y/o los botones del puntero no siempre funcionan, una solución puede ser pasar proto=imps
al modulo psmouse
.
# rmmod psmouse; modprobe psmouse proto=imps
El desplazamiento con dos dedos deja de funcionar después de suspender
En algunos portátiles, pareciera que psmouse falla al iniciar o después de la suspensión:
psmouse serio1: synaptics: Unable to initialize device
Una solución es añadir psmouse.synaptics_intertouch=0
a la consola de inicio del kernel.
El puntero se mueve por si solo
En algunos ThinkPads el puntero se mueve espontáneamente después de soltarlo y no se detiene. Esto sucede por el bajo valor en el parámetro drift_time
(p.j.5), debe cambiarlo a 25 o 30 para arreglar el problema. Esto se puede hacer con una regla udev:
/etc/udev/rules.d/10-trackpoint.rules
ACTION=="add", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/drift_time}="25"