Linuxlinux的
linux的stdin
是如何工作的?
我知道這
stdin
是指linux中的標準輸入,通常是鍵盤。也可以參考file descriptor 0
。那麼,(標準輸入)滑鼠指的是哪個文件描述符?或者它是一個特殊文件,與其他文件或輸入文件相比,它的功能非常不同?那麼滑鼠是如何工作的,滑鼠的輸入映射到哪裡呢?
同樣的問題也適用於觸摸屏。
滑鼠通常可以在 Linux 下作為設備訪問,
/dev/input
並且有一個虛擬設備/dev/input/mice
允許您通過單個設備接收來自系統中所有滑鼠的輸入。但是,此滑鼠設備通常不連接到任何程序的標準輸入。如果您使用的是圖形環境,那麼 X11 伺服器是打開這些設備中的一個或多個並接收滑鼠事件的程序。普通應用程序使用 X11 協議(或它們使用的任何更高級別的工具包)以及所有其他類型的事件(鍵盤事件、視窗繪製事件、視窗焦點事件等)接收滑鼠事件,而不是通過標準輸入。
與滑鼠一樣,觸摸屏也作為設備出現在
/dev/input
. 系統中的第一個觸摸屏設備稱為/dev/input/touchscreen0
.中的所有設備
/dev/input
,包括觸摸屏和滑鼠,都以 C 包含文件中定義的特定二進制格式傳遞事件<linux/input.h>
。