Евдев
evdev (сокращение от «устройство событий») — это универсальный интерфейс событий ввода в ядре Linux и FreeBSD . [1] Он обобщает необработанные входные события из драйверов устройств и делает их доступными через символьные устройства в /dev/input/
каталог.
Библиотека пользовательского пространства для компонента ядра evdev называется libevdev. evdev Libevdev абстрагирует ioctls через типобезопасные интерфейсы и предоставляет функции для изменения внешнего вида устройства. Либевдев имеет сходство с системным вызовом read . [2]
Он находится ниже процесса, обрабатывающего входные события, между ядром и этим процессом.
- ядро → libevdev → xf86-input-evdev → X-сервер → X-клиент
Для композитора Weston/Wayland стек будет выглядеть так:
- ядро → libevdev → libinput → композитор Wayland → клиент Wayland
Начиная с версии 1.16, xorg-xserver получил поддержку libinput:
- ядро → libevdev → libinput → xf86-input-libinput → X-сервер → X-клиент
evdev в основном используется серверами отображения , такими как X.org (через драйвер xf86-input-evdev и libevdev) и Weston, а также играми и эмуляторами консолей, использующими контроллеры USB и Bluetooth.
См. также
[ редактировать ]Ссылки
[ редактировать ]Внешние ссылки
[ редактировать ]- «Драйверы ввода Linux v1.0», автор Войтех Павлик, 2001 г. (документ ядра Linux, сейчас несколько устаревший)
- libevdev, библиотека C для интерфейса evdev
- Привязки Python для интерфейса evdev
- Привязки Go для интерфейса evdev
- «Экосистема ввода Linux» , Джо Шоу, 1 октября 2010 г. (сообщение в блоге)