s1005056 发表于 2014-7-7 15:15:39

Mouse HID Descriptor

-------------------------------------------------------------------------------------------
不確定這種問題可不可以在這個論壇發問,如果超過版主負責範圍,還請告知。
-------------------------------------------------------------------------------------------


最近在看HID descriptor的東西,從最簡單的鼠標開始,下圖是mouse sample descriptor




圖中可以看出x, y的值是採用相對座標INPUT (Data,Var,Rel)進行輸入,跟板子連接後,出現鼠標並且可以順利進行移動,

而因為想對坐標系統有更深的了解,所以想改用絕對座標INPUT (Data,Var,Abs)來進行輸入
因此將descriptor修改成如下圖,x, y的maximum填入1023試試


但是並不可行,連鼠標都沒有出現

所以查看了一下kernel源碼


發現在usbmouse.c,負責讀取鼠標資料的usb_mouse_irq內,讀取xy座標值是使用了input_report_rel函數,

所以想問的是,
(1) 如果在這裡改成input_report_abs,使否就可以成功讓mouse以絕對座標的方式進行移動呢?
(2) 在絕對坐標系下,x, y的logical_maximum是依照螢幕解析度來進行調整嗎?或是有什麼其他的準則呢?

先感謝版上各位高手的任何建議與指教{:5_324:}
页: [1]
查看完整版本: Mouse HID Descriptor