私はそれがstdin
Linuxの標準入力、通常キーボードを意味することを知っています。参考にしてくださいfile descriptor 0
。
それでは、マウスはどのファイル記述子(標準入力)を参照しますか?それとも、他のファイルや入力ファイルと比較して機能が非常に異なる特別なファイルですか?では、マウスはどのように機能し、マウス入力はどこにマップされますか?
同じ問題がタッチスクリーンにも当てはまります。
答え1
マウスは通常、Linuxから1つのデバイスにアクセスでき、単一のデバイスを介してシステム内のすべてのマウスからの入力を受け取ることができる/dev/input
仮想デバイスがあります。/dev/input/mice
しかしながら、マウス装置は通常、どのプロセスの標準入力にも接続されない。グラフィカル環境を使用する場合、X11 サーバーはこれらのデバイスの 1 つ以上を開いてマウスイベントを受信するプロセスです。一般的なアプリケーションは、stdinを介さずにX11プロトコル(または使用しているより高いレベルのツールキット)を使用して、マウスイベントや他のすべての種類のイベント(キーボードイベント、ウィンドウ描画イベント、ウィンドウフォーカスイベントなど)を受け取ります。
タッチスクリーンは、マウスと同様に、/dev/input
システムの最初のタッチスクリーンデバイスとも呼ばれます/dev/input/touchscreen0
。
タッチスクリーンやマウスを含むすべてのデバイスは、/dev/input
Cインクルードファイルで定義されている特定のバイナリ形式でイベントを配信します<linux/input.h>
。