Skip to content
0:00 / 0:00

#libinput#wayland#x11

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

linux.conf.au

32K subscribers • 14 videos on Hallway

YouTube
  • Recommended by 1 person: 1 on Hacker News.
  • Presented by Peter Hutterer, developer of libinput

Intermediate. Assumes working knowledge.

21K views6 years ago1 recommendation

Systems programmingTools and practiceLinuxOperating systemsOpen source

Peter Hutterer explains the design choices, motivations, and immense complexity of handling diverse input devices in the unified Linux library libinput.

Peter Hutterer lca2020.linux.org.au/schedule/presentation/79/ Six or so years ago, input devices in userspace were handled by a set of different modules, all with their own properties and behaviours. Where a device didn't work as expected, it was largely up to the users to find the right forum with examples that actually work. This had worked "well" for about a decade or two. Then, largely driven by the promise of the differently-shaded pastures of Wayland, a new library was born: libinput. The prime motivation behind this library was to have a unified input stack that works well out of the box for any device, regardless of the display server. libinput is now the input backend for all major Wayland compositors and the default X.org input driver. This talk goes through the motivations behind libinput and its design choices. Why and how is it different to what we had before? Why can we handle mice, touchpads, tablets, touchscreens but not joysticks? Or the weird but common question: Why are there no configuration options? (Spoiler alert: there are quite a few.) The talk will explain how some of the devices work, how we handle them and why certain behaviours are required and/or at last need to be worked around. I will explain the various current and future features and our plans to improve them. And where we went wrong. Because if it wasn't for the error part of "trial and error", everyone would think that we know what we're doing. This talk is about technical details, but intended to be accessible to everyone. You won't need to know programming to understand it, but you'll probably leave knowing more about devices than you want to know. linux.conf.au is a conference about the Linux operating system, and all aspects of the thriving ecosystem of Free and Open Source Software that has grown up around it. Run since 1999, in a different Australian or New Zealand city each year, by a team of local volunteers, LCA invites more than 500 people to learn from the people who shape the future of Open Source. For more information on the conference see linux.conf.au/ Produced by NDV: youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmatio… #linux.conf.au #linux #foss #opensource Fri Jan 17 2020 at Room 5

Why it's here

1 person recommends this

What people say. Recommended for its realistic look at the immense complexity of handling hardware quirks and the maintenance burden of fundamental open-source libraries.

indroraon Hacker News • Recommends

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. link to this video

scaladevon Hacker News • Mentions

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. link to this video

Akronymuson Hacker News • Mentions

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 link to this video

5e92cb50239222bon Hacker News • Mentions

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. link to 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