2012-10-25 46 views
0

有一些方法可以使用基於XNextEvent循環的Xlib來獲取鼠標和鍵盤的設備路徑嗎?我需要知道什麼/ dev/input/event *生成了特定的事件,如鼠標按下和鍵盤按鍵F1按下。如何在Xorg中使用Xlib獲取輸入設備路徑?

我在Xorg中使用evdev作爲輸入設備,我搜索了文檔並找不到方法。

我接受一些應用程序的建議,我可以使用它來識別基於事件的輸入設備,如鼠標按下和鍵盤按下。

謝謝。

編輯:如果有一種方法可以使用另一個lib,最好用python綁定,請讓我知道。

回答

2

我意識到Xlib沒有獲取輸入設備文件描述符的方法,所以我想出瞭解決這種情況的另一種方法,尚未準備好,但顯然是最好的方式,只需發佈在這裏爲有相同的問題的人。

我正在使用模塊python-evdev(在ubuntu中安裝了pip),使用此模塊我可以監視設備是/ dev/input/event *,所以我只需要爲每個設備啓動一個線程(使用模塊evdev並檢查設備是否具有諸如ecodes.KEY_F1和ecodes.BTN_MOUSE之類事件代碼的「capabilities(verbose = True)」),並且當發生事件時,寫入共享變量,我應該監控。

對於在Xorg中運行的圖形界面,如果沒有Windows管理器,我使用python-glade2,就像一個魅力一樣,我使用xinit運行帶python-glade2應用程序的Xorg。

相關問題