Linuxの `stdin`はどのように機能しますか?

Linuxの `stdin`はどのように機能しますか?

私はそれがstdinLinuxの標準入力、通常キーボードを意味することを知っています。参考にしてくださいfile descriptor 0

それでは、マウスはどのファイル記述子(標準入力)を参照しますか?それとも、他のファイルや入力ファイルと比較して機能が非常に異なる特別なファイルですか?では、マウスはどのように機能し、マウス入力はどこにマップされますか?

同じ問題がタッチスクリーンにも当てはまります。

ベストアンサー1

マウスは通常、Linuxから1つのデバイスにアクセスでき、単一のデバイスを介してシステム内のすべてのマウスからの入力を受け取ることができる/dev/input仮想デバイスがあります。/dev/input/mice

しかしながら、マウス装置は通常、どのプロセスの標準入力にも接続されない。グラフィカル環境を使用する場合、X11 サーバーはこれらのデバイスの 1 つ以上を開いてマウスイベントを受信するプロセスです。一般的なアプリケーションは、stdinを介さずにX11プロトコル(または使用しているより高いレベルのツールキット)を使用して、マウスイベントや他のすべての種類のイベント(キーボードイベント、ウィンドウ描画イベント、ウィンドウフォーカスイベントなど)を受け取ります。

タッチスクリーンは、マウスと同様に、/dev/inputシステムの最初のタッチスクリーンデバイスとも呼ばれます/dev/input/touchscreen0

タッチスクリーンやマウスを含むすべてのデバイスは、/dev/inputCインクルードファイルで定義されている特定のバイナリ形式でイベントを配信します<linux/input.h>

おすすめ記事