libinput
Más información
- Creador
- Jonas Ådahl, Peter Hutterer
- Año
- Tipo
- Biblioteca
- Licencia
- MIT
- Código fuente
- gitlab.freedesktop.org/libinput/libinput
La biblioteca que interpreta ratones, touchpads, pantallas táctiles y tabletas tanto para los compositores Wayland como para el servidor X, y que sustituyó un controlador por tipo de dispositivo con un único conjunto de reglas, para alegría de todos menos de quienes apreciaban los mandos de synaptics.
En X.Org la lógica de entrada vivía en controladores: evdev para ratones y teclados, synaptics para touchpads, wacom para tabletas, cada uno con su propia idea de aceleración, desplazamiento y detección de toques. Los compositores Wayland habrían tenido que reescribirlo todo, cada uno por su cuenta. Jonas Ådahl extrajo en 2013 el código de entrada de Weston a una biblioteca independiente, Peter Hutterer, de Red Hat, asumió el mantenimiento en 2014, y libinput 1.0 llegó en agosto de 2015. Lee los dispositivos evdev del kernel y entrega eventos ya interpretados: aceleración del puntero, desplazamiento con dos dedos, gestos, tap-to-click, rechazo de la palma, emulación de botones y un touchpad que se calla mientras escribes.
Weston, Mutter, KWin, wlroots y Mir lo usan directamente, y a través de xf86-input-libinput, de 2015, también el servidor X, lo que permitió a las distribuciones jubilar synaptics. La filosofía es que la biblioteca decide qué tiene sentido y expone pocos mandos: "libinput no hace eso" se convirtió en la respuesta estándar a la petición del ajuste número 47, y las curvas de aceleración personalizadas no llegaron hasta 2023. Las rarezas de cada dispositivo van a una base de datos de quirks, y libinput debug-events es la herramienta habitual cuando un touchpad se porta mal. El mismo código que decide cómo se mueve el cursor en GNOME lo hace ahora en Sway, que es más de lo que X consiguió jamás.