Linux

linux的stdin是如何工作的?

  • July 28, 2014

我知道這stdin是指linux中的標準輸入,通常是鍵盤。也可以參考file descriptor 0

那麼,(標準輸入)滑鼠指的是哪個文件描述符?或者它是一個特殊文件,與其他文件或輸入文件相比,它的功能非常不同?那麼滑鼠是如何工作的,滑鼠的輸入映射到哪裡呢?

同樣的問題也適用於觸摸屏。

滑鼠通常可以在 Linux 下作為設備訪問,/dev/input並且有一個虛擬設​​備/dev/input/mice允許您通過單個設備接收來自系統中所有滑鼠的輸入。

但是,此滑鼠設備通常不連接到任何程序的標準輸入。如果您使用的是圖形環境,那麼 X11 伺服器是打開這些設備中的一個或多個並接收滑鼠事件的程序。普通應用程序使用 X11 協議(或它們使用的任何更高級別的工具包)以及所有其他類型的事件(鍵盤事件、視窗繪製事件、視窗焦點事件等)接收滑鼠事件,而不是通過標準輸入。

與滑鼠一樣,觸摸屏也作為設備出現在/dev/input. 系統中的第一個觸摸屏設備稱為/dev/input/touchscreen0.

中的所有設備/dev/input,包括觸摸屏和滑鼠,都以 C 包含文件中定義的特定二進制格式傳遞事件<linux/input.h>

引用自:https://unix.stackexchange.com/questions/146267