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

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 → libinputWayland 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.

See also

edit

References

edit
  1. ^ "Linux Input drivers v1.0"
  2. ^ "freedesktop.org/../libevdev".
edit


📚 Artikel Terkait di Wikipedia

Linux

Virtual files subsystem Networking subsystem Other components: ALSA, DRI, evdev, klibc, LVM, device mapper, Linux Network Scheduler, Netfilter Linux Security

User space and kernel space

Virtual files subsystem Networking subsystem Other components: ALSA, DRI, evdev, klibc, LVM, device mapper, Linux Network Scheduler, Netfilter Linux Security

Linux kernel

Virtual files subsystem Networking subsystem Other components: ALSA, DRI, evdev, klibc, LVM, device mapper, Linux Network Scheduler, Netfilter Linux Security

X.Org Server

are found under /usr/lib/xorg/modules/input/. Such drivers are named e.g. evdev_drv.so, mouse_drv.so, synaptics_drv.so or wacom_drv.so. With version 1.16

Wayland (protocol)

Graphics Execution Manager (GEM), and udev. On Linux, it handles input via evdev and buffer management via Generic Buffer Management (GBM). A prototype port

Windowing system

in the wayland-protocols repository), the Direct Rendering Manager and evdev components of the Linux kernel, the Mesa 3D graphics library, widget toolkits

Rust for Linux

modules BlueZ cgroups Console bcache Device mapper dm-cache dm-crypt DRM EDAC evdev Kernel same-page merging (KSM) LIO Framebuffer LVM KMS driver Netfilter

Mode setting

evdev was the Linux kernel module that receives data from various Input devices such as Keyboard, Mouse, Touch-Pad, etc. Nowadays, this is the libinput