summaryrefslogtreecommitdiff
path: root/hid/src/main.cpp
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/main.cpp
parent940989b6e9a3fe31bd236e4bed96e1d4778a403b (diff)
moved hid to kvmd
Diffstat (limited to 'hid/src/main.cpp')
-rw-r--r--hid/src/main.cpp98
1 files changed, 0 insertions, 98 deletions
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);
- }
-}