aboutsummaryrefslogtreecommitdiff
path: root/keyboard/mbed_onekey/HIDKeyboard.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/mbed_onekey/HIDKeyboard.h')
-rw-r--r--keyboard/mbed_onekey/HIDKeyboard.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/keyboard/mbed_onekey/HIDKeyboard.h b/keyboard/mbed_onekey/HIDKeyboard.h
new file mode 100644
index 000000000..b00c97b9b
--- /dev/null
+++ b/keyboard/mbed_onekey/HIDKeyboard.h
@@ -0,0 +1,36 @@
1#ifndef HIDKEYBOARD_H
2
3#include "stdint.h"
4#include "stdbool.h"
5#include "USBHID.h"
6
7
8typedef union {
9 uint8_t raw[8];
10 struct {
11 uint8_t mods;
12 uint8_t reserved;
13 uint8_t keys[6];
14 };
15} __attribute__ ((packed)) report_keyboard_t;
16
17
18class HIDKeyboard : public USBDevice {
19public:
20 HIDKeyboard(uint16_t vendor_id = 0xFEED, uint16_t product_id = 0xabed, uint16_t product_release = 0x0001);
21
22 bool sendReport(report_keyboard_t report);
23protected:
24 uint16_t reportLength;
25 virtual bool USBCallback_setConfiguration(uint8_t configuration);
26 virtual uint8_t * stringImanufacturerDesc();
27 virtual uint8_t * stringIproductDesc();
28 virtual uint8_t * stringIserialDesc();
29 virtual uint16_t reportDescLength();
30 virtual uint8_t * reportDesc();
31 virtual uint8_t * configurationDesc();
32 //virtual uint8_t * deviceDesc();
33 virtual bool USBCallback_request();
34};
35
36#endif