// construct a keyboard report, follow the standard format as described // this format is compatible with "boot protocol" void pressKey(uint8_t modifiers, uint8_t keycode1) { report_buffer[0] = modifiers; report_buffer[1] = 0; // reserved report_buffer[2] = keycode1; report_buffer[3] = 0; //keycode2; report_buffer[4] = 0; //keycode3; report_buffer[5] = 0; //keycode4; report_buffer[6] = 0; //keycode5; report_buffer[7] = 0; //keycode6; usbReportSend(); }
// makes a mouse movement, must be called at least once every 10ms, even if no movement void Trinket_Mouse::move(signed char x, signed char y, signed char wheel, uint8_t buttonMask) { signed char * signed_ptr = (signed char *)report_buffer; // this converts signed to unsigned // format the report structure signed_ptr[1] = x; signed_ptr[2] = y; signed_ptr[3] = wheel; report_buffer[0] = buttonMask; usbReportSend(); }