Evdev
   HOME

TheInfoList



OR:

evdev (short for 'event device') is a generic input event interface in the Linux kernel and FreeBSD. 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
ioctl In computing, ioctl (an abbreviation of input/output control) is a system call for device-specific input/output operations and other operations which cannot be expressed by regular system calls. It takes a parameter specifying a request code; th ...
s through type-safe interfaces and provides functions to change the appearance of the device. Libevdev shares similarities with the
read Read Read may refer to: * Reading, human cognitive process of decoding symbols in order to construct or derive meaning * Read (automobile), an American car manufactured from 1913 to 1915 * Read (biology), an inferred sequence of base pairs of ...
system call. 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, the stack would look like this: : kernel → libevdev → libinput
Wayland compositor Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a '' Wayland composito ...
→ 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 server In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
s 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.


See also


References


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

Go bindings for evdev interface

"linux input ecosystem"
by Joe Shaw, 1 October 2010 (blog post) Interfaces of the Linux kernel Linux kernel features {{Linux-stub