2016-02-15 2 views
0

J'ai ce problème à résoudre avec un périphérique USB:de Windows pilote de périphérique HID USB Keyboard

  • connecté au POS PC (Windows POSReady 2009) il y a un clavier USB et un câble USB Dallas lecteur I-Bouton
  • lecteur USB est connecté à MoBo bus USB, et apparaît en tant que dispositif USB composite:

    composite Device USB USB \ VID_134B & & PID_0206 REV_0100

    Compatible dispositif HID HID \ VID_134B & PID_0206 & REV_0100 & MI_01

    dispositif d'entrée USB (premier exemple) USB \ VID_134B & PID_0206 & REV_0100 & MI_00

    dispositif d'entrée USB (2st instance) USB \ VID_134B & PID_0206 & REV_0100 & MI_01

    HID clavier HID \ VID_134B & PID_0206 & REV_0100 & MI_00

  • quand je lis I-Bouton avec le lecteur, le code à l'intérieur du bouton est ajouté au tampon du clavier (comme il a été tapé avec le clavier physique) et l'application active (Wich a le focus clavier) recevoir le code

  • ma demande doit interract avec des codes readed par le périphérique USB, mais je dois avoir le focus costantly sur une zone de texte pour recevoir le code
  • ce n'est pas toujours possible, spécialement avec les MessageBox sans surveillance, qui prennent le focus (et l'entrée au clavier) et peuvent créer des dysfonctionnements.
  • mieux devrait être d'avoir un lecteur sur le port série, ou TCP/IP, mais c'est le seul choix nous avons (nous ne pouvons pas changer le lecteur)

donc, mon idée est de piéger entrant « keyPress » du clavier du lecteur, éviter ajouter dans le tampon du clavier du système, et les transmettre à ma demande par l'intermédiaire WM_USER, WM_COPYDATA, Socket ou autre méthode. Ainsi, le but serait d'écrire un pilote, à appliquer SEULEMENT à un périphérique HID USB spécifique (le lecteur I-Button, mais PAS au vrai clavier du PC) qui bloque les touches et envoie à l'application d'une manière ou d'une autre.

J'ai vérifié le "filtre clavier" Microsoft, mais je ne peux bloquer que certaines combinaisons de touches, mais ce n'est pas mon objectif. Je pense que je devrais créer une coutume de personnel "kbdhid.sys" personnel et/ou pilote "kbdcalss.sys" et appliquer SEULEMENT à mon lecteur USB HID.

Quelqu'un pourrait-il m'indiquer la bonne direction?

Merci beaucoup

Répondre

0

définir votre lecteur d'envoyer un préfixe avant d'envoyer le code surveiller le clavier pour Que le préfixe et votre pop-up il reçoit l'entrée du clavier d'application. Cependant, de nombreux lecteurs ne peuvent être configurés que pour envoyer un code de contrôle tel que STX - witch is control_B - utilisé par Windows.