Detección adecuada del pulgar y la palma del panel táctil con libinput

23

Así que libinput se acerca a su primer lanzamiento estable con un candidato de lanzamiento

Lo que agrega el soporte adecuado para la detección del pulgar / palma en las almohadillas táctiles junto con el soporte de gesto de deslizar y pellizcar, algo que se perdió en Linux para computadoras portátiles con capacidad multitáctil.

¿Alguien puede proporcionar una buena instrucción sobre cómo instalarlo en Ubuntu 15.04

Como creo, no lo veremos por defecto en una instalación de Ubuntu por un tiempo.

tomodachi
fuente
No mucha atención a esta pregunta. Sinceramente , no sé por qué.
VRR
La detección de Palm depende del controlador del panel táctil del núcleo y también se puede configurar en xorg-synaptics. ¿Qué touchpad tienes?
Pilot6
@ Pilot6, el paquete está disponible para descargar, pero el archivo Léame no proporciona instrucciones específicas sobre cómo compilarlo en el núcleo.
RCF
@ RCF-U15.04 libinputes una aplicación de espacio de usuario. No tiene nada que ver con el núcleo. Solo usa eventos reportados por el núcleo.
Pilot6
@tomodachi Si quieres configurar bien la detección de palma en Ubuntu, puedes hacer otra pregunta y te ayudaré.
Pilot6

Respuestas:

14

Así es como se instala libinput en Ubuntu.

  1. Instalar algunos paquetes necesarios

    sudo apt-get install git build-essential autoconf automake pkg-config libtool
    sudo apt-get install libmtdev1 libmtdev-dev libudev-dev libevdev-dev xutils-dev libwacom-dev
    
  2. Instalar xserver-xorg-dev. Para 14.04.3 puede ser xserver-xorg-dev-lts-vivid. Ten cuidado. Debe verificar qué xserver-xorgpaquete está instalado.

    sudo apt-get install xserver-xorg-dev
    
  3. Clon libinputy xf86-input-libinput.

    git clone git://anongit.freedesktop.org/git/wayland/libinput
    git clone git://anongit.freedesktop.org/xorg/driver/xf86-input-libinput
    
  4. Construir e instalar.

    cd libinput
    ./autogen.sh --prefix=/usr
    make && sudo make install
    
    cd ../xf86-input-libinput
    ./autogen.sh --prefix=/usr
    make && sudo make install
    
  5. Agregar a la conf/90-libinput.confcadena de archivo Option "Tapping" "True"antes EndSectionde la sección del panel táctil.

  6. Copie el archivo de configuración para habilitar libinput.

    sudo cp conf/90-libinput.conf /usr/share/X11/xorg.conf.d/
    

Cerrar sesión e iniciar sesión.

Verá que libinputse utiliza al ejecutar xinput list-props <your_touchpad_id>.

Si no le gusta usar libinput, siempre puede deshabilitarlo

sudo rm /usr/share/X11/xorg.conf.d/90-libinput.conf

Lo acabo de instalar, ahora estoy descubriendo cómo configurar la detección de palma. Parece que está habilitado de forma predeterminada, pero todavía no entiendo cómo utiliza el ancho y la presión informados por el núcleo.

Parece que actualmente no hay grandes ventajas de usar libinputen Ubuntu.

xf86-input-libinputsolo se lo envuelve a Xorg y nada más. Por lo tanto, no se admiten gestos adicionales. Al menos no sé si lo hacen. Wayland o Mir serán más capaces, supongo.

Después de algunas pruebas encontré una ventaja. Hay un problema con xorg-synapticseso cuando coloca un dedo en el área del botón, no puede usar otro dedo para mover el cursor. Eso es inconveniente para las personas a las que les gusta usar botones de hardware para hacer clic. Ese problema ha sido reportado muchas veces como un error.

En libinputno hay este problema en absoluto.

Fue divertido probarlo. Gracias por la pregunta

Piloto6
fuente
@ Pilot6 ¿Cuál es el punto en "no se admiten gestos adicionales" ?
VRR
@VRR El punto es que Ubuntu DE predeterminado no admite muchos gestos. Solo tener libinputno lo cambia. 1,2,3 golpecitos con los dedos salen de la caja. La detección de palma es potencialmente más inteligente, pero parece que no es compatible con los paneles táctiles que solo informan el ancho. Los nuevos modelos no soportan presión, porque funcionan como pantalla táctil, etc.
Pilot6
Creo que he estropeado un poco las cosas ... durante el proceso ... ahora recibo la pantalla negra después del arranque ... pero no hay pantalla de inicio de sesión lightdm ... puede ser debido a xorg ... Sé el número de versión anterior ... puedo Alguien me diga el proceso qué hacer ahora ... Puedo llegar a tty
presentimiento
Si tiene problemas simplemente elimínelos /usr/share/X11/xorg.conf.d/99-libinput.conf. sudo rm /usr/share/X11/xorg.conf.d/99-libinput.conf
Pilot6
Eso no está resolviendo el problema. ¿Puede mencionar algo sobre el xserver-xorg-dev ... donde también ha mencionado ... tenga cuidado ... Cómo volver a la versión anterior ...
hunch
25

Para Ubuntu 15.10+ puede instalar libinput( astuto , xenial , yakkety ) a través de apt:

sudo apt install xserver-xorg-input-libinput

Todavía tenía que editar el archivo de configuración para habilitar el tapping, supongo que como Unity absorbe libinput, lo expondrá a través de la configuración del panel de control (usé vi aquí, puedes usar gedit o lo que quieras):

Edite el siguiente archivo (probado el 16.04 2016-4-14 y 16.10 2016-10-14):

sudo vi /usr/share/X11/xorg.conf.d/90-libinput.conf 

Ajuste la sección 'touchpad' para agregar Option "tapping" "True"y Option "DisableWhileTyping" "True"si prefiere este comportamiento:

Section "InputClass"
    Identifier "libinput touchpad catchall"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver "libinput"
    Option "Tapping" "True"
    Option "DisableWhileTyping" "True"
EndSection

Cerrar sesión, iniciar sesión ... ¡disfruta! :)

JimB
fuente
No existe la opción "PalmDetection" en libinput, DisableWhileTyping está activado de forma predeterminada. Entonces no hay necesidad de agregar todo esto.
Pilot6
Ajustó y eliminó ambas opciones. Dejé 'Tapping' porque no está activado por defecto.
JimB
Y tampoco recomiendo usar libinput para todos los dispositivos. El teclado se retrasa en mi caso, así que elegí el evento del panel táctil, en mi caso event5y lo escribí en ese archivo.
Pilot6
@ Pilot6: ¿puede darnos más detalles sobre cómo usar libinput solo para el panel táctil?
BeeOnRope
44
Parece que también puede agregar Option "AccelSpeed" "-0.5", donde el valor puede ser un valor flotante de -1 (cursor más lento) a +1 (cursor más rápido). También puede experimentar con este y otros valores utilizando xinput. primero encuentre la identificación ejecutando xinput, luego si su identificación es 12, puede hacer xinput list-props 12una lista de todos los accesorios. si desea cambiar uno, obtenga el int para el accesorio (por ejemplo, libinput Accel Speed ​​(281): -0.500000), entonces puede hacerlo xinput set-prop 12 281 -0.4para cambiar el acento a -0.4.
David784
1

Tuve un problema similar en Lubuntu 17. Intenté instalar libinput y editar el archivo .conf en vano.

Pero luego vi la publicación @ Pilot6 anterior sobre el uso de xinput para verificar que libinput esté activo (también sería bueno saber cuál es el criterio para verificar, pero estoy divagando).

Verifiqué mi xinput con xinput list-props 14(podría ser un número diferente en su caso).

lo que me dio un synapticstouchpad.

En la lista había una opción para la detección de palma con un número asociado (316).

Entonces solía xinput set-prop 14 316 1activar la detección de palma. Y finalmente funciona.

CodeMonkey
fuente