2010-06-10 61 views
0

我有一個Logitech遊戲控制器(http://www.amazon.com/Logitech-Dual-Action-Game-Pad/dp/B0000ALFCI)。我正在使用C#和微軟的HID驅動程序來跟蹤哪些按鈕被按下。每按一次按鈕都會發送一個有8個值的字節數組。問題是我不知道這8個值代表什麼。這裏是一個例子:Logitech USB HID控制器訊息

0, 128, 126, 127, 130, 24, 24, 0, 4, 252 
0, 128, 126, 127, 130, 40, 40, 0, 4, 252 
0, 128, 126, 127, 127, 72, 72, 0, 4, 252 
0, 128, 126, 127, 127, 136, 136, 0, 4, 252 

這些是分別按鈕按1,2,3,4的字節數組的值。我看到價值在哪裏變化,但我不確定他們代表什麼。我無法在Microsoft HID驅動程序上找到任何規格。有人能指引我朝着正確的方向嗎?

回答

1

您可能需要使用USB流量分析器(如http://www.usb-monitor.com/)來查看輸入報告,看看是否能給您提供任何見解。

如果您有耐心,Windows驅動程序工具包中的HClient示例程序幾乎包含所有代碼,可以從任何HID設備獲取和解壓輸入報告。

在Jan Axelson的Lakeview Research(在hidpage.htm上)也有一些.Net USB libaries的鏈接,但是我不能發佈那個鏈接,因爲我還沒有收到代表。

這些可能會實現一些與C#中的HClient相同的代碼,而不是C++,儘管我沒有證實這一點。