2011-03-17 33 views
2

我想讀在Linux中與C++鼠標位置和按鈕狀態,但沒有X或一些(高電平)庫等。只有兩種可能我發現從設備/ dev /輸入正在閱讀/小鼠(與fopen,...)或使用libgpm。還有其他低級別的方法嗎?Linux的低電平鼠標讀

提前感謝。

回答

3

在Linux中所有的鼠標事件經過/dev/input/mouseX/dev/input/mice是單鼠標設備中的累加器。 gpm和X都從/dev/input/mouseX/dev/input/mice中獲取鼠標事件並轉發它。

因此,從/dev/input/mouseX/dev/input/mice中讀取的數據級別可能會低 - 除非您使用libusb/libhid直接訪問USB鼠標設備。但是,以這種方式訪問​​鼠標會將其從內核中分離出來,造成很多麻煩。

+0

到目前爲止感謝。那麼有沒有「無流」的方式來訪問設備,即沒有fopen等? – litro 2011-03-17 16:25:08

+0

「無流」是什麼意思?你意識到你的輸入設備正在發送一串輸入事件? 「沒有打開」是什麼意思?你意識到,受Unix啓發的Linux將所有內容都抽象成_files_和進程,並且所有內容都以這種方式訪問​​? – datenwolf 2011-03-17 20:12:59