Top Qs
Timeline
Chat
Perspective
Evdev
Linux kernel interface for input events From Wikipedia, the free encyclopedia
Remove ads
evdev (short for 'event device') is a generic input event interface in the Linux kernel and FreeBSD.[1] It generalizes raw input events from device drivers and makes them available through character devices in the /dev/input/
directory.

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.[2]
It sits below the process that handles input events, in between the kernel and that process.
- kernel → libevdev → xf86-input-evdev → X server → X client
For Weston/Wayland compositor, the stack would look like this:
- kernel → libevdev → libinput → Wayland compositor → Wayland client
Since version 1.16 the xorg-xserver obtained support for libinput:
- kernel → libevdev → libinput → xf86-input-libinput → X server → X client
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.
Remove ads
See also
Wikimedia Commons has media related to Evdev.
References
External links
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads