Subversion Repositories group.electronics

Rev

Rev 34 | Rev 39 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
33 pfowler 1
#include <avr/pgmspace.h>
2
 
37 pfowler 3
PROGMEM char usbHidReportDescriptor[91] = {
33 pfowler 4
 
5
    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
6
    0x09, 0x06,                    // USAGE (Keyboard)
7
    0xa1, 0x01,                    // COLLECTION (Application)
8
    0x85, 0x01,                    //   REPORT_ID (1)
9
    0x05, 0x07,                    //   USAGE_PAGE (Keyboard)
10
    0x19, 0xe0,                    //   USAGE_MINIMUM (Keyboard LeftControl)
11
    0x29, 0xe7,                    //   USAGE_MAXIMUM (Keyboard Right GUI)
12
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
13
    0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)
14
    0x75, 0x01,                    //   REPORT_SIZE (1)
15
    0x95, 0x08,                    //   REPORT_COUNT (8)
16
    0x81, 0x02,                    //   INPUT (Data,Var,Abs)
37 pfowler 17
 
33 pfowler 18
    0x95, 0x01,                    //   REPORT_COUNT (1)
19
    0x75, 0x08,                    //   REPORT_SIZE (8)
37 pfowler 20
    0x81, 0x03,                    //   INPUT (Cnst,Var,Abs)
21
 
22
    0x95, 0x06,                    //   REPORT_COUNT (6)
23
    0x75, 0x08,                    //   REPORT_SIZE (8)
33 pfowler 24
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
25
    0x25, 0x65,                    //   LOGICAL_MAXIMUM (101)
26
    0x05, 0x07,                    //   USAGE_PAGE (Keyboard)
27
    0x19, 0x00,                    //   USAGE_MINIMUM (Reserved (no event indicated))
28
    0x29, 0x65,                    //   USAGE_MAXIMUM (Keyboard Application)
37 pfowler 29
    0x81, 0x00,                    //   INPUT (Data,Ary,Abs)				23 46
30
    0xc0,                          // END_COLLECTION					   47
33 pfowler 31
 
37 pfowler 32
    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)			22 44
33 pfowler 33
    0x09, 0x04,                    // USAGE (Joystick)
34
    0xa1, 0x01,                    // COLLECTION (Application)
37 pfowler 35
//    0x09, 0x01,                    //   USAGE (Pointer)
33 pfowler 36
    0xa1, 0x00,                    //   COLLECTION (Physical)
37
    0x85, 0x02,                    //   REPORT_ID (2)
38
    0x05, 0x01,                    //     USAGE_PAGE (Generic Desktop)
39
    0x09, 0x30,                    //     USAGE (X)
40
    0x09, 0x31,                    //     USAGE (Y)
41
    0x15, 0x81,                    //     LOGICAL_MINIMUM (-127)
42
    0x25, 0x7f,              	   //     LOGICAL_MAXIMUM (127)
43
    0x75, 0x08,                    //     REPORT_SIZE (8)
44
    0x95, 0x02,                    //     REPORT_COUNT (2)
45
    0x81, 0x02,                    //     INPUT (Data,Var,Abs)
46
    0x05, 0x09,                    //     USAGE_PAGE (Button)
47
    0x19, 0x01,                    //     USAGE_MINIMUM (Button 1)
48
    0x29, 0x10,                    //     USAGE_MAXIMUM (Button 16)
49
    0x15, 0x00,                    //     LOGICAL_MINIMUM (0)
50
    0x25, 0x01,                    //     LOGICAL_MAXIMUM (1)
51
    0x75, 0x01,                    //     REPORT_SIZE (1)
52
    0x95, 0x10,                    //     REPORT_COUNT (16)
53
    0x81, 0x02,                    //     INPUT (Data,Var,Abs)
54
    0xc0,                          //   END_COLLECTION			
55
    0xc0                           // END_COLLECTION
56
};
57