evdev

evdev is a generic input event interface in the Linux kernel.[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 Linux 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.
It sits below the process that handles input events, in between the kernel and that process.
Linux kernel → libevdev → xf86-input-evdev → X server → X client
For Weston/Wayland, the stack would look like this:
Linux kernel → libevdev → libinput → Weston → Wayland client
evdev is primarily used by display servers like X.org (via xf86-input-evdev driver and libevdev) and Weston.
See also
![]() |
Wikimedia Commons has media related to [[commons:Lua error in Module:WikidataIB at line 506: attempt to index field 'wikibase' (a nil value).|Lua error in Module:WikidataIB at line 506: attempt to index field 'wikibase' (a nil value).]]. |
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
External links
- "Linux Input drivers v1.0" by Vojtech Pavlik, 2001 (Linux kernel document, now somewhat dated)
- libevdev, a C library for evdev interface
- Python bindings for evdev interface
- "linux input ecosystem" by Joe Shaw, 1 October 2010 (blog post)
<templatestyles src="Asbox/styles.css"></templatestyles>