Forum: Mikrocontroller und Digitale Elektronik HID Descriptor mit mehreren UsagePages?


von Sebastian B. (sebastian_b86)


Lesenswert?

Ich mag mir eine kleine Tastatur bauen die für einen MediaPC eingesetzt 
werden soll. Darauf sollen die wichtigsten Tasten zum Steuern der 
funktion sein.
Alles was in der UsagePage 07 ist geht auch (bis auf die Volume Control) 
nur die coolen Sachen liegen laut einem Dokument 
http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf 
alle in der UsagePage 0C...

Jetzt ist die Frage wie kann ich das ansprechen wenn ich schon die 07 
verwende? Geht das überhaupt?

Mein ReportDescriptor schaut derzeit so aus:
1
PROGMEM char usbHidReportDescriptor[35] = { /* USB report descriptor */
2
    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
3
    0x09, 0x06,                    // USAGE (Keyboard)
4
    0xa1, 0x01,                    // COLLECTION (Application)
5
    0x05, 0x07,                    //   USAGE_PAGE (Keyboard)                                                                                                                                                       
6
    0x19, 0xe0,                    //   USAGE_MINIMUM (Keyboard LeftControl)
7
    0x29, 0xe7,                    //   USAGE_MAXIMUM (Keyboard Right GUI)
8
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
9
    0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)
10
    0x75, 0x01,                    //   REPORT_SIZE (1)
11
    0x95, 0x08,                    //   REPORT_COUNT (8)
12
    0x81, 0x02,                    //   INPUT (Data,Var,Abs)
13
    0x95, 0x01,                    //   REPORT_COUNT (1)
14
    0x75, 0x08,                    //   REPORT_SIZE (8)
15
    0x25, 0x65,                    //   LOGICAL_MAXIMUM (101)
16
    0x19, 0x00,                    //   USAGE_MINIMUM (Reserved (no event indicated))
17
    0x29, 0x65,                    //   USAGE_MAXIMUM (Keyboard Application)
18
    0x81, 0x00,                    //   INPUT (Data,Ary,Abs)
19
    0xc0                           // END_COLLECTION
20
};

Und ist im Prinzip der gleiche wie 
http://www.obdev.at/products/vusb/hidkeys.html

Ich hab mir zwar den HID Standard angeschaut aber irgendwie finde ich da 
jetzt nicht wirklich was?! vllt hab ich auch das falsche dokument?
http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.