"Write a single library to handle all input devices, it'll be easy" they said...

linux.conf.au · 21K views · 2020 · 46:54

Open on YouTube

Linux & open-source ecosystemsSoftware architecture & designtalk

Why Hacker News recommends it

Cited for insight into the hard realities of Linux input handling and libinput's thinly staffed maintenance.

What it is

Peter Hutterer's linux.conf.au 2020 talk on creating libinput, the unified userspace input library, and the difficulties of handling the many quirks of input devices.

Recommended by 1 HN commenters across 1 different months, 2020 to 2024.

What Hacker News said

Strong rec indrora · 2024-08 · on “Window Maker: X11 window manager with the look and feel of the NeXTSTEP UI”

There are some advantages and disadvantages of the approach. However, there's just stuff that X assumes that isn't true anymore. A good example is how it handles input. How many cursors does a screen have? One machine? okay, One input device? One of the folks behind both Wayland and X gave a fantastic talk on the issues and the hell. [this video]

Cites scaladev · 2020-12 · on “Linux 5.10”

The whole usermode side of input handling depends on a project (libinput) that's been developed by a single guy over the last decade. He asked for help numerous times, reminding everyone that libinput has a bus factor of one, and received none. So either go ahead and help, or stop complaining. [this video]

Cites Akronymus · 2021-11 · on ““This project will only take 2 hours””

Yeah it takes a LOT of work to hide it [1] Also: For some stuff I want to be able to use the "arcane" parameters for some really obscure task where it is just the right flag or something. [1] [this video]

Cites 5e92cb50239222b · 2021-12 · on “Linux Touchpad Like MacBook Update: Touchpad Gestures Now Shipping”

That "dev" you're criticizing here has been developing libinput solo since the beginning. He asked for help numerous times and never received any. So either step up and do the work, or stop complaining. [this video] libinput is yet another of those fundamental libraries that receive almost no developer attention, but get all the blame when something goes wrong: [LINK]