2014-02-18 21 views
2

我的無人應用程序需要響應擊鍵,但僅當特定類型的鍵盤連接到系統時才需要。它將是一個數字小鍵盤,通過USB連接。如何在Linux應用程序中專門使用其他鍵盤

我已經找到了如何使用libusb/libudev檢測鍵盤的連接/斷開連接。它似乎比從任何HID設備捕獲擊鍵都不是那麼難,雖然它需要root權限,我想避免...

難度是,我不希望Linux系統「以正常的方式使用該數字鍵盤,即不接受來自登錄tty的輸入。我也不想完全禁用登錄,登錄仍然可以使用「常規」鍵盤。我不知道如何做到這一點。任何建議表示讚賞。

+0

如果配置正確,''X'會對'udev'事件做出反應,並在鍵盤連接時加載正確的驅動程序。 'libusb'不是必需的。但是,我不知道如何告訴'X'它只應該將*鍵盤的事件轉發給你的應用程序。有趣的問題:) +1 – hek2mgl

+0

@ hek2mgl:沒有安裝X.整個系統應該無人操作。 – Pat

+0

哦,那麼我的評論在這裏有點錯了。但是,即使是一個無人值守的系統運行udev。你可以使用udev通知應用程序 – hek2mgl

回答

0

我想你將不得不讓額外的鍵盤充當不同類型的HID設備,可能是完全不同類型的設備。然後你的應用程序可以打開這個特殊的設備(它不會用於普通的鍵盤輸入,因爲它不是普通的鍵盤),並接受它的輸入。

我不太瞭解HID設備,只是它們似乎涵蓋了非常廣泛的功能(例如字節或位寬的數字I/O),所以應該可以找到合適的設備類。

如果您沒有任何改變數字小鍵盤向USB軟件描述本身的方式,那麼您將不會得到任何與此相關的信息,如果它說'我是鍵盤',那麼它將被視爲鍵盤。

相關問題