我正在對android內核中的輸入設備驅動程序進行一些編輯。內核開發新手:內核中的「虛擬」輸入驅動程序?
該器件的鍵位和evbits有效範圍有限。我想要做的是創建一個與任何物理設備無關的新的/ dev/input事件節點,啓用更多的keybits和evbits,以便我可以將實際的輸入信號從物理驅動程序發送到用戶空間,用戶空間我聽他們和收到我可以注入輸入事件到寫入其事件節點的「虛擬」驅動程序。
linux/android內核提供這樣的選項嗎?我應該遵循哪條路?除此之外還有其他選擇嗎?
作爲第二種選擇,我可以在同一個驅動程序中創建兩個輸入節點並僅將input_reports發送到「物理」節點嗎?
不當然我明白。如果物理驅動程序不支持某些鍵位,您將如何計劃在用戶空間中接收不受支持的鍵? – msh 2013-05-20 16:02:18
@msh我基本上需要兩個設備,一個綁定到一個有限的可用密鑰集的真實設備:我會通過input_report_key將它們從內核空間發送到用戶空間。第二個「虛擬」設備不應該綁定到任何真實設備,並且應該有更廣泛的可用鍵位,然後在用戶空間中,我想傾聽來自真實設備的鍵輸入並注入,將數據寫入輸入事件節點,到虛擬設備。 – Vektor88 2013-05-21 13:32:51