Pic USB hid pour émuler souris/clavier je suis perdu !
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Pic USB hid pour émuler souris/clavier je suis perdu !



  1. #1
    exor_6

    Question Pic USB hid pour émuler souris/clavier je suis perdu !


    ------

    Bonjour

    J'aurais aimé avoir quelque conseil au sujet d'une interface pour mon projet de pincab.
    En entrée j'ai:
    5 bouton digital: coin,start,les flip et le nudge
    3 axe analog: l’accéléromètre x y , et le nudge analog.
    Le problème est que j'aimerais ne rien n'avoir a installer sur le pc ni pilote ni programme en sup.
    Pour cela je pensais utiliser un pic usb et émuler clavier/souris en périphérique hid .
    (pour les 5 digit → touche de clavier et les 3 axe analog → x y et molette souris.)
    Le problème est que je programme sous flowcode... et je suis perdu au niveau des macros composant usb hid.

    Quelqu'un ici utilise flowcode et a déjà manipuler ses fameuse macro*?
    Ou devrai-je utiliser un port plus simple a utilisé*? (gameport....)

    merci

    -----
    Fichiers attachés Fichiers attachés

  2. #2
    RISC

    Re : Pic USB hid pour émuler souris/clavier je suis perdu !

    Salut,

    La gestion de clavier et souris et bien d'autres périphériques de classe HID existe dans les librairies Microchip :
    Il suffit de télécharger le compilateur C18 lite gratuit .
    Tu peux télécharger et installer MPLAB ou MPLAB X ici.

    a+

  3. #3
    JPL
    Responsable des forums

    Re : Pic USB hid pour émuler souris/clavier je suis perdu !

    Pour les listings de programmes il y a la balise [code].....[/code] (l'outil #).
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  4. #4
    exor_6

    Thumbs up Re : Pic USB hid pour émuler souris/clavier je suis perdu !

    Merci RISC de ta réponse .
    Les exemple de la librairies m’ont clarifié les idées. je connais maintenant mon problème .
    Les macros dont je parlais n’était rien d'autre que le hid descriptors .
    Si j'ai bien compris le fonctionnement , a l'init de l'usb les paramètre de l'hid est envoyer au pc .
    une foi reconnu le pic n'envoie que les byte d’état dans l'ordre établie dans le hid descriptor (ex:1 1 1 127 127 pour le cas d'une souris) c'est bien sa ?
    mon problème est de créé le hid descriptor pour se fameux périphérique hybride (souris + clavier) je croi avoir trouver une piste ici

  5. A voir en vidéo sur Futura
  6. #5
    exor_6

    Question Re : Pic USB hid pour émuler souris/clavier je suis perdu !

    Code:
        0x05, 0x01, /* Usage Page (Generic Desktop)             */
        0x09, 0x02, /* Usage (Mouse)                            */
        0xA1, 0x01, /* Collection (Application)                 */
        0x09, 0x01, /*  Usage (Pointer)                         */
        0xA1, 0x00, /*  Collection (Physical)                   */
        0x85, 0x01,  /*   Report ID  */
        0x05, 0x09, /*      Usage Page (Buttons)                */
        0x19, 0x01, /*      Usage Minimum (01)                  */
        0x29, 0x03, /*      Usage Maximum (03)                  */
        0x15, 0x00, /*      Logical Minimum (0)                 */
        0x25, 0x01, /*      Logical Maximum (0)                 */
        0x95, 0x03, /*      Report Count (3)                    */
        0x75, 0x01, /*      Report Size (1)                     */
        0x81, 0x02, /*      Input (Data, Variable, Absolute)    */
        0x95, 0x01, /*      Report Count (1)                    */
        0x75, 0x05, /*      Report Size (5)                     */
        0x81, 0x01, /*      Input (Constant)    ;5 bit padding  */
        0x05, 0x01, /*      Usage Page (Generic Desktop)        */
        0x09, 0x30, /*      Usage (X)                           */
        0x09, 0x31, /*      Usage (Y)                           */
        0x15, 0x81, /*      Logical Minimum (-127)              */
        0x25, 0x7F, /*      Logical Maximum (127)               */
        0x75, 0x08, /*      Report Size (8)                     */
        0x95, 0x02, /*      Report Count (2)                    */
        0x81, 0x06, /*      Input (Data, Variable, Relative)    */
        0xC0, 0xC0,/* End Collection,End Collection            */
    //
        0x09, 0x06, /*		Usage (Keyboard)                    */
        0xA1, 0x01, /*		Collection (Application)            */
        0x85, 0x02,  /*   Report ID  */
        0x05, 0x07, /*  	Usage (Key codes)                   */
        0x19, 0xE0, /*      Usage Minimum (224)                 */
        0x29, 0xE7, /*      Usage Maximum (231)                 */
        0x15, 0x00, /*      Logical Minimum (0)                 */
        0x25, 0x01, /*      Logical Maximum (1)                 */
        0x75, 0x01, /*      Report Size (1)                     */
        0x95, 0x08, /*      Report Count (8)                    */
        0x81, 0x02, /*      Input (Data, Variable, Absolute)    */
        0x95, 0x01, /*      Report Count (1)                    */
        0x75, 0x08, /*      Report Size (8)                     */
        0x81, 0x01, /*      Input (Constant)    ;5 bit padding  */
        0x95, 0x05, /*      Report Count (5)                    */
        0x75, 0x01, /*      Report Size (1)                     */
        0x05, 0x08, /*      Usage Page (Page# for LEDs)         */
        0x19, 0x01, /*      Usage Minimum (01)                  */
        0x29, 0x05, /*      Usage Maximum (05)                  */
        0x91, 0x02, /*      Output (Data, Variable, Absolute)   */
        0x95, 0x01, /*      Report Count (1)                    */
        0x75, 0x03, /*      Report Size (3)                     */
        0x91, 0x01, /*      Output (Constant)                   */
        0x95, 0x06, /*      Report Count (1)                    */
        0x75, 0x08, /*      Report Size (3)                     */
        0x15, 0x00, /*      Logical Minimum (0)                 */
        0x25, 0x65, /*      Logical Maximum (101)               */
        0x05, 0x07, /*  	Usage (Key codes)                   */
        0x19, 0x00, /*      Usage Minimum (00)                  */
        0x29, 0x65, /*      Usage Maximum (101)                 */
        0x81, 0x00, /*      Input (Data, Array)                 */
        0xC0};      /* 		End Collection,End Collection       */


    merci jpl pour les balises code
    Dernière modification par exor_6 ; 08/05/2012 à 11h44.

  7. #6
    RISC

    Re : Pic USB hid pour émuler souris/clavier je suis perdu !

    Salut,

    Essayes-tu de faire simplement une souris OU un clavier ou essayes-tu de gérer les deux simultanément.
    Car si tu veux gérer les deux je crois qu'il faut utiliser un device "composite" capable de gérer 2 classes / sous classes différentes simultanément.
    Sur le forum USB Microchip il y a des experts qui pourront t'aider à ce sujet.

    a+

Discussions similaires

  1. PIC 18F2550 et USB HID
    Par koceila882 dans le forum Électronique
    Réponses: 5
    Dernier message: 11/07/2011, 12h45
  2. PIC USB et HID (avec EasyHID) en C!
    Par Shaiton dans le forum Électronique
    Réponses: 39
    Dernier message: 01/11/2009, 11h39
  3. USB sous LINUX (HID par PIC)
    Par Shaiton dans le forum Électronique
    Réponses: 5
    Dernier message: 21/08/2008, 10h47
  4. Périphérique HID USB avec un PIC
    Par inoxxam dans le forum Électronique
    Réponses: 3
    Dernier message: 11/07/2008, 00h09
  5. Souris/clavier PS2 sur port USB
    Par Papy Octet dans le forum Matériel - Hardware
    Réponses: 4
    Dernier message: 16/06/2006, 11h17
Découvrez nos comparatifs produits sur l'informatique et les technologies.