diff options
author | Devaev Maxim <[email protected]> | 2020-08-06 11:10:37 +0300 |
---|---|---|
committer | Devaev Maxim <[email protected]> | 2020-08-06 11:10:37 +0300 |
commit | bf510f4ff3a97913572b6b45d878e4426a665de4 (patch) | |
tree | 2164336d1833d1eca4f77c7388b8b2e6e176e3fa | |
parent | 1a7208f6db7e9ce71aff519e850a2f2fbfb96a69 (diff) |
refactoring
-rwxr-xr-x | genmap.py | 11 | ||||
-rw-r--r-- | hid/src/ps2/keymap.h.mako | 2 | ||||
-rw-r--r-- | hid/src/usb/keymap.h.mako | 2 | ||||
-rw-r--r-- | keymap.csv | 2 | ||||
-rw-r--r-- | testenv/linters/vulture-wl.py | 2 |
5 files changed, 11 insertions, 8 deletions
@@ -61,7 +61,7 @@ class _X11Key: class _KeyMapping: web_name: str serial_code: int - usb_name: str + arduino_name: str otg_key: _OtgKey ps2_key: _Ps2Key at1_code: int @@ -114,7 +114,7 @@ def _read_keymap_csv(path: str) -> List[_KeyMapping]: keymap.append(_KeyMapping( web_name=row["web_name"], serial_code=int(row["serial_code"]), - usb_name=row["usb_name"], + arduino_name=row["arduino_name"], otg_key=_parse_otg_key(row["otg_key"]), ps2_key=_parse_ps2_key(row["ps2_key"]), at1_code=int(row["at1_code"], 16), @@ -135,16 +135,19 @@ def _render_keymap(keymap: List[_KeyMapping], template_path: str, out_path: str) def main() -> None: # https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values # https://github.com/NicoHood/HID/blob/master/src/KeyboardLayouts/ImprovedKeylayouts.h + # https://github.com/Harvie/ps2dev/blob/master/src/ps2dev.h # https://gist.github.com/MightyPork/6da26e382a7ad91b5496ee55fdc73db2 # https://github.com/qemu/keycodemapdb/blob/master/data/keymaps.csv + # Hut1_12v2.pdf # Fields list: # - Web # - Serial code - # - Arduino key + # - Arduino name # - OTG code (^ for mod) + # - PS/2 key # - AT set1 - # -X11 keysyms (^ for shift) + # - X11 keysyms (^ for shift) assert len(sys.argv) == 4, f"{sys.argv[0]} <keymap.csv> <template> <out>" diff --git a/hid/src/ps2/keymap.h.mako b/hid/src/ps2/keymap.h.mako index 95e6541d..70da2f36 100644 --- a/hid/src/ps2/keymap.h.mako +++ b/hid/src/ps2/keymap.h.mako @@ -40,7 +40,7 @@ INLINE void keymapPs2(uint8_t code, Ps2KeyType *ps2_type, uint8_t *ps2_code) { switch (code) { % for km in sorted(keymap, key=operator.attrgetter("serial_code")): - case ${km.serial_code}: *ps2_type = PS2_KEY_TYPE_${km.ps2_key.type.upper()}; *ps2_code = ${km.ps2_key.code}; return; // ${km.usb_name} + case ${km.serial_code}: *ps2_type = PS2_KEY_TYPE_${km.ps2_key.type.upper()}; *ps2_code = ${km.ps2_key.code}; return; // ${km.arduino_name} % endfor } } diff --git a/hid/src/usb/keymap.h.mako b/hid/src/usb/keymap.h.mako index 924f8283..5df3a7f5 100644 --- a/hid/src/usb/keymap.h.mako +++ b/hid/src/usb/keymap.h.mako @@ -30,7 +30,7 @@ INLINE KeyboardKeycode keymapUsb(uint8_t code) { switch (code) { % for km in sorted(keymap, key=operator.attrgetter("serial_code")): - case ${km.serial_code}: return ${km.usb_name}; + case ${km.serial_code}: return ${km.arduino_name}; % endfor default: return KEY_ERROR_UNDEFINED; } @@ -1,4 +1,4 @@ -web_name,serial_code,usb_name,otg_key,ps2_key,at1_code,x11_names +web_name,serial_code,arduino_name,otg_key,ps2_key,at1_code,x11_names KeyA,1,KEY_A,0x04,reg:0x1c,0x1e,"^XK_A,XK_a" KeyB,2,KEY_B,0x05,reg:0x32,0x30,"^XK_B,XK_b" KeyC,3,KEY_C,0x06,reg:0x21,0x2e,"^XK_C,XK_c" diff --git a/testenv/linters/vulture-wl.py b/testenv/linters/vulture-wl.py index 634f0cfb..afb95bc2 100644 --- a/testenv/linters/vulture-wl.py +++ b/testenv/linters/vulture-wl.py @@ -24,7 +24,7 @@ fake_rpi.RPi.GPIO _KeyMapping.web_name _KeyMapping.serial_code -_KeyMapping.usb_name +_KeyMapping.arduino_name _KeyMapping.otg_key _KeyMapping.ps2_key _KeyMapping.at1_code |