evdev

Evdev と libevdev は、Linux APIの重要な部分を形成します。

evdev(「イベントデバイス」の略)は、LinuxカーネルFreeBSDの汎用入力イベントインターフェースです。[ 1 ]デバイスドライバからの生の入力イベントを一般化し、ディレクトリ内のキャラクタデバイスを通じて利用できるようにします/dev/input/

カーネルコンポーネントevdevのユーザー空間ライブラリはlibevdevと呼ばれます。libevdevは、型安全なインターフェースを介してevdev ioctlを抽象化し、デバイスの外観を変更する関数を提供します。libevdevはreadシステムコールと類似点があります。[ 2 ]

これは、入力イベントを処理するプロセスの下、カーネルとそのプロセスの間に配置されます。

カーネル → libevdev → xf86-input-evdev → Xサーバー → Xクライアント

Weston/Waylandコンポジターの場合、スタックは次のようになります。

カーネル → libevdev → libinputWayland コンポジター→ Wayland クライアント

バージョン 1.16 以降、xorg-xserver は libinput のサポートを取得しました。

カーネル → libevdev → libinput → xf86-input-libinput → Xサーバー → Xクライアント

evdev は主に、X.org (xf86-input-evdev ドライバーおよび libevdev 経由) や Westonなどのディスプレイ サーバー、および USB および Bluetooth コントローラーを利用するゲームやコンソール エミュレーターによって使用されます。

参照

参考文献