Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <hidboot.h>
- #include <usbhub.h>
- class KbdRptParser : public KeyboardReportParser {
- void PrintKey(uint8_t mod, uint8_t key);
- protected:
- void OnControlKeysChanged(uint8_t before, uint8_t after);
- void OnKeyDown(uint8_t mod, uint8_t key);
- void OnKeyUp(uint8_t mod, uint8_t key);
- void OnKeyPressed(uint8_t key);
- };
- void KbdRptParser::PrintKey(uint8_t m, uint8_t key) {};
- void KbdRptParser::OnControlKeysChanged(uint8_t before, uint8_t after) {};
- void KbdRptParser::OnKeyUp(uint8_t mod, uint8_t key) {
- if (key == 40) {
- enterKeyListener();
- } else if (key == 42) {
- backspaceKeyListener();
- } else {
- uint8_t c = OemToAscii(mod, key);
- if (c)
- OnKeyPressed(c);
- }
- };
- void KbdRptParser::OnKeyDown(uint8_t mod, uint8_t key) { };
- void KbdRptParser::OnKeyPressed(uint8_t key) {
- keyListener((char)key);
- };
- USB Usb;
- HIDBoot<HID_PROTOCOL_KEYBOARD> HidKeyboard(&Usb);
- KbdRptParser Prs;
- void setupKeyboard() {
- Usb.Init();
- delay( 200 );
- HidKeyboard.SetReportParser(0, (HIDReportParser*)&Prs);
- Serial.println("Setup Keyboard Done!");
- }
- void runKeyboardTask() {
- Usb.Task();
- }
Advertisement
Add Comment
Please, Sign In to add comment