TrackPoint (Español)

From ArchWiki
Esta traducción de TrackPoint fue revisada el 2020-12-19. Si existen cambios puede actualizarla o avisar al equipo de traducción.

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.

Nota: Este programa ya no es mantenido (ultimo lanzamiento el 2013). Puede que no permita una configuración profunda cuando xf86-input-libinput es usado.

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
Nota:
  • 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
Nota: La ubicación del archivo de atributo puede variar según el dispositivo qu este usando. Los sistemas con puntero y touchpad pueden usar o /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

This article or section is out of date.

Reason: Desde la versión 1.12 libinput dejo de usar hwdb para las correcciones para dispositivos específicos y pasó a los archivos de estilo ini independientes de hwdb (vea #Configuración para dispositivos específicos). (Discuss in Talk:TrackPoint (Español))

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
Nota: Esto no va a aplicar los cambios actualmente, pero puede verificarlos en la salida del comando 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).

Nota: Las configuración especificas por modelo son una API (Interfaz de programación de aplicaciones: IPA) interna que puede cambiar en cualquier momento. Los cambios locales solo deben ser usados hasta que la distribución actualice los paquetes de libinput.

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"

Véase también