summaryrefslogtreecommitdiff
path: root/hid
diff options
context:
space:
mode:
Diffstat (limited to 'hid')
-rw-r--r--hid/.gitignore2
-rw-r--r--hid/Makefile21
-rwxr-xr-xhid/genmap.py36
-rw-r--r--hid/keymap.in109
-rw-r--r--hid/platformio.ini19
-rw-r--r--hid/src/inline.h3
-rw-r--r--hid/src/keymap.h98
-rw-r--r--hid/src/main.cpp98
8 files changed, 0 insertions, 386 deletions
diff --git a/hid/.gitignore b/hid/.gitignore
deleted file mode 100644
index c6d216a4..00000000
--- a/hid/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/.pioenvs/
-/.piolibdeps/
diff --git a/hid/Makefile b/hid/Makefile
deleted file mode 100644
index edbd63f1..00000000
--- a/hid/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-all:
- @ cat Makefile
-
-build:
- platformio run
-
-update:
- platformio platform update
-
-install: upload
-upload:
- platformio run --target upload
-
-serial:
- platformio serialports monitor
-
-regen:
- python3 genmap.py
-
-clean:
- rm -rf .pioenvs .piolibdeps
diff --git a/hid/genmap.py b/hid/genmap.py
deleted file mode 100755
index 75a31624..00000000
--- a/hid/genmap.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env python3
-
-
-import operator
-
-from typing import Tuple
-from typing import List
-
-import yaml
-
-
-# =====
-def main() -> None:
- keymap: List[Tuple[int, str, str]] = []
- with open("keymap.in") as keymap_file:
- for row in keymap_file:
- if not row.startswith("#"):
- parts = row.split()
- keymap.append((int(parts[0]), parts[1], parts[2]))
-
- with open("../kvmd/kvmd/data/keymap.yaml", "w") as kvmd_yaml_file:
- yaml.dump({
- js_key: code
- for (code, _, js_key) in sorted(keymap, key=operator.itemgetter(2))
- }, kvmd_yaml_file, indent=4, default_flow_style=False)
-
- with open("src/keymap.h", "w") as hid_header_file:
- hid_header_file.write("#pragma once\n\n#include <HID-Project.h>\n\n#include \"inline.h\"\n\n\n")
- hid_header_file.write("INLINE KeyboardKeycode keymap(uint8_t code) {\n\tswitch(code) {\n")
- for (code, hid_key, _) in sorted(keymap, key=operator.itemgetter(1)):
- hid_header_file.write("\t\tcase %d: return %s;\n" % (code, hid_key))
- hid_header_file.write("\t\tdefault: return KEY_ERROR_UNDEFINED;\n\t}\n}\n")
-
-
-if __name__ == "__main__":
- main()
diff --git a/hid/keymap.in b/hid/keymap.in
deleted file mode 100644
index da9ddf25..00000000
--- a/hid/keymap.in
+++ /dev/null
@@ -1,109 +0,0 @@
-# https://github.com/NicoHood/HID/blob/master/src/HID-APIs/ImprovedKeylayouts.h
-# https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code
-1 KEY_A KeyA
-2 KEY_B KeyB
-3 KEY_C KeyC
-4 KEY_D KeyD
-5 KEY_E KeyE
-6 KEY_F KeyF
-7 KEY_G KeyG
-8 KEY_H KeyH
-9 KEY_I KeyI
-10 KEY_J KeyJ
-11 KEY_K KeyK
-12 KEY_L KeyL
-13 KEY_M KeyM
-14 KEY_N KeyN
-15 KEY_O KeyO
-16 KEY_P KeyP
-17 KEY_Q KeyQ
-18 KEY_R KeyR
-19 KEY_S KeyS
-20 KEY_T KeyT
-21 KEY_U KeyU
-22 KEY_V KeyV
-23 KEY_W KeyW
-24 KEY_X KeyX
-25 KEY_Y KeyY
-26 KEY_Z KeyZ
-27 KEY_1 Digit1
-28 KEY_2 Digit2
-29 KEY_3 Digit3
-30 KEY_4 Digit4
-31 KEY_5 Digit5
-32 KEY_6 Digit6
-33 KEY_7 Digit7
-34 KEY_8 Digit8
-35 KEY_9 Digit9
-36 KEY_0 Digit0
-37 KEY_ENTER Enter
-38 KEY_ESC Escape
-39 KEY_BACKSPACE Backspace
-40 KEY_TAB Tab
-41 KEY_SPACE Space
-42 KEY_MINUS Minus
-43 KEY_EQUAL Equal
-44 KEY_LEFT_BRACE BracketLeft
-45 KEY_RIGHT_BRACE BracketRight
-46 KEY_BACKSLASH Backslash
-47 KEY_SEMICOLON Semicolon
-48 KEY_QUOTE Quote
-49 KEY_TILDE Backquote
-50 KEY_COMMA Comma
-51 KEY_PERIOD Period
-52 KEY_SLASH Slash
-53 KEY_CAPS_LOCK CapsLock
-54 KEY_F1 F1
-55 KEY_F2 F2
-56 KEY_F3 F3
-57 KEY_F4 F4
-58 KEY_F5 F5
-59 KEY_F6 F6
-60 KEY_F7 F7
-61 KEY_F8 F8
-62 KEY_F9 F9
-63 KEY_F10 F10
-64 KEY_F11 F11
-65 KEY_F12 F12
-66 KEY_PRINT PrintScreen
-67 KEY_INSERT Insert
-68 KEY_HOME Home
-69 KEY_PAGE_UP PageUp
-70 KEY_DELETE Delete
-71 KEY_END End
-72 KEY_PAGE_DOWN PageDown
-73 KEY_RIGHT_ARROW ArrowRight
-74 KEY_LEFT_ARROW ArrowLeft
-75 KEY_DOWN_ARROW ArrowDown
-76 KEY_UP_ARROW ArrowUp
-77 KEY_LEFT_CTRL ControlLeft
-78 KEY_LEFT_SHIFT ShiftLeft
-79 KEY_LEFT_ALT AltLeft
-80 KEY_LEFT_GUI MetaLeft
-81 KEY_RIGHT_CTRL ControlRight
-82 KEY_RIGHT_SHIFT ShiftRight
-83 KEY_RIGHT_ALT AltRight
-84 KEY_RIGHT_GUI MetaRight
-85 KEY_PAUSE Pause
-86 KEY_SCROLL_LOCK ScrollLock
-# KEY_NON_US_NUM
-# KEY_NUM_LOCK
-# KEYPAD_DIVIDE
-# KEYPAD_MULTIPLY
-# KEYPAD_SUBTRACT
-# KEYPAD_ADD
-# KEYPAD_ENTER
-# KEYPAD_1
-# KEYPAD_2
-# KEYPAD_3
-# KEYPAD_4
-# KEYPAD_5
-# KEYPAD_6
-# KEYPAD_7
-# KEYPAD_8
-# KEYPAD_9
-# KEYPAD_0
-# KEYPAD_DOT
-# KEY_NON_US
-# KEY_APPLICATION
-# KEY_MENU
diff --git a/hid/platformio.ini b/hid/platformio.ini
deleted file mode 100644
index 13036b9d..00000000
--- a/hid/platformio.ini
+++ /dev/null
@@ -1,19 +0,0 @@
-; PlatformIO Project Configuration File
-;
-; Build options: build flags, source filter
-; Upload options: custom upload port, speed and extra flags
-; Library options: dependencies, extra library storages
-; Advanced options: extra scripting
-;
-; Please visit documentation for the other options and examples
-; http://docs.platformio.org/page/projectconf.html
-
-[env:micro]
-platform = atmelavr
-board = micro
-framework = arduino
-upload_port = /dev/ttyACM0
-monitor_speed = 115200
-
-lib_deps =
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);
- }
-}