我有一個有點不幸設計的HID設備(Griffin Powermate),因爲在您打開它時,「Rotation Axis」HID元素的輸入值不會改變,除非旋轉速度急劇變化或除非方向改變。它發送了許多HID報告(角度分辨率似乎約爲4deg,因爲我每次旋轉獲得約90個報告 - 不是很好,但無論...),但它們都報告相同的值(通常爲-1或1 CCW和CW分別 - 如果你轉速更快,它會報告-2 & 2等等,但你必須更快地轉動由於這種不幸的行爲,我發現這個東西很大程度上沒用。是否可以從用戶空間創建虛擬IOHIDDevice?
我想到我可能能夠編寫一個後臺用戶空間應用程序,該應用程序佔用了物理設備,並向另一個虛擬設備顯示了一些小的添加項,以便爲每個報告導致輸入值更改(例如,這是HID規範支持的累積器 - 上帝只知道爲什麼格里芬沒有)
但我沒有看到如何從用戶空間創建虛擬設備的內核端對象,我開始認爲這可能是不可能的。我看到了this question,它的適應症並不好,但在細節上很低。
另外,如果有一種方法,我欺騙現有設備上的報道,我想它會報告後,立即將做得一樣好,因爲我可以將其設置回零-1或1
有任何想法嗎?