Subversion Repositories group.electronics

Rev

Rev 33 | Rev 37 | 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
 
34 pfowler 3
PROGMEM char usbHidReportDescriptor[89] = {
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)
17
    0x95, 0x01,                    //   REPORT_COUNT (1)
18
    0x75, 0x08,                    //   REPORT_SIZE (8)
19
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
20
    0x25, 0x65,                    //   LOGICAL_MAXIMUM (101)
21
    0x05, 0x07,                    //   USAGE_PAGE (Keyboard)
22
    0x19, 0x00,                    //   USAGE_MINIMUM (Reserved (no event indicated))
23
    0x29, 0x65,                    //   USAGE_MAXIMUM (Keyboard Application)
34 pfowler 24
    0x81, 0x00,                    //   INPUT (Data,Ary,Abs)				20 40
25
    0xc0,                          // END_COLLECTION					   41
33 pfowler 26
 
27
    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)			24 48
28
    0x09, 0x04,                    // USAGE (Joystick)
29
    0xa1, 0x01,                    // COLLECTION (Application)
30
    0x09, 0x01,                    //   USAGE (Pointer)
31
    0xa1, 0x00,                    //   COLLECTION (Physical)
32
    0x85, 0x02,                    //   REPORT_ID (2)
33
    0x05, 0x01,                    //     USAGE_PAGE (Generic Desktop)
34
    0x09, 0x30,                    //     USAGE (X)
35
    0x09, 0x31,                    //     USAGE (Y)
36
    0x15, 0x81,                    //     LOGICAL_MINIMUM (-127)
37
    0x25, 0x7f,              	   //     LOGICAL_MAXIMUM (127)
38
    0x75, 0x08,                    //     REPORT_SIZE (8)
39
    0x95, 0x02,                    //     REPORT_COUNT (2)
40
    0x81, 0x02,                    //     INPUT (Data,Var,Abs)
41
    0x05, 0x09,                    //     USAGE_PAGE (Button)
42
    0x19, 0x01,                    //     USAGE_MINIMUM (Button 1)
43
    0x29, 0x10,                    //     USAGE_MAXIMUM (Button 16)
44
    0x15, 0x00,                    //     LOGICAL_MINIMUM (0)
45
    0x25, 0x01,                    //     LOGICAL_MAXIMUM (1)
46
    0x75, 0x01,                    //     REPORT_SIZE (1)
47
    0x95, 0x10,                    //     REPORT_COUNT (16)
48
    0x81, 0x02,                    //     INPUT (Data,Var,Abs)
49
    0xc0,                          //   END_COLLECTION			
50
    0xc0                           // END_COLLECTION
51
};
52