evdev

evdev (short for 'event device') is a generic input event interface in the Linux kernel and FreeBSD.

The user-space library for the kernel component evdev is called libevdev.

Libevdev abstracts the evdev ioctls through type-safe interfaces and provides functions to change the appearance of the device.

Libevdev shares similarities with the read system call.

For Weston/Wayland compositor, the stack would look like this: Since version 1.16 the xorg-xserver obtained support for libinput: evdev is primarily used by display servers like X.org (via xf86-input-evdev driver and libevdev) and Weston, as well as by games and console emulators making use of USB and Bluetooth controllers.

Evdev and libevdev form a prominent part of the Linux API .