Moved Mouse report descriptor

This commit is contained in:
NicoHood 2015-10-10 19:38:16 +02:00
parent e521af69ca
commit dd52139e1a
2 changed files with 31 additions and 62 deletions

View file

@ -27,68 +27,6 @@ THE SOFTWARE.
#include <Arduino.h>
#include "HID-Settings.h"
static const uint8_t _hidReportDescriptorMouse[] PROGMEM = {
/* Mouse relative */
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) 54 */
0x09, 0x02, /* USAGE (Mouse) */
0xa1, 0x01, /* COLLECTION (Application) */
/* 8 Buttons */
0x05, 0x09, /* USAGE_PAGE (Button) */
0x19, 0x01, /* USAGE_MINIMUM (Button 1) */
0x29, 0x08, /* USAGE_MAXIMUM (Button 8) */
0x15, 0x00, /* LOGICAL_MINIMUM (0) */
0x25, 0x01, /* LOGICAL_MAXIMUM (1) */
0x95, 0x08, /* REPORT_COUNT (8) */
0x75, 0x01, /* REPORT_SIZE (1) */
0x81, 0x02, /* INPUT (Data,Var,Abs) */
/* X, Y, Wheel */
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */
0x09, 0x30, /* USAGE (X) */
0x09, 0x31, /* USAGE (Y) */
0x09, 0x38, /* USAGE (Wheel) */
0x15, 0x81, /* LOGICAL_MINIMUM (-127) */
0x25, 0x7f, /* LOGICAL_MAXIMUM (127) */
0x75, 0x08, /* REPORT_SIZE (8) */
0x95, 0x03, /* REPORT_COUNT (3) */
0x81, 0x06, /* INPUT (Data,Var,Rel) */
/* End */
0xc0 /* END_COLLECTION */
};
static const uint8_t _hidMultiReportDescriptorMouse[] PROGMEM = {
/* Mouse relative */
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) 54 */
0x09, 0x02, /* USAGE (Mouse) */
0xa1, 0x01, /* COLLECTION (Application) */
0x85, HID_REPORTID_MOUSE, /* REPORT_ID */
/* 8 Buttons */
0x05, 0x09, /* USAGE_PAGE (Button) */
0x19, 0x01, /* USAGE_MINIMUM (Button 1) */
0x29, 0x08, /* USAGE_MAXIMUM (Button 8) */
0x15, 0x00, /* LOGICAL_MINIMUM (0) */
0x25, 0x01, /* LOGICAL_MAXIMUM (1) */
0x95, 0x08, /* REPORT_COUNT (8) */
0x75, 0x01, /* REPORT_SIZE (1) */
0x81, 0x02, /* INPUT (Data,Var,Abs) */
/* X, Y, Wheel */
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */
0x09, 0x30, /* USAGE (X) */
0x09, 0x31, /* USAGE (Y) */
0x09, 0x38, /* USAGE (Wheel) */
0x15, 0x81, /* LOGICAL_MINIMUM (-127) */
0x25, 0x7f, /* LOGICAL_MAXIMUM (127) */
0x75, 0x08, /* REPORT_SIZE (8) */
0x95, 0x03, /* REPORT_COUNT (3) */
0x81, 0x06, /* INPUT (Data,Var,Rel) */
/* End */
0xc0 /* END_COLLECTION */
};
#define MOUSE_LEFT (1 << 0)
#define MOUSE_RIGHT (1 << 1)

View file

@ -23,6 +23,37 @@ THE SOFTWARE.
#include "BootMouse.h"
static const uint8_t _hidReportDescriptorMouse[] PROGMEM = {
/* Mouse relative */
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) 54 */
0x09, 0x02, /* USAGE (Mouse) */
0xa1, 0x01, /* COLLECTION (Application) */
/* 8 Buttons */
0x05, 0x09, /* USAGE_PAGE (Button) */
0x19, 0x01, /* USAGE_MINIMUM (Button 1) */
0x29, 0x08, /* USAGE_MAXIMUM (Button 8) */
0x15, 0x00, /* LOGICAL_MINIMUM (0) */
0x25, 0x01, /* LOGICAL_MAXIMUM (1) */
0x95, 0x08, /* REPORT_COUNT (8) */
0x75, 0x01, /* REPORT_SIZE (1) */
0x81, 0x02, /* INPUT (Data,Var,Abs) */
/* X, Y, Wheel */
0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */
0x09, 0x30, /* USAGE (X) */
0x09, 0x31, /* USAGE (Y) */
0x09, 0x38, /* USAGE (Wheel) */
0x15, 0x81, /* LOGICAL_MINIMUM (-127) */
0x25, 0x7f, /* LOGICAL_MAXIMUM (127) */
0x75, 0x08, /* REPORT_SIZE (8) */
0x95, 0x03, /* REPORT_COUNT (3) */
0x81, 0x06, /* INPUT (Data,Var,Rel) */
/* End */
0xc0 /* END_COLLECTION */
};
BootMouse_::BootMouse_(void) : PUSBListNode(1, 1, epType), protocol(1), idle(1)
{
epType[0] = EP_TYPE_INTERRUPT_IN;