Peter Hutterer: udev-hid-bpf: quickstart tooling to fix your HID devices with eBPF

For the last few months, Benjamin Tissoires and I have been working on and polishing a little tool called udev-hid-bpf [1]. This is the scaffolding required quickly and easily write, test and eventually fix your HID input devices (mouse, keyboard, etc.) via a BPF program instead … | Continue reading


@who-t.blogspot.com | 13 days ago

Peter Hutterer: Enforcing a touchscreen mapping in GNOME

Touchscreens are quite prevalent by now but one of the not-so-hidden secrets is that they're actually two devices: the monitor and the actual touch input device. Surprisingly, users want the touch input device to work on the underlying monitor which means your desktop environment … | Continue reading


@who-t.blogspot.com | 1 month ago

Peter Hutterer: New gitlab.freedesktop.org emoji-based spamfighting abilities

This is a follow-up from our Spam-label approach, but this time with MOAR EMOJIS because that's what the world is turning into. Since March 2023 projects could apply the "Spam" label on any new issue and have a magic bot come in and purge the user account plus all issues they'v … | Continue reading


@who-t.blogspot.com | 3 months ago

Peter Hutterer: Xorg being removed. What does this mean?

You may have seen the news that Red Hat Enterprise Linux 10 plans to remove Xorg. But Xwayland will stay around, and given the name overloading and them sharing a git repository there's some confusion over what is Xorg. So here's a very simple "picture". This is the xserver git r … | Continue reading


@who-t.blogspot.com | 4 months ago

Peter Hutterer: PSA: For Xorg GNOME sessions, use the xf86-input-wacom driver for your tablets

TLDR: see the title of this blog post, it's really that trivial. Now that GodotWayland has been coming for ages and all new development focuses on a pile of software that steams significantly less, we're seeing cracks appear in the old Xorg support. Not intentionally, but th … | Continue reading


@who-t.blogspot.com | 5 months ago

Peter Hutterer: gitlab.freedesktop.org now has a bugbot for automatic issue/merge request processing

As of today, gitlab.freedesktop.org provides easy hooks to invoke the gitlab-triage tool for your project. gitlab-triage allows for the automation of recurring tasks, for example something like If the label FOO is set, close the issue and add a comment containing ".... blah .. … | Continue reading


@who-t.blogspot.com | 10 months ago

Peter Hutterer: snegg - Python bindings for libei

After what was basically a flurry of typing, the snegg Python bindings for libei are now available. This is a Python package that provides bindings to the libei/libeis/liboeffis C libraries with a little bit of API improvement to make it not completely terrible. The main goal of … | Continue reading


@who-t.blogspot.com | 11 months ago

Peter Hutterer: libei and a fancy protocol

libei is the library for Emulated Input - see this post for an introduction. Like many projects, libei was started when it was still unclear if it could be the right solution to the problem. In the years (!) since, we've upgraded the answer to that question from "hopefully" to "y … | Continue reading


@who-t.blogspot.com | 11 months ago

Peter Hutterer: New gitlab.freedesktop.org spamfighting abilities

As of today, gitlab.freedesktop.org allows anyone with a GitLab Developer role or above to remove spam issues. If you are reading this article a while after it's published, it's best to refer to the damspam README for up-to-date details. I'm going to start with the TLDR first. … | Continue reading


@who-t.blogspot.com | 1 year ago

Peter Hutterer: libinput and the custom pointer acceleration function

After 8 months of work by Yinon Burgansky, libinput now has a new pointer acceleration profile: the "custom" profile. This profile allows users to tweak the exact response of their device based on their input speed. A short primer: the pointer acceleration profile is a function … | Continue reading


@who-t.blogspot.com | 1 year ago

Peter Hutterer: X servers no longer allow byte-swapped clients

In the beginning, there was the egg. Then fictional people started eating that from different ends, and the terms of "little endians" and "Big Endians" was born. Computer architectures (mostly) come with one of either byte order: MSB first or LSB first. The two are incompatible … | Continue reading


@who-t.blogspot.com | 1 year ago

Peter Hutterer: libei - opening the portal doors

Time for another status update on libei, the transport layer for bouncing emulated input events between applications and Wayland compositors [1]. And this time it's all about portals and how we're about to use them for libei communication. I've hinted at this in the last post, … | Continue reading


@who-t.blogspot.com | 1 year ago

Peter Hutterer: The new XWAYLAND extension is available

As of xorgproto 2022.2, we have a new X11 protocol extension. First, you may rightly say "whaaaat? why add new extensions to the X protocol?" in a rather unnecessarily accusing way, followed up by "that's like adding lipstick to a dodo!". And that's not completely wrong, but neve … | Continue reading


@who-t.blogspot.com | 1 year ago

Peter Hutterer: libei - adding support for passive contexts

A quick reminder: libei is the lib rary for e mulated i nput. It comes as a pair of C libraries, libei for the client side and libeis for... | Continue reading


@who-t.blogspot.com | 2 years ago

Libinput’s Lack of Config Options

Most days, at least one of the bugs I deal with requests something along the lines of "just add $FOO as a config option". In this post, I'll... | Continue reading


@who-t.blogspot.com | 2 years ago

Peter Hutterer: The xf86-input-wacom driver hits 1.0

After roughly 20 years and counting up to 0.40 in release numbers, I've decided to call the next version of the xf86-input-wacom driver ... | Continue reading


@who-t.blogspot.com | 2 years ago

An Xorg release without Xwayland

Xorg is about to released . And it's a release without Xwayland. And... wait, what? Let's unwind this a bit, and ideally you should co... | Continue reading


@who-t.blogspot.com | 2 years ago

Flatpak portals: how do they work?

I've been working on portals recently and one of the issues for me was that the documentation just didn't quite hit the sweet spot. At le... | Continue reading


@who-t.blogspot.com | 2 years ago

Linux libinput and high-resolution wheel scrolling

Gut Ding braucht Weile. Almost three years ago, we added high-resolution wheel scrolling to the kernel (v5.0). The desktop stack however wa... | Continue reading


@who-t.blogspot.com | 2 years ago

Linux emulated input status update

A year ago, I first announced libei - a library to support emulated input . After an initial spurt of development, it was left mostly untou... | Continue reading


@who-t.blogspot.com | 2 years ago

Why libinput doesn't have a lot of config options

Most days, at least one of the bugs I deal with requests something along the lines of "just add $FOO as a config option". In this post, I'll... | Continue reading


@who-t.blogspot.com | 3 years ago

Why libinput doesn't have a lot of config options

Most days, at least one of the bugs I deal with requests something along the lines of "just add $FOO as a config option". In this post, I'll... | Continue reading


@who-t.blogspot.com | 4 years ago

X server pointer acceleration analysis (2018)

This post is part of a four part series: Part 1 , Part 2 , Part 3 , Part 4 . Over the last few days, I once again tried to tackle pointer... | Continue reading


@who-t.blogspot.com | 4 years ago

Peter Hutterer: User-specific XKB configuration – part 1

The xkeyboard-config project is the repository for all XKB descriptions, or "keyboard layouts" as the layman would say. But languages are ... | Continue reading


@who-t.blogspot.com | 4 years ago

User-Specific XKB Configuration

The xkeyboard-config project is the repository for all XKB descriptions, or "keyboard layouts" as the layman would say. But languages are ... | Continue reading


@who-t.blogspot.com | 4 years ago

Libinput's bus factor is 1

A few weeks back, I was at XDC and gave a talk about various current and past input stack developments (well, a subset thereof anyway). On... | Continue reading


@who-t.blogspot.com | 4 years ago

Understanding HID report descriptors

This time we're digging into HID - Human Interface Devices and more specifically the protocol your mouse, touchpad, joystick, keyboard, et... | Continue reading


@who-t.blogspot.com | 5 years ago

What's new in libinput 1.12

libinput 1.12 was a massive development effort (over 300 patchsets) with a bunch of new features being merged. It'll be released next week o... | Continue reading


@who-t.blogspot.com | 5 years ago

Why it's not a good idea to handle evdev directly

Gather round children, it's story time. Especially for you children who lurk on /r/linux and think you may learn something there. Today, I'l... | Continue reading


@who-t.blogspot.com | 5 years ago

Observations on trackpoint input data

This time we talk trackpoints. Or pointing sticks, or whatever else you want to call that thing between the GHB keys. If you don't have one... | Continue reading


@who-t.blogspot.com | 5 years ago