diff -ur /usr/local/arduino/hardware/arduino/cores/arduino/HID.cpp arduino/hardware/arduino/cores/arduino/HID.cpp --- /usr/local/arduino/hardware/arduino/cores/arduino/HID.cpp 2014-09-16 22:45:33.000000000 +0900 +++ arduino/hardware/arduino/cores/arduino/HID.cpp 2015-07-30 18:18:52.000000000 +0900 @@ -98,11 +98,11 @@ 0x95, 0x06, // REPORT_COUNT (6) 0x75, 0x08, // REPORT_SIZE (8) 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x65, // LOGICAL_MAXIMUM (101) + 0x25, 0xe7/*0x65*/, // LOGICAL_MAXIMUM (101) 0x05, 0x07, // USAGE_PAGE (Keyboard) 0x19, 0x00, // USAGE_MINIMUM (Reserved (no event indicated)) - 0x29, 0x65, // USAGE_MAXIMUM (Keyboard Application) + 0x29, 0xe7/*0x65*/, // USAGE_MAXIMUM (Keyboard Application) 0x81, 0x00, // INPUT (Data,Ary,Abs) 0xc0, // END_COLLECTION @@ -515,6 +515,11 @@ return (p); // just return the result of press() since release() almost always returns 1 } +void Keyboard_::sendReport_(KeyReport* keys) +{ + sendReport(keys); +} + #endif #endif /* if defined(USBCON) */ diff -ur /usr/local/arduino/hardware/arduino/cores/arduino/USBAPI.h arduino/hardware/arduino/cores/arduino/USBAPI.h --- /usr/local/arduino/hardware/arduino/cores/arduino/USBAPI.h 2014-09-16 22:45:33.000000000 +0900 +++ arduino/hardware/arduino/cores/arduino/USBAPI.h 2015-07-30 18:18:52.000000000 +0900 @@ -134,6 +134,7 @@ virtual size_t press(uint8_t k); virtual size_t release(uint8_t k); virtual void releaseAll(void); + virtual void sendReport_(KeyReport* keys); }; extern Keyboard_ Keyboard;