The Input Stack on Linux: An End-to-End Architecture Overview

Intro Let’s explore and deobfuscate the input stack on Linux. Our aim is to understand its components and what each does. Input handling can be divided into two parts, separated by a common layer: Kernel-level handling: It deals with what happens in the kernel and how events are exposed to user-space The actual hardware connected to the machine, along with the different buses and I/O/transport subsystems The input core subsystem, and the specific device drivers that register on it Exposed layer (middle) The event abstraction subsystem (evdev) devtmpfs for device nodes sysfs for kernel objects and device attributes procfs for an introspection interface of the input core User-space handling: The user-space device manager (udev) and hardware database (hwdb) for device management…

Read more on Hacker News