我在用582做一個手柄的擴展設(shè)備,鍵盤和鼠標可以 用U2SearchTypeDevice()找到。
請問游戲手柄要如何查找?假設(shè)設(shè)備都是usb hid手柄,wind系統(tǒng)中設(shè)備描述為
"HID-compliant game controller".
我在用582做一個手柄的擴展設(shè)備,鍵盤和鼠標可以 用U2SearchTypeDevice()找到。
請問游戲手柄要如何查找?假設(shè)設(shè)備都是usb hid手柄,wind系統(tǒng)中設(shè)備描述為
"HID-compliant game controller".
可以獲取設(shè)備的報表描述符,根據(jù)第四個字節(jié)來判斷。
在報表描述符中有個第一個Usage Page下面的Usage,可以體現(xiàn)出HID設(shè)備的分類。
下圖中是一部分JoyStick設(shè)備的HID報表描述符,第四個字節(jié)可以指示為JoyStick設(shè)備。鍵盤/鼠標也在這個位置有所區(qū)分。
庫函數(shù)SearchTypeDevice中目前沒有游戲手柄類型的判斷,也可自行添加。
USB技術(shù)聯(lián)盟網(wǎng)站有描述符生成工具:https://usb.org/document-library/hid-descriptor-tool
Joystick是0x04,Gaming Controls的話是0x05