mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 01:00:29 +08:00
otg keymap
This commit is contained in:
parent
cbebefc6c9
commit
31c17bb583
16
genmap.py
16
genmap.py
@ -33,9 +33,11 @@ import mako.template
|
|||||||
# =====
|
# =====
|
||||||
@dataclasses.dataclass(frozen=True)
|
@dataclasses.dataclass(frozen=True)
|
||||||
class _KeyMapping:
|
class _KeyMapping:
|
||||||
serial_hid_code: int
|
|
||||||
serial_hid_key: str
|
|
||||||
web_key: str
|
web_key: str
|
||||||
|
serial_code: int
|
||||||
|
arduino_key: str
|
||||||
|
otg_code: int
|
||||||
|
otg_is_modifier: bool
|
||||||
|
|
||||||
|
|
||||||
def _read_keymap_in(path: str) -> List[_KeyMapping]:
|
def _read_keymap_in(path: str) -> List[_KeyMapping]:
|
||||||
@ -45,11 +47,13 @@ def _read_keymap_in(path: str) -> List[_KeyMapping]:
|
|||||||
line = line.strip()
|
line = line.strip()
|
||||||
if len(line) > 0 and not line.startswith("#"):
|
if len(line) > 0 and not line.startswith("#"):
|
||||||
parts = list(map(str.strip, line.split()))
|
parts = list(map(str.strip, line.split()))
|
||||||
if len(parts) >= 3:
|
if len(parts) >= 5:
|
||||||
keymap.append(_KeyMapping(
|
keymap.append(_KeyMapping(
|
||||||
serial_hid_code=int(parts[0]),
|
web_key=parts[0],
|
||||||
serial_hid_key=parts[1],
|
serial_code=int(parts[1]),
|
||||||
web_key=parts[2],
|
arduino_key=parts[2],
|
||||||
|
otg_code=int(parts[3], 16),
|
||||||
|
otg_is_modifier=(parts[4].lower() == "m"),
|
||||||
))
|
))
|
||||||
return keymap
|
return keymap
|
||||||
|
|
||||||
|
|||||||
@ -29,8 +29,8 @@
|
|||||||
<%! import operator %>
|
<%! import operator %>
|
||||||
INLINE KeyboardKeycode keymap(uint8_t code) {
|
INLINE KeyboardKeycode keymap(uint8_t code) {
|
||||||
switch(code) {
|
switch(code) {
|
||||||
% for km in sorted(keymap, key=operator.attrgetter("serial_hid_key")):
|
% for km in sorted(keymap, key=operator.attrgetter("arduino_key")):
|
||||||
case ${km.serial_hid_code}: return ${km.serial_hid_key};
|
case ${km.serial_code}: return ${km.arduino_key};
|
||||||
% endfor
|
% endfor
|
||||||
default: return KEY_ERROR_UNDEFINED;
|
default: return KEY_ERROR_UNDEFINED;
|
||||||
}
|
}
|
||||||
|
|||||||
181
keymap.in
181
keymap.in
@ -20,98 +20,99 @@
|
|||||||
# ========================================================================== #
|
# ========================================================================== #
|
||||||
|
|
||||||
|
|
||||||
# https://github.com/NicoHood/HID/blob/master/src/HID-APIs/ImprovedKeylayouts.h
|
|
||||||
# https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code
|
# https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code
|
||||||
|
# https://github.com/NicoHood/HID/blob/master/src/HID-APIs/ImprovedKeylayouts.h
|
||||||
|
# https://gist.github.com/MightyPork/6da26e382a7ad91b5496ee55fdc73db2
|
||||||
|
|
||||||
# ----------------------------------
|
# -----------------------------------------------------------------------------------
|
||||||
# KVMD | Arduino HID | JS
|
# Web | Serial code | Arduino key | OTG code + modifier flag
|
||||||
# ----------------------------------
|
# -----------------------------------------------------------------------------------
|
||||||
1 KEY_A KeyA
|
KeyA 1 KEY_A 0x04 -
|
||||||
2 KEY_B KeyB
|
KeyB 2 KEY_B 0x05 -
|
||||||
3 KEY_C KeyC
|
KeyC 3 KEY_C 0x06 -
|
||||||
4 KEY_D KeyD
|
KeyD 4 KEY_D 0x07 -
|
||||||
5 KEY_E KeyE
|
KeyE 5 KEY_E 0x08 -
|
||||||
6 KEY_F KeyF
|
KeyF 6 KEY_F 0x09 -
|
||||||
7 KEY_G KeyG
|
KeyG 7 KEY_G 0x0a -
|
||||||
8 KEY_H KeyH
|
KeyH 8 KEY_H 0x0b -
|
||||||
9 KEY_I KeyI
|
KeyI 9 KEY_I 0x0c -
|
||||||
10 KEY_J KeyJ
|
KeyJ 10 KEY_J 0x0d -
|
||||||
11 KEY_K KeyK
|
KeyK 11 KEY_K 0x0e -
|
||||||
12 KEY_L KeyL
|
KeyL 12 KEY_L 0x0f -
|
||||||
13 KEY_M KeyM
|
KeyM 13 KEY_M 0x10 -
|
||||||
14 KEY_N KeyN
|
KeyN 14 KEY_N 0x11 -
|
||||||
15 KEY_O KeyO
|
KeyO 15 KEY_O 0x12 -
|
||||||
16 KEY_P KeyP
|
KeyP 16 KEY_P 0x13 -
|
||||||
17 KEY_Q KeyQ
|
KeyQ 17 KEY_Q 0x14 -
|
||||||
18 KEY_R KeyR
|
KeyR 18 KEY_R 0x15 -
|
||||||
19 KEY_S KeyS
|
KeyS 19 KEY_S 0x16 -
|
||||||
20 KEY_T KeyT
|
KeyT 20 KEY_T 0x17 -
|
||||||
21 KEY_U KeyU
|
KeyU 21 KEY_U 0x18 -
|
||||||
22 KEY_V KeyV
|
KeyV 22 KEY_V 0x19 -
|
||||||
23 KEY_W KeyW
|
KeyW 23 KEY_W 0x1a -
|
||||||
24 KEY_X KeyX
|
KeyX 24 KEY_X 0x1b -
|
||||||
25 KEY_Y KeyY
|
KeyY 25 KEY_Y 0x1c -
|
||||||
26 KEY_Z KeyZ
|
KeyZ 26 KEY_Z 0x1d -
|
||||||
27 KEY_1 Digit1
|
Digit1 27 KEY_1 0x1e -
|
||||||
28 KEY_2 Digit2
|
Digit2 28 KEY_2 0x1f -
|
||||||
29 KEY_3 Digit3
|
Digit3 29 KEY_3 0x20 -
|
||||||
30 KEY_4 Digit4
|
Digit4 30 KEY_4 0x21 -
|
||||||
31 KEY_5 Digit5
|
Digit5 31 KEY_5 0x22 -
|
||||||
32 KEY_6 Digit6
|
Digit6 32 KEY_6 0x23 -
|
||||||
33 KEY_7 Digit7
|
Digit7 33 KEY_7 0x24 -
|
||||||
34 KEY_8 Digit8
|
Digit8 34 KEY_8 0x25 -
|
||||||
35 KEY_9 Digit9
|
Digit9 35 KEY_9 0x26 -
|
||||||
36 KEY_0 Digit0
|
Digit0 36 KEY_0 0x27 -
|
||||||
37 KEY_ENTER Enter
|
Enter 37 KEY_ENTER 0x28 -
|
||||||
38 KEY_ESC Escape
|
Escape 38 KEY_ESC 0x29 -
|
||||||
39 KEY_BACKSPACE Backspace
|
Backspace 39 KEY_BACKSPACE 0x2a -
|
||||||
40 KEY_TAB Tab
|
Tab 40 KEY_TAB 0x2b -
|
||||||
41 KEY_SPACE Space
|
Space 41 KEY_SPACE 0x2c -
|
||||||
42 KEY_MINUS Minus
|
Minus 42 KEY_MINUS 0x2d -
|
||||||
43 KEY_EQUAL Equal
|
Equal 43 KEY_EQUAL 0x2e -
|
||||||
44 KEY_LEFT_BRACE BracketLeft
|
BracketLeft 44 KEY_LEFT_BRACE 0x2f -
|
||||||
45 KEY_RIGHT_BRACE BracketRight
|
BracketRight 45 KEY_RIGHT_BRACE 0x30 -
|
||||||
46 KEY_BACKSLASH Backslash
|
Backslash 46 KEY_BACKSLASH 0x31 -
|
||||||
47 KEY_SEMICOLON Semicolon
|
Semicolon 47 KEY_SEMICOLON 0x33 -
|
||||||
48 KEY_QUOTE Quote
|
Quote 48 KEY_QUOTE 0x34 -
|
||||||
49 KEY_TILDE Backquote
|
Backquote 49 KEY_TILDE 0x35 -
|
||||||
50 KEY_COMMA Comma
|
Comma 50 KEY_COMMA 0x36 -
|
||||||
51 KEY_PERIOD Period
|
Period 51 KEY_PERIOD 0x37 -
|
||||||
52 KEY_SLASH Slash
|
Slash 52 KEY_SLASH 0x38 -
|
||||||
53 KEY_CAPS_LOCK CapsLock
|
CapsLock 53 KEY_CAPS_LOCK 0x39 -
|
||||||
54 KEY_F1 F1
|
F1 54 KEY_F1 0x3a -
|
||||||
55 KEY_F2 F2
|
F2 55 KEY_F2 0x3b -
|
||||||
56 KEY_F3 F3
|
F3 56 KEY_F3 0x3c -
|
||||||
57 KEY_F4 F4
|
F4 57 KEY_F4 0x3d -
|
||||||
58 KEY_F5 F5
|
F5 58 KEY_F5 0x3e -
|
||||||
59 KEY_F6 F6
|
F6 59 KEY_F6 0x3f -
|
||||||
60 KEY_F7 F7
|
F7 60 KEY_F7 0x40 -
|
||||||
61 KEY_F8 F8
|
F8 61 KEY_F8 0x41 -
|
||||||
62 KEY_F9 F9
|
F9 62 KEY_F9 0x42 -
|
||||||
63 KEY_F10 F10
|
F10 63 KEY_F10 0x43 -
|
||||||
64 KEY_F11 F11
|
F11 64 KEY_F11 0x44 -
|
||||||
65 KEY_F12 F12
|
F12 65 KEY_F12 0x45 -
|
||||||
66 KEY_PRINT PrintScreen
|
PrintScreen 66 KEY_PRINT 0x46 -
|
||||||
67 KEY_INSERT Insert
|
Insert 67 KEY_INSERT 0x49 -
|
||||||
68 KEY_HOME Home
|
Home 68 KEY_HOME 0x4a -
|
||||||
69 KEY_PAGE_UP PageUp
|
PageUp 69 KEY_PAGE_UP 0x4b -
|
||||||
70 KEY_DELETE Delete
|
Delete 70 KEY_DELETE 0x4c -
|
||||||
71 KEY_END End
|
End 71 KEY_END 0x4d -
|
||||||
72 KEY_PAGE_DOWN PageDown
|
PageDown 72 KEY_PAGE_DOWN 0x4e -
|
||||||
73 KEY_RIGHT_ARROW ArrowRight
|
ArrowRight 73 KEY_RIGHT_ARROW 0x4f -
|
||||||
74 KEY_LEFT_ARROW ArrowLeft
|
ArrowLeft 74 KEY_LEFT_ARROW 0x50 -
|
||||||
75 KEY_DOWN_ARROW ArrowDown
|
ArrowDown 75 KEY_DOWN_ARROW 0x51 -
|
||||||
76 KEY_UP_ARROW ArrowUp
|
ArrowUp 76 KEY_UP_ARROW 0x52 -
|
||||||
77 KEY_LEFT_CTRL ControlLeft
|
ControlLeft 77 KEY_LEFT_CTRL 0x01 m
|
||||||
78 KEY_LEFT_SHIFT ShiftLeft
|
ShiftLeft 78 KEY_LEFT_SHIFT 0x02 m
|
||||||
79 KEY_LEFT_ALT AltLeft
|
AltLeft 79 KEY_LEFT_ALT 0x04 m
|
||||||
80 KEY_LEFT_GUI MetaLeft
|
MetaLeft 80 KEY_LEFT_GUI 0x08 m
|
||||||
81 KEY_RIGHT_CTRL ControlRight
|
ControlRight 81 KEY_RIGHT_CTRL 0x10 m
|
||||||
82 KEY_RIGHT_SHIFT ShiftRight
|
ShiftRight 82 KEY_RIGHT_SHIFT 0x20 m
|
||||||
83 KEY_RIGHT_ALT AltRight
|
AltRight 83 KEY_RIGHT_ALT 0x40 m
|
||||||
84 KEY_RIGHT_GUI MetaRight
|
MetaRight 84 KEY_RIGHT_GUI 0x80 m
|
||||||
85 KEY_PAUSE Pause
|
Pause 85 KEY_PAUSE 0x48 -
|
||||||
86 KEY_SCROLL_LOCK ScrollLock
|
ScrollLock 86 KEY_SCROLL_LOCK 0x47 -
|
||||||
# KEY_NON_US_NUM
|
# KEY_NON_US_NUM
|
||||||
# KEY_NUM_LOCK
|
# KEY_NUM_LOCK
|
||||||
# KEYPAD_DIVIDE
|
# KEYPAD_DIVIDE
|
||||||
|
|||||||
437
kvmd/keymap.py
437
kvmd/keymap.py
@ -31,97 +31,362 @@ class SerialKey:
|
|||||||
code: int
|
code: int
|
||||||
|
|
||||||
|
|
||||||
|
@dataclasses.dataclass(frozen=True)
|
||||||
|
class OtgKey:
|
||||||
|
code: int
|
||||||
|
is_modifier: bool
|
||||||
|
|
||||||
|
|
||||||
@dataclasses.dataclass(frozen=True)
|
@dataclasses.dataclass(frozen=True)
|
||||||
class Key:
|
class Key:
|
||||||
serial: SerialKey
|
serial: SerialKey
|
||||||
|
otg: OtgKey
|
||||||
|
|
||||||
|
|
||||||
# =====
|
# =====
|
||||||
KEYMAP: Dict[str, Key] = {
|
KEYMAP: Dict[str, Key] = {
|
||||||
"AltLeft": Key(serial=SerialKey(code=79)),
|
"KeyA": Key(
|
||||||
"AltRight": Key(serial=SerialKey(code=83)),
|
serial=SerialKey(code=1),
|
||||||
"ArrowDown": Key(serial=SerialKey(code=75)),
|
otg=OtgKey(code=4, is_modifier=False),
|
||||||
"ArrowLeft": Key(serial=SerialKey(code=74)),
|
),
|
||||||
"ArrowRight": Key(serial=SerialKey(code=73)),
|
"KeyB": Key(
|
||||||
"ArrowUp": Key(serial=SerialKey(code=76)),
|
serial=SerialKey(code=2),
|
||||||
"Backquote": Key(serial=SerialKey(code=49)),
|
otg=OtgKey(code=5, is_modifier=False),
|
||||||
"Backslash": Key(serial=SerialKey(code=46)),
|
),
|
||||||
"Backspace": Key(serial=SerialKey(code=39)),
|
"KeyC": Key(
|
||||||
"BracketLeft": Key(serial=SerialKey(code=44)),
|
serial=SerialKey(code=3),
|
||||||
"BracketRight": Key(serial=SerialKey(code=45)),
|
otg=OtgKey(code=6, is_modifier=False),
|
||||||
"CapsLock": Key(serial=SerialKey(code=53)),
|
),
|
||||||
"Comma": Key(serial=SerialKey(code=50)),
|
"KeyD": Key(
|
||||||
"ControlLeft": Key(serial=SerialKey(code=77)),
|
serial=SerialKey(code=4),
|
||||||
"ControlRight": Key(serial=SerialKey(code=81)),
|
otg=OtgKey(code=7, is_modifier=False),
|
||||||
"Delete": Key(serial=SerialKey(code=70)),
|
),
|
||||||
"Digit0": Key(serial=SerialKey(code=36)),
|
"KeyE": Key(
|
||||||
"Digit1": Key(serial=SerialKey(code=27)),
|
serial=SerialKey(code=5),
|
||||||
"Digit2": Key(serial=SerialKey(code=28)),
|
otg=OtgKey(code=8, is_modifier=False),
|
||||||
"Digit3": Key(serial=SerialKey(code=29)),
|
),
|
||||||
"Digit4": Key(serial=SerialKey(code=30)),
|
"KeyF": Key(
|
||||||
"Digit5": Key(serial=SerialKey(code=31)),
|
serial=SerialKey(code=6),
|
||||||
"Digit6": Key(serial=SerialKey(code=32)),
|
otg=OtgKey(code=9, is_modifier=False),
|
||||||
"Digit7": Key(serial=SerialKey(code=33)),
|
),
|
||||||
"Digit8": Key(serial=SerialKey(code=34)),
|
"KeyG": Key(
|
||||||
"Digit9": Key(serial=SerialKey(code=35)),
|
serial=SerialKey(code=7),
|
||||||
"End": Key(serial=SerialKey(code=71)),
|
otg=OtgKey(code=10, is_modifier=False),
|
||||||
"Enter": Key(serial=SerialKey(code=37)),
|
),
|
||||||
"Equal": Key(serial=SerialKey(code=43)),
|
"KeyH": Key(
|
||||||
"Escape": Key(serial=SerialKey(code=38)),
|
serial=SerialKey(code=8),
|
||||||
"F1": Key(serial=SerialKey(code=54)),
|
otg=OtgKey(code=11, is_modifier=False),
|
||||||
"F10": Key(serial=SerialKey(code=63)),
|
),
|
||||||
"F11": Key(serial=SerialKey(code=64)),
|
"KeyI": Key(
|
||||||
"F12": Key(serial=SerialKey(code=65)),
|
serial=SerialKey(code=9),
|
||||||
"F2": Key(serial=SerialKey(code=55)),
|
otg=OtgKey(code=12, is_modifier=False),
|
||||||
"F3": Key(serial=SerialKey(code=56)),
|
),
|
||||||
"F4": Key(serial=SerialKey(code=57)),
|
"KeyJ": Key(
|
||||||
"F5": Key(serial=SerialKey(code=58)),
|
serial=SerialKey(code=10),
|
||||||
"F6": Key(serial=SerialKey(code=59)),
|
otg=OtgKey(code=13, is_modifier=False),
|
||||||
"F7": Key(serial=SerialKey(code=60)),
|
),
|
||||||
"F8": Key(serial=SerialKey(code=61)),
|
"KeyK": Key(
|
||||||
"F9": Key(serial=SerialKey(code=62)),
|
serial=SerialKey(code=11),
|
||||||
"Home": Key(serial=SerialKey(code=68)),
|
otg=OtgKey(code=14, is_modifier=False),
|
||||||
"Insert": Key(serial=SerialKey(code=67)),
|
),
|
||||||
"KeyA": Key(serial=SerialKey(code=1)),
|
"KeyL": Key(
|
||||||
"KeyB": Key(serial=SerialKey(code=2)),
|
serial=SerialKey(code=12),
|
||||||
"KeyC": Key(serial=SerialKey(code=3)),
|
otg=OtgKey(code=15, is_modifier=False),
|
||||||
"KeyD": Key(serial=SerialKey(code=4)),
|
),
|
||||||
"KeyE": Key(serial=SerialKey(code=5)),
|
"KeyM": Key(
|
||||||
"KeyF": Key(serial=SerialKey(code=6)),
|
serial=SerialKey(code=13),
|
||||||
"KeyG": Key(serial=SerialKey(code=7)),
|
otg=OtgKey(code=16, is_modifier=False),
|
||||||
"KeyH": Key(serial=SerialKey(code=8)),
|
),
|
||||||
"KeyI": Key(serial=SerialKey(code=9)),
|
"KeyN": Key(
|
||||||
"KeyJ": Key(serial=SerialKey(code=10)),
|
serial=SerialKey(code=14),
|
||||||
"KeyK": Key(serial=SerialKey(code=11)),
|
otg=OtgKey(code=17, is_modifier=False),
|
||||||
"KeyL": Key(serial=SerialKey(code=12)),
|
),
|
||||||
"KeyM": Key(serial=SerialKey(code=13)),
|
"KeyO": Key(
|
||||||
"KeyN": Key(serial=SerialKey(code=14)),
|
serial=SerialKey(code=15),
|
||||||
"KeyO": Key(serial=SerialKey(code=15)),
|
otg=OtgKey(code=18, is_modifier=False),
|
||||||
"KeyP": Key(serial=SerialKey(code=16)),
|
),
|
||||||
"KeyQ": Key(serial=SerialKey(code=17)),
|
"KeyP": Key(
|
||||||
"KeyR": Key(serial=SerialKey(code=18)),
|
serial=SerialKey(code=16),
|
||||||
"KeyS": Key(serial=SerialKey(code=19)),
|
otg=OtgKey(code=19, is_modifier=False),
|
||||||
"KeyT": Key(serial=SerialKey(code=20)),
|
),
|
||||||
"KeyU": Key(serial=SerialKey(code=21)),
|
"KeyQ": Key(
|
||||||
"KeyV": Key(serial=SerialKey(code=22)),
|
serial=SerialKey(code=17),
|
||||||
"KeyW": Key(serial=SerialKey(code=23)),
|
otg=OtgKey(code=20, is_modifier=False),
|
||||||
"KeyX": Key(serial=SerialKey(code=24)),
|
),
|
||||||
"KeyY": Key(serial=SerialKey(code=25)),
|
"KeyR": Key(
|
||||||
"KeyZ": Key(serial=SerialKey(code=26)),
|
serial=SerialKey(code=18),
|
||||||
"MetaLeft": Key(serial=SerialKey(code=80)),
|
otg=OtgKey(code=21, is_modifier=False),
|
||||||
"MetaRight": Key(serial=SerialKey(code=84)),
|
),
|
||||||
"Minus": Key(serial=SerialKey(code=42)),
|
"KeyS": Key(
|
||||||
"PageDown": Key(serial=SerialKey(code=72)),
|
serial=SerialKey(code=19),
|
||||||
"PageUp": Key(serial=SerialKey(code=69)),
|
otg=OtgKey(code=22, is_modifier=False),
|
||||||
"Pause": Key(serial=SerialKey(code=85)),
|
),
|
||||||
"Period": Key(serial=SerialKey(code=51)),
|
"KeyT": Key(
|
||||||
"PrintScreen": Key(serial=SerialKey(code=66)),
|
serial=SerialKey(code=20),
|
||||||
"Quote": Key(serial=SerialKey(code=48)),
|
otg=OtgKey(code=23, is_modifier=False),
|
||||||
"ScrollLock": Key(serial=SerialKey(code=86)),
|
),
|
||||||
"Semicolon": Key(serial=SerialKey(code=47)),
|
"KeyU": Key(
|
||||||
"ShiftLeft": Key(serial=SerialKey(code=78)),
|
serial=SerialKey(code=21),
|
||||||
"ShiftRight": Key(serial=SerialKey(code=82)),
|
otg=OtgKey(code=24, is_modifier=False),
|
||||||
"Slash": Key(serial=SerialKey(code=52)),
|
),
|
||||||
"Space": Key(serial=SerialKey(code=41)),
|
"KeyV": Key(
|
||||||
"Tab": Key(serial=SerialKey(code=40)),
|
serial=SerialKey(code=22),
|
||||||
|
otg=OtgKey(code=25, is_modifier=False),
|
||||||
|
),
|
||||||
|
"KeyW": Key(
|
||||||
|
serial=SerialKey(code=23),
|
||||||
|
otg=OtgKey(code=26, is_modifier=False),
|
||||||
|
),
|
||||||
|
"KeyX": Key(
|
||||||
|
serial=SerialKey(code=24),
|
||||||
|
otg=OtgKey(code=27, is_modifier=False),
|
||||||
|
),
|
||||||
|
"KeyY": Key(
|
||||||
|
serial=SerialKey(code=25),
|
||||||
|
otg=OtgKey(code=28, is_modifier=False),
|
||||||
|
),
|
||||||
|
"KeyZ": Key(
|
||||||
|
serial=SerialKey(code=26),
|
||||||
|
otg=OtgKey(code=29, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Digit1": Key(
|
||||||
|
serial=SerialKey(code=27),
|
||||||
|
otg=OtgKey(code=30, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Digit2": Key(
|
||||||
|
serial=SerialKey(code=28),
|
||||||
|
otg=OtgKey(code=31, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Digit3": Key(
|
||||||
|
serial=SerialKey(code=29),
|
||||||
|
otg=OtgKey(code=32, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Digit4": Key(
|
||||||
|
serial=SerialKey(code=30),
|
||||||
|
otg=OtgKey(code=33, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Digit5": Key(
|
||||||
|
serial=SerialKey(code=31),
|
||||||
|
otg=OtgKey(code=34, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Digit6": Key(
|
||||||
|
serial=SerialKey(code=32),
|
||||||
|
otg=OtgKey(code=35, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Digit7": Key(
|
||||||
|
serial=SerialKey(code=33),
|
||||||
|
otg=OtgKey(code=36, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Digit8": Key(
|
||||||
|
serial=SerialKey(code=34),
|
||||||
|
otg=OtgKey(code=37, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Digit9": Key(
|
||||||
|
serial=SerialKey(code=35),
|
||||||
|
otg=OtgKey(code=38, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Digit0": Key(
|
||||||
|
serial=SerialKey(code=36),
|
||||||
|
otg=OtgKey(code=39, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Enter": Key(
|
||||||
|
serial=SerialKey(code=37),
|
||||||
|
otg=OtgKey(code=40, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Escape": Key(
|
||||||
|
serial=SerialKey(code=38),
|
||||||
|
otg=OtgKey(code=41, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Backspace": Key(
|
||||||
|
serial=SerialKey(code=39),
|
||||||
|
otg=OtgKey(code=42, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Tab": Key(
|
||||||
|
serial=SerialKey(code=40),
|
||||||
|
otg=OtgKey(code=43, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Space": Key(
|
||||||
|
serial=SerialKey(code=41),
|
||||||
|
otg=OtgKey(code=44, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Minus": Key(
|
||||||
|
serial=SerialKey(code=42),
|
||||||
|
otg=OtgKey(code=45, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Equal": Key(
|
||||||
|
serial=SerialKey(code=43),
|
||||||
|
otg=OtgKey(code=46, is_modifier=False),
|
||||||
|
),
|
||||||
|
"BracketLeft": Key(
|
||||||
|
serial=SerialKey(code=44),
|
||||||
|
otg=OtgKey(code=47, is_modifier=False),
|
||||||
|
),
|
||||||
|
"BracketRight": Key(
|
||||||
|
serial=SerialKey(code=45),
|
||||||
|
otg=OtgKey(code=48, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Backslash": Key(
|
||||||
|
serial=SerialKey(code=46),
|
||||||
|
otg=OtgKey(code=49, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Semicolon": Key(
|
||||||
|
serial=SerialKey(code=47),
|
||||||
|
otg=OtgKey(code=51, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Quote": Key(
|
||||||
|
serial=SerialKey(code=48),
|
||||||
|
otg=OtgKey(code=52, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Backquote": Key(
|
||||||
|
serial=SerialKey(code=49),
|
||||||
|
otg=OtgKey(code=53, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Comma": Key(
|
||||||
|
serial=SerialKey(code=50),
|
||||||
|
otg=OtgKey(code=54, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Period": Key(
|
||||||
|
serial=SerialKey(code=51),
|
||||||
|
otg=OtgKey(code=55, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Slash": Key(
|
||||||
|
serial=SerialKey(code=52),
|
||||||
|
otg=OtgKey(code=56, is_modifier=False),
|
||||||
|
),
|
||||||
|
"CapsLock": Key(
|
||||||
|
serial=SerialKey(code=53),
|
||||||
|
otg=OtgKey(code=57, is_modifier=False),
|
||||||
|
),
|
||||||
|
"F1": Key(
|
||||||
|
serial=SerialKey(code=54),
|
||||||
|
otg=OtgKey(code=58, is_modifier=False),
|
||||||
|
),
|
||||||
|
"F2": Key(
|
||||||
|
serial=SerialKey(code=55),
|
||||||
|
otg=OtgKey(code=59, is_modifier=False),
|
||||||
|
),
|
||||||
|
"F3": Key(
|
||||||
|
serial=SerialKey(code=56),
|
||||||
|
otg=OtgKey(code=60, is_modifier=False),
|
||||||
|
),
|
||||||
|
"F4": Key(
|
||||||
|
serial=SerialKey(code=57),
|
||||||
|
otg=OtgKey(code=61, is_modifier=False),
|
||||||
|
),
|
||||||
|
"F5": Key(
|
||||||
|
serial=SerialKey(code=58),
|
||||||
|
otg=OtgKey(code=62, is_modifier=False),
|
||||||
|
),
|
||||||
|
"F6": Key(
|
||||||
|
serial=SerialKey(code=59),
|
||||||
|
otg=OtgKey(code=63, is_modifier=False),
|
||||||
|
),
|
||||||
|
"F7": Key(
|
||||||
|
serial=SerialKey(code=60),
|
||||||
|
otg=OtgKey(code=64, is_modifier=False),
|
||||||
|
),
|
||||||
|
"F8": Key(
|
||||||
|
serial=SerialKey(code=61),
|
||||||
|
otg=OtgKey(code=65, is_modifier=False),
|
||||||
|
),
|
||||||
|
"F9": Key(
|
||||||
|
serial=SerialKey(code=62),
|
||||||
|
otg=OtgKey(code=66, is_modifier=False),
|
||||||
|
),
|
||||||
|
"F10": Key(
|
||||||
|
serial=SerialKey(code=63),
|
||||||
|
otg=OtgKey(code=67, is_modifier=False),
|
||||||
|
),
|
||||||
|
"F11": Key(
|
||||||
|
serial=SerialKey(code=64),
|
||||||
|
otg=OtgKey(code=68, is_modifier=False),
|
||||||
|
),
|
||||||
|
"F12": Key(
|
||||||
|
serial=SerialKey(code=65),
|
||||||
|
otg=OtgKey(code=69, is_modifier=False),
|
||||||
|
),
|
||||||
|
"PrintScreen": Key(
|
||||||
|
serial=SerialKey(code=66),
|
||||||
|
otg=OtgKey(code=70, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Insert": Key(
|
||||||
|
serial=SerialKey(code=67),
|
||||||
|
otg=OtgKey(code=73, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Home": Key(
|
||||||
|
serial=SerialKey(code=68),
|
||||||
|
otg=OtgKey(code=74, is_modifier=False),
|
||||||
|
),
|
||||||
|
"PageUp": Key(
|
||||||
|
serial=SerialKey(code=69),
|
||||||
|
otg=OtgKey(code=75, is_modifier=False),
|
||||||
|
),
|
||||||
|
"Delete": Key(
|
||||||
|
serial=SerialKey(code=70),
|
||||||
|
otg=OtgKey(code=76, is_modifier=False),
|
||||||
|
),
|
||||||
|
"End": Key(
|
||||||
|
serial=SerialKey(code=71),
|
||||||
|
otg=OtgKey(code=77, is_modifier=False),
|
||||||
|
),
|
||||||
|
"PageDown": Key(
|
||||||
|
serial=SerialKey(code=72),
|
||||||
|
otg=OtgKey(code=78, is_modifier=False),
|
||||||
|
),
|
||||||
|
"ArrowRight": Key(
|
||||||
|
serial=SerialKey(code=73),
|
||||||
|
otg=OtgKey(code=79, is_modifier=False),
|
||||||
|
),
|
||||||
|
"ArrowLeft": Key(
|
||||||
|
serial=SerialKey(code=74),
|
||||||
|
otg=OtgKey(code=80, is_modifier=False),
|
||||||
|
),
|
||||||
|
"ArrowDown": Key(
|
||||||
|
serial=SerialKey(code=75),
|
||||||
|
otg=OtgKey(code=81, is_modifier=False),
|
||||||
|
),
|
||||||
|
"ArrowUp": Key(
|
||||||
|
serial=SerialKey(code=76),
|
||||||
|
otg=OtgKey(code=82, is_modifier=False),
|
||||||
|
),
|
||||||
|
"ControlLeft": Key(
|
||||||
|
serial=SerialKey(code=77),
|
||||||
|
otg=OtgKey(code=1, is_modifier=True),
|
||||||
|
),
|
||||||
|
"ShiftLeft": Key(
|
||||||
|
serial=SerialKey(code=78),
|
||||||
|
otg=OtgKey(code=2, is_modifier=True),
|
||||||
|
),
|
||||||
|
"AltLeft": Key(
|
||||||
|
serial=SerialKey(code=79),
|
||||||
|
otg=OtgKey(code=4, is_modifier=True),
|
||||||
|
),
|
||||||
|
"MetaLeft": Key(
|
||||||
|
serial=SerialKey(code=80),
|
||||||
|
otg=OtgKey(code=8, is_modifier=True),
|
||||||
|
),
|
||||||
|
"ControlRight": Key(
|
||||||
|
serial=SerialKey(code=81),
|
||||||
|
otg=OtgKey(code=16, is_modifier=True),
|
||||||
|
),
|
||||||
|
"ShiftRight": Key(
|
||||||
|
serial=SerialKey(code=82),
|
||||||
|
otg=OtgKey(code=32, is_modifier=True),
|
||||||
|
),
|
||||||
|
"AltRight": Key(
|
||||||
|
serial=SerialKey(code=83),
|
||||||
|
otg=OtgKey(code=64, is_modifier=True),
|
||||||
|
),
|
||||||
|
"MetaRight": Key(
|
||||||
|
serial=SerialKey(code=84),
|
||||||
|
otg=OtgKey(code=128, is_modifier=True),
|
||||||
|
),
|
||||||
|
"Pause": Key(
|
||||||
|
serial=SerialKey(code=85),
|
||||||
|
otg=OtgKey(code=72, is_modifier=False),
|
||||||
|
),
|
||||||
|
"ScrollLock": Key(
|
||||||
|
serial=SerialKey(code=86),
|
||||||
|
otg=OtgKey(code=71, is_modifier=False),
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,14 +31,24 @@ class SerialKey:
|
|||||||
code: int
|
code: int
|
||||||
|
|
||||||
|
|
||||||
|
@dataclasses.dataclass(frozen=True)
|
||||||
|
class OtgKey:
|
||||||
|
code: int
|
||||||
|
is_modifier: bool
|
||||||
|
|
||||||
|
|
||||||
@dataclasses.dataclass(frozen=True)
|
@dataclasses.dataclass(frozen=True)
|
||||||
class Key:
|
class Key:
|
||||||
serial: SerialKey
|
serial: SerialKey
|
||||||
|
otg: OtgKey
|
||||||
|
|
||||||
<%! import operator %>
|
<%! import operator %>
|
||||||
# =====
|
# =====
|
||||||
KEYMAP: Dict[str, Key] = {
|
KEYMAP: Dict[str, Key] = {
|
||||||
% for km in sorted(keymap, key=operator.attrgetter("web_key")):
|
% for km in sorted(keymap, key=operator.attrgetter("serial_code")):
|
||||||
"${km.web_key}": Key(serial=SerialKey(code=${km.serial_hid_code})),
|
"${km.web_key}": Key(
|
||||||
|
serial=SerialKey(code=${km.serial_code}),
|
||||||
|
otg=OtgKey(code=${km.otg_code}, is_modifier=${km.otg_is_modifier}),
|
||||||
|
),
|
||||||
% endfor
|
% endfor
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,11 @@
|
|||||||
_MassStorageDeviceInfo.manufacturer
|
|
||||||
_MassStorageDeviceInfo.product
|
|
||||||
_MassStorageDeviceInfo.real
|
|
||||||
_MassStorageDeviceInfo.hw
|
|
||||||
_MassStorageDeviceInfo.image
|
|
||||||
|
|
||||||
IpmiServer.handle_raw_request
|
IpmiServer.handle_raw_request
|
||||||
|
|
||||||
fake_rpi.RPi.GPIO
|
fake_rpi.RPi.GPIO
|
||||||
|
|
||||||
_KeyMapping.serial_hid_code
|
|
||||||
_KeyMapping.serial_hid_key
|
|
||||||
_KeyMapping.web_key
|
_KeyMapping.web_key
|
||||||
|
_KeyMapping.serial_code
|
||||||
|
_KeyMapping.arduino_key
|
||||||
|
_KeyMapping.otg_code
|
||||||
|
_KeyMapping.otg_is_modifier
|
||||||
|
|
||||||
_ScriptWriter.get_args
|
_ScriptWriter.get_args
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user