Forum: Mikrocontroller und Digitale Elektronik V-USB Volume/Audio Control


von Torsten K. (nobby)


Lesenswert?

Hallo,

ich versuche mit V-USB die Keyboard Audio Tasten zu senden, also z.B. 
Mute, Volume Up oder Volume down.
Laut HID Usage Tables sind das die Codes 0x7F, 0x80 und 0x81. Normale 
Tasten und Sonderzeichen werden angezeigt, aber auf die VolumeControl 
reagiert Windows leider garnicht.

Ich werde aus der HID Usage und den Beispielen leider nicht schlau 
genug.

Muß vielleicht in der usbHidReportDescriptor etwas anderes eingestellt 
werden ?
Ich habe das momentan so:

1
char usbHidReportDescriptor[USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH] 
2
  PROGMEM = {
3
    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
4
    0x09, 0x06,                    // USAGE (Keyboard)
5
    0xa1, 0x01,                    // COLLECTION (Application)
6
    0x05, 0x07,                    //   USAGE_PAGE (Keyboard)
7
    0x19, 0xe0,                    //   USAGE_MINIMUM (Keyboard LeftControl)
8
    0x29, 0xe7,                    //   USAGE_MAXIMUM (Keyboard Right GUI)
9
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
10
    0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)
11
    0x75, 0x01,                    //   REPORT_SIZE (1)
12
    0x95, 0x08,                    //   REPORT_COUNT (8)
13
    0x81, 0x02,                    //   INPUT (Data,Var,Abs)
14
    0x95, 0x01,                    //   REPORT_COUNT (1)
15
    0x75, 0x08,                    //   REPORT_SIZE (8)
16
    0x81, 0x03,                    //   INPUT (Cnst,Var,Abs)
17
    0x95, 0x05,                    //   REPORT_COUNT (5)
18
    0x75, 0x01,                    //   REPORT_SIZE (1)
19
    0x05, 0x08,                    //   USAGE_PAGE (LEDs)
20
    0x19, 0x01,                    //   USAGE_MINIMUM (Num Lock)
21
    0x29, 0x05,                    //   USAGE_MAXIMUM (Kana)
22
    0x91, 0x02,                    //   OUTPUT (Data,Var,Abs)
23
    0x95, 0x01,                    //   REPORT_COUNT (1)
24
    0x75, 0x03,                    //   REPORT_SIZE (3)
25
    0x91, 0x03,                    //   OUTPUT (Cnst,Var,Abs)
26
    0x95, 0x06,                    //   REPORT_COUNT (6)
27
    0x75, 0x08,                    //   REPORT_SIZE (8)
28
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
29
    0x25, 0x65,                    //   LOGICAL_MAXIMUM (101)
30
    0x05, 0x07,                    //   USAGE_PAGE (Keyboard)
31
    0x19, 0x00,                    //   USAGE_MINIMUM (Reserved (no event indicated))
32
    0x29, 0x65,                    //   USAGE_MAXIMUM (Keyboard Application)
33
    0x81, 0x00,                    //   INPUT (Data,Ary,Abs)
34
    0xc0                           // END_COLLECTION  
35
};

Ich habe auch schon die "MAXIMUM" Zeilen erhöht, das hatte aber nicht 
zum Erfolg geführt.

Vielleicht kann mir jemand einen Tipp geben.

Danke
Torsten
von Torsten K. (nobby)


Lesenswert?

Hat denn noch niemand z.B. die "Mute" Taste nachbilden wollen ?

Wäre dankbar für einen Tip !

Gruß
Torsten
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.