summaryrefslogtreecommitdiff
path: root/hid/src
diff options
context:
space:
mode:
authorDevaev Maxim <[email protected]>2018-09-26 02:20:58 +0300
committerDevaev Maxim <[email protected]>2018-09-26 02:20:58 +0300
commit089bac2bcd1e49ba77aacd6853ef93e03a051b96 (patch)
tree0d3082726e8bef2c39ec66cb83bf05a54e945ffe /hid/src
parent940989b6e9a3fe31bd236e4bed96e1d4778a403b (diff)
moved hid to kvmd
Diffstat (limited to 'hid/src')
-rw-r--r--hid/src/inline.h3
-rw-r--r--hid/src/keymap.h98
-rw-r--r--hid/src/main.cpp98
3 files changed, 0 insertions, 199 deletions
diff --git a/hid/src/inline.h b/hid/src/inline.h
deleted file mode 100644
index 5b642a83..00000000
--- a/hid/src/inline.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#define INLINE inline __attribute__((always_inline))
diff --git a/hid/src/keymap.h b/hid/src/keymap.h
deleted file mode 100644
index c2302601..00000000
--- a/hid/src/keymap.h
+++ /dev/null
@@ -1,98 +0,0 @@
-#pragma once
-
-#include <HID-Project.h>
-
-#include "inline.h"
-
-
-INLINE KeyboardKeycode keymap(uint8_t code) {
- switch(code) {
- case 36: return KEY_0;
- case 27: return KEY_1;
- case 28: return KEY_2;
- case 29: return KEY_3;
- case 30: return KEY_4;
- case 31: return KEY_5;
- case 32: return KEY_6;
- case 33: return KEY_7;
- case 34: return KEY_8;
- case 35: return KEY_9;
- case 1: return KEY_A;
- case 2: return KEY_B;
- case 46: return KEY_BACKSLASH;
- case 39: return KEY_BACKSPACE;
- case 3: return KEY_C;
- case 53: return KEY_CAPS_LOCK;
- case 50: return KEY_COMMA;
- case 4: return KEY_D;
- case 70: return KEY_DELETE;
- case 75: return KEY_DOWN_ARROW;
- case 5: return KEY_E;
- case 71: return KEY_END;
- case 37: return KEY_ENTER;
- case 43: return KEY_EQUAL;
- case 38: return KEY_ESC;
- case 6: return KEY_F;
- case 54: return KEY_F1;
- case 63: return KEY_F10;
- case 64: return KEY_F11;
- case 65: return KEY_F12;
- case 55: return KEY_F2;
- case 56: return KEY_F3;
- case 57: return KEY_F4;
- case 58: return KEY_F5;
- case 59: return KEY_F6;
- case 60: return KEY_F7;
- case 61: return KEY_F8;
- case 62: return KEY_F9;
- case 7: return KEY_G;
- case 8: return KEY_H;
- case 68: return KEY_HOME;
- case 9: return KEY_I;
- case 67: return KEY_INSERT;
- case 10: return KEY_J;
- case 11: return KEY_K;
- case 12: return KEY_L;
- case 79: return KEY_LEFT_ALT;
- case 74: return KEY_LEFT_ARROW;
- case 44: return KEY_LEFT_BRACE;
- case 77: return KEY_LEFT_CTRL;
- case 80: return KEY_LEFT_GUI;
- case 78: return KEY_LEFT_SHIFT;
- case 13: return KEY_M;
- case 42: return KEY_MINUS;
- case 14: return KEY_N;
- case 15: return KEY_O;
- case 16: return KEY_P;
- case 72: return KEY_PAGE_DOWN;
- case 69: return KEY_PAGE_UP;
- case 85: return KEY_PAUSE;
- case 51: return KEY_PERIOD;
- case 66: return KEY_PRINT;
- case 17: return KEY_Q;
- case 48: return KEY_QUOTE;
- case 18: return KEY_R;
- case 83: return KEY_RIGHT_ALT;
- case 73: return KEY_RIGHT_ARROW;
- case 45: return KEY_RIGHT_BRACE;
- case 81: return KEY_RIGHT_CTRL;
- case 84: return KEY_RIGHT_GUI;
- case 82: return KEY_RIGHT_SHIFT;
- case 19: return KEY_S;
- case 86: return KEY_SCROLL_LOCK;
- case 47: return KEY_SEMICOLON;
- case 52: return KEY_SLASH;
- case 41: return KEY_SPACE;
- case 20: return KEY_T;
- case 40: return KEY_TAB;
- case 49: return KEY_TILDE;
- case 21: return KEY_U;
- case 76: return KEY_UP_ARROW;
- case 22: return KEY_V;
- case 23: return KEY_W;
- case 24: return KEY_X;
- case 25: return KEY_Y;
- case 26: return KEY_Z;
- default: return KEY_ERROR_UNDEFINED;
- }
-}
diff --git a/hid/src/main.cpp b/hid/src/main.cpp
deleted file mode 100644
index 7bfced13..00000000
--- a/hid/src/main.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-#include <Arduino.h>
-#include <HID-Project.h>
-
-#include "inline.h"
-#include "keymap.h"
-
-#define CMD_SERIAL Serial1
-#define CMD_SERIAL_SPEED 115200
-
-#define CMD_MOUSE_LEFT 0b10000000
-#define CMD_MOUSE_LEFT_STATE 0b00001000
-#define CMD_MOUSE_RIGHT 0b01000000
-#define CMD_MOUSE_RIGHT_STATE 0b00000100
-
-
-// -----------------------------------------------------------------------------
-INLINE void cmdResetHid() { // 0 bytes
- CMD_SERIAL.read(); // unused
- CMD_SERIAL.read(); // unused
- CMD_SERIAL.read(); // unused
- CMD_SERIAL.read(); // unused
- BootKeyboard.releaseAll();
- SingleAbsoluteMouse.releaseAll();
-}
-
-INLINE void cmdKeyEvent() { // 2 bytes
- KeyboardKeycode code = keymap((uint8_t)CMD_SERIAL.read());
- uint8_t state = CMD_SERIAL.read();
- CMD_SERIAL.read(); // unused
- CMD_SERIAL.read(); // unused
- if (code != KEY_ERROR_UNDEFINED) {
- if (state) {
- BootKeyboard.press(code);
- } else {
- BootKeyboard.release(code);
- }
- }
-}
-
-INLINE void cmdMouseMoveEvent() { // 4 bytes
- int x = (int)CMD_SERIAL.read() << 8;
- x |= (int)CMD_SERIAL.read();
- int y = (int)CMD_SERIAL.read() << 8;
- y |= (int)CMD_SERIAL.read();
- SingleAbsoluteMouse.moveTo(x, y);
-}
-
-INLINE void cmdMouseButtonEvent() { // 1 byte
- uint8_t state = CMD_SERIAL.read();
- CMD_SERIAL.read(); // unused
- CMD_SERIAL.read(); // unused
- CMD_SERIAL.read(); // unused
- if (state & CMD_MOUSE_LEFT) {
- if (state & CMD_MOUSE_LEFT_STATE) {
- SingleAbsoluteMouse.press(MOUSE_LEFT);
- } else {
- SingleAbsoluteMouse.release(MOUSE_LEFT);
- }
- }
- if (state & CMD_MOUSE_RIGHT) {
- if (state & CMD_MOUSE_RIGHT_STATE) {
- SingleAbsoluteMouse.press(MOUSE_RIGHT);
- } else {
- SingleAbsoluteMouse.release(MOUSE_RIGHT);
- }
- }
-}
-
-INLINE void cmdMouseWheelEvent() { // 2 bytes
- CMD_SERIAL.read(); // delta_x is not supported by hid-project now
- signed char delta_y = CMD_SERIAL.read();
- CMD_SERIAL.read(); // unused
- CMD_SERIAL.read(); // unused
- SingleAbsoluteMouse.move(0, 0, delta_y);
-}
-
-
-// -----------------------------------------------------------------------------
-void setup() {
- CMD_SERIAL.begin(CMD_SERIAL_SPEED);
- BootKeyboard.begin();
- SingleAbsoluteMouse.begin();
- CMD_SERIAL.write(0);
-}
-
-void loop() {
- if (CMD_SERIAL.available() >= 5) {
- switch ((uint8_t)CMD_SERIAL.read()) {
- case 0: cmdResetHid(); break;
- case 1: cmdKeyEvent(); break;
- case 2: cmdMouseMoveEvent(); break;
- case 3: cmdMouseButtonEvent(); break;
- case 4: cmdMouseWheelEvent(); break;
- default: break;
- }
- CMD_SERIAL.write(0);
- }
-}