2010-06-10 6 views
0

J'ai un contrôleur de jeu Logitech (http://www.amazon.com/Logitech-Dual-Action-Game-Pad/dp/B0000ALFCI). J'utilise C# et le pilote HID de Microsoft pour suivre les boutons qui sont pressés. Chaque appui sur un bouton envoie un Byte Array qui a 8 valeurs. Les problèmes, c'est que je ne sais pas ce que ces valeurs représentent. Voici un exemple:Message du contrôleur 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 

Ce sont les valeurs du tableau d'octets pour appuyer sur le bouton 1, 2, 3, 4 respectivement. Je vois où les valeurs changent, mais je ne suis pas sûr de ce qu'elles représentent. Je suis incapable de trouver des spécifications sur le pilote Microsoft HID. Quelqu'un peut me diriger dans la bonne direction?

Répondre

1

Vous pouvez utiliser un analyseur de trafic USB tel que http://www.usb-monitor.com/ pour consulter les rapports d'entrée pour voir si cela vous donne un aperçu.

Si vous avez la patience, l'exemple de programme HClient dans le kit de pilote Windows a pratiquement tout le code pour obtenir et décompresser les rapports d'entrée de n'importe quel périphérique HID.

Il y a aussi quelques liens ici à quelques librairies .Net USB au Lakeview Research de Jan Axelson (sur hidpage.htm), mais je ne peux pas poster ce lien parce que je n'ai pas encore la rep.

Ils pourraient implémenter une partie du même code que dans HClient en C# plutôt qu'en C++, bien que je ne l'ai pas confirmé.

Questions connexes