2013-10-14 153 views
1

我需要獲取Linux操作系統上的輸入設備列表。類似於解析/ proc/bus/input/devices,但我其實不想重新發明輪子。我相信應該有一些系統功能來枚舉設備和類似的東西。它是一個嵌入式Linux,所以我受限於我可以使用的庫。獲取linux輸入設備

+1

你究竟想要做什麼?一般來說,「解析/ proc/bus/input/devices」確實是您想要獲得輸入設備列表的工具。格式本身通常很容易解析... –

+0

我想移動鼠標。 XWarpPointer不起作用,因爲我沒有-lX11和arm-linux-gnueabi-gcc。我直接將事件寫入/ dev/input/event3並且它可以工作,但我需要確切知道應該將事件寫入哪個輸入文件。所以我需要找到鼠標輸入設備或以任何其他方式移動鼠標。 – axe

+0

你可以考慮配置'udev'來簡化你的過程。解析'/ proc /'文件確實是在許多主題上與內核交互的首選方式。 –

回答

0

因此,要查找鼠標事件處理程序,您需要搜索以「H:」開頭且具有「mouseN」的行。它會在同一行上有一個「eventM」。應該可以用大約六打左右的代碼行來打開/ proc/bus/input/devices,讀一行,檢查它是否是「H:」開始,如果是,解析其餘部分爲「鼠標」和「事件」位。

+0

我在H部分找到了9行'mouseN'條目,例如看看這兩個'H:Handlers = mouse0 event3 H:Handlers = mouse1 event4' 當我向/ dev/input/event3,但不適用於/ dev/input/event4。那麼我應該如何理解哪個設備是正確的? – axe

+0

奇怪。你有多個「指向」類型的設備連接到你的系統?我只有一個這樣的行... –

+0

這是我的虛擬機運行ubuntu的另一個輸出。 'H:處理程序=大骨節病EVENT0 H:處理程序=大骨節病事件1 H:處理程序= SysRq的大骨節病事件2 H:處理程序= mouse0 EVENT3 js0 H:處理程序= mouse1 EVENT4 H:處理程序= event5' – axe

-1

輸入設備是鼠標,鍵盤,掃描儀,要知道更多about all input devices

+1

我想op是問如何通過代碼或其他東西來獲取它,而不是輸入設備的定義 – koceeng