macro_recorder: move recorder aliases to keycodes.py
parent
65a1e9d7c6
commit
b15a017750
|
|
@ -5,8 +5,9 @@
|
|||
class Keycode:
|
||||
|
||||
masked_keycodes = set()
|
||||
recorder_alias_to_keycode = dict()
|
||||
|
||||
def __init__(self, code, qmk_id, label, tooltip=None, masked=False, printable=None):
|
||||
def __init__(self, code, qmk_id, label, tooltip=None, masked=False, printable=None, recorder_alias=None):
|
||||
self.code = code
|
||||
self.qmk_id = qmk_id
|
||||
self.label = label
|
||||
|
|
@ -17,9 +18,19 @@ class Keycode:
|
|||
# if this is printable keycode, what character does it normally output (i.e. non-shifted state)
|
||||
self.printable = printable
|
||||
|
||||
if recorder_alias:
|
||||
for alias in recorder_alias:
|
||||
if alias in self.recorder_alias_to_keycode:
|
||||
raise RuntimeError("Misconfigured: two keycodes claim the same alias {}".format(alias))
|
||||
self.recorder_alias_to_keycode[alias] = self
|
||||
|
||||
if masked:
|
||||
self.masked_keycodes.add(code)
|
||||
|
||||
@classmethod
|
||||
def find_by_recorder_alias(cls, alias):
|
||||
return cls.recorder_alias_to_keycode.get(alias)
|
||||
|
||||
|
||||
K = Keycode
|
||||
|
||||
|
|
@ -29,85 +40,85 @@ KEYCODES_SPECIAL = [
|
|||
]
|
||||
|
||||
KEYCODES_BASIC = [
|
||||
K(0x04, "KC_A", "A", printable="a"),
|
||||
K(0x05, "KC_B", "B", printable="b"),
|
||||
K(0x06, "KC_C", "C", printable="c"),
|
||||
K(0x07, "KC_D", "D", printable="d"),
|
||||
K(0x08, "KC_E", "E", printable="e"),
|
||||
K(0x09, "KC_F", "F", printable="f"),
|
||||
K(0x0A, "KC_G", "G", printable="g"),
|
||||
K(0x0B, "KC_H", "H", printable="h"),
|
||||
K(0x0C, "KC_I", "I", printable="i"),
|
||||
K(0x0D, "KC_J", "J", printable="j"),
|
||||
K(0x0E, "KC_K", "K", printable="k"),
|
||||
K(0x0F, "KC_L", "L", printable="l"),
|
||||
K(0x10, "KC_M", "M", printable="m"),
|
||||
K(0x11, "KC_N", "N", printable="n"),
|
||||
K(0x12, "KC_O", "O", printable="o"),
|
||||
K(0x13, "KC_P", "P", printable="p"),
|
||||
K(0x14, "KC_Q", "Q", printable="q"),
|
||||
K(0x15, "KC_R", "R", printable="r"),
|
||||
K(0x16, "KC_S", "S", printable="s"),
|
||||
K(0x17, "KC_T", "T", printable="t"),
|
||||
K(0x18, "KC_U", "U", printable="u"),
|
||||
K(0x19, "KC_V", "V", printable="v"),
|
||||
K(0x1A, "KC_W", "W", printable="w"),
|
||||
K(0x1B, "KC_X", "X", printable="x"),
|
||||
K(0x1C, "KC_Y", "Y", printable="y"),
|
||||
K(0x1D, "KC_Z", "Z", printable="z"),
|
||||
K(0x1E, "KC_1", "!\n1", printable="1"),
|
||||
K(0x1F, "KC_2", "@\n2", printable="2"),
|
||||
K(0x20, "KC_3", "#\n3", printable="3"),
|
||||
K(0x21, "KC_4", "$\n4", printable="4"),
|
||||
K(0x22, "KC_5", "%\n5", printable="5"),
|
||||
K(0x23, "KC_6", "^\n6", printable="6"),
|
||||
K(0x24, "KC_7", "&\n7", printable="7"),
|
||||
K(0x25, "KC_8", "*\n8", printable="8"),
|
||||
K(0x26, "KC_9", "(\n9", printable="9"),
|
||||
K(0x27, "KC_0", ")\n0", printable="0"),
|
||||
K(0x28, "KC_ENTER", "Enter"),
|
||||
K(0x29, "KC_ESCAPE", "Esc"),
|
||||
K(0x2A, "KC_BSPACE", "Bksp"),
|
||||
K(0x2B, "KC_TAB", "Tab"),
|
||||
K(0x2C, "KC_SPACE", "Space"),
|
||||
K(0x2D, "KC_MINUS", "_\n-", printable="-"),
|
||||
K(0x2E, "KC_EQUAL", "+\n=", printable="="),
|
||||
K(0x2F, "KC_LBRACKET", "{\n[", printable="["),
|
||||
K(0x30, "KC_RBRACKET", "}\n]", printable="]"),
|
||||
K(0x31, "KC_BSLASH", "|\n\\", printable="\\"),
|
||||
K(0x33, "KC_SCOLON", ":\n;", printable=";"),
|
||||
K(0x34, "KC_QUOTE", "\"\n'", printable="'"),
|
||||
K(0x35, "KC_GRAVE", "~\n`", printable="`"),
|
||||
K(0x36, "KC_COMMA", "<\n,", printable=","),
|
||||
K(0x37, "KC_DOT", ">\n.", printable="."),
|
||||
K(0x38, "KC_SLASH", "?\n/", printable="/"),
|
||||
K(0x39, "KC_CAPSLOCK", "Caps\nLock"),
|
||||
K(0x3A, "KC_F1", "F1"),
|
||||
K(0x3B, "KC_F2", "F2"),
|
||||
K(0x3C, "KC_F3", "F3"),
|
||||
K(0x3D, "KC_F4", "F4"),
|
||||
K(0x3E, "KC_F5", "F5"),
|
||||
K(0x3F, "KC_F6", "F6"),
|
||||
K(0x40, "KC_F7", "F7"),
|
||||
K(0x41, "KC_F8", "F8"),
|
||||
K(0x42, "KC_F9", "F9"),
|
||||
K(0x43, "KC_F10", "F10"),
|
||||
K(0x44, "KC_F11", "F11"),
|
||||
K(0x45, "KC_F12", "F12"),
|
||||
K(0x04, "KC_A", "A", printable="a", recorder_alias=["a"]),
|
||||
K(0x05, "KC_B", "B", printable="b", recorder_alias=["b"]),
|
||||
K(0x06, "KC_C", "C", printable="c", recorder_alias=["c"]),
|
||||
K(0x07, "KC_D", "D", printable="d", recorder_alias=["d"]),
|
||||
K(0x08, "KC_E", "E", printable="e", recorder_alias=["e"]),
|
||||
K(0x09, "KC_F", "F", printable="f", recorder_alias=["f"]),
|
||||
K(0x0A, "KC_G", "G", printable="g", recorder_alias=["g"]),
|
||||
K(0x0B, "KC_H", "H", printable="h", recorder_alias=["h"]),
|
||||
K(0x0C, "KC_I", "I", printable="i", recorder_alias=["i"]),
|
||||
K(0x0D, "KC_J", "J", printable="j", recorder_alias=["j"]),
|
||||
K(0x0E, "KC_K", "K", printable="k", recorder_alias=["k"]),
|
||||
K(0x0F, "KC_L", "L", printable="l", recorder_alias=["l"]),
|
||||
K(0x10, "KC_M", "M", printable="m", recorder_alias=["m"]),
|
||||
K(0x11, "KC_N", "N", printable="n", recorder_alias=["n"]),
|
||||
K(0x12, "KC_O", "O", printable="o", recorder_alias=["o"]),
|
||||
K(0x13, "KC_P", "P", printable="p", recorder_alias=["p"]),
|
||||
K(0x14, "KC_Q", "Q", printable="q", recorder_alias=["q"]),
|
||||
K(0x15, "KC_R", "R", printable="r", recorder_alias=["r"]),
|
||||
K(0x16, "KC_S", "S", printable="s", recorder_alias=["s"]),
|
||||
K(0x17, "KC_T", "T", printable="t", recorder_alias=["t"]),
|
||||
K(0x18, "KC_U", "U", printable="u", recorder_alias=["u"]),
|
||||
K(0x19, "KC_V", "V", printable="v", recorder_alias=["v"]),
|
||||
K(0x1A, "KC_W", "W", printable="w", recorder_alias=["w"]),
|
||||
K(0x1B, "KC_X", "X", printable="x", recorder_alias=["x"]),
|
||||
K(0x1C, "KC_Y", "Y", printable="y", recorder_alias=["y"]),
|
||||
K(0x1D, "KC_Z", "Z", printable="z", recorder_alias=["z"]),
|
||||
K(0x1E, "KC_1", "!\n1", printable="1", recorder_alias=["1"]),
|
||||
K(0x1F, "KC_2", "@\n2", printable="2", recorder_alias=["2"]),
|
||||
K(0x20, "KC_3", "#\n3", printable="3", recorder_alias=["3"]),
|
||||
K(0x21, "KC_4", "$\n4", printable="4", recorder_alias=["4"]),
|
||||
K(0x22, "KC_5", "%\n5", printable="5", recorder_alias=["5"]),
|
||||
K(0x23, "KC_6", "^\n6", printable="6", recorder_alias=["6"]),
|
||||
K(0x24, "KC_7", "&\n7", printable="7", recorder_alias=["7"]),
|
||||
K(0x25, "KC_8", "*\n8", printable="8", recorder_alias=["8"]),
|
||||
K(0x26, "KC_9", "(\n9", printable="9", recorder_alias=["9"]),
|
||||
K(0x27, "KC_0", ")\n0", printable="0", recorder_alias=["0"]),
|
||||
K(0x28, "KC_ENTER", "Enter", recorder_alias=["enter"]),
|
||||
K(0x29, "KC_ESCAPE", "Esc", recorder_alias=["esc"]),
|
||||
K(0x2A, "KC_BSPACE", "Bksp", recorder_alias=["backspace"]),
|
||||
K(0x2B, "KC_TAB", "Tab", recorder_alias=["tab"]),
|
||||
K(0x2C, "KC_SPACE", "Space", recorder_alias=["space"]),
|
||||
K(0x2D, "KC_MINUS", "_\n-", printable="-", recorder_alias=["-"]),
|
||||
K(0x2E, "KC_EQUAL", "+\n=", printable="=", recorder_alias=["="]),
|
||||
K(0x2F, "KC_LBRACKET", "{\n[", printable="[", recorder_alias=["["]),
|
||||
K(0x30, "KC_RBRACKET", "}\n]", printable="]", recorder_alias=["]"]),
|
||||
K(0x31, "KC_BSLASH", "|\n\\", printable="\\", recorder_alias=["\\"]),
|
||||
K(0x33, "KC_SCOLON", ":\n;", printable=";", recorder_alias=[";"]),
|
||||
K(0x34, "KC_QUOTE", "\"\n'", printable="'", recorder_alias=["'"]),
|
||||
K(0x35, "KC_GRAVE", "~\n`", printable="`", recorder_alias=["`"]),
|
||||
K(0x36, "KC_COMMA", "<\n,", printable=",", recorder_alias=[","]),
|
||||
K(0x37, "KC_DOT", ">\n.", printable=".", recorder_alias=["."]),
|
||||
K(0x38, "KC_SLASH", "?\n/", printable="/", recorder_alias=["/"]),
|
||||
K(0x39, "KC_CAPSLOCK", "Caps\nLock", recorder_alias=["caps lock"]),
|
||||
K(0x3A, "KC_F1", "F1", recorder_alias=["f1"]),
|
||||
K(0x3B, "KC_F2", "F2", recorder_alias=["f2"]),
|
||||
K(0x3C, "KC_F3", "F3", recorder_alias=["f3"]),
|
||||
K(0x3D, "KC_F4", "F4", recorder_alias=["f4"]),
|
||||
K(0x3E, "KC_F5", "F5", recorder_alias=["f5"]),
|
||||
K(0x3F, "KC_F6", "F6", recorder_alias=["f6"]),
|
||||
K(0x40, "KC_F7", "F7", recorder_alias=["f7"]),
|
||||
K(0x41, "KC_F8", "F8", recorder_alias=["f8"]),
|
||||
K(0x42, "KC_F9", "F9", recorder_alias=["f9"]),
|
||||
K(0x43, "KC_F10", "F10", recorder_alias=["f10"]),
|
||||
K(0x44, "KC_F11", "F11", recorder_alias=["f11"]),
|
||||
K(0x45, "KC_F12", "F12", recorder_alias=["f12"]),
|
||||
K(0x46, "KC_PSCREEN", "Print\nScreen"),
|
||||
K(0x47, "KC_SCROLLLOCK", "Scroll\nLock"),
|
||||
K(0x48, "KC_PAUSE", "Pause"),
|
||||
K(0x49, "KC_INSERT", "Insert"),
|
||||
K(0x4A, "KC_HOME", "Home"),
|
||||
K(0x4B, "KC_PGUP", "Page\nUp"),
|
||||
K(0x4C, "KC_DELETE", "Del"),
|
||||
K(0x4D, "KC_END", "End"),
|
||||
K(0x4E, "KC_PGDOWN", "Page\nDown"),
|
||||
K(0x4F, "KC_RIGHT", "Right"),
|
||||
K(0x50, "KC_LEFT", "Left"),
|
||||
K(0x51, "KC_DOWN", "Down"),
|
||||
K(0x52, "KC_UP", "Up"),
|
||||
K(0x53, "KC_NUMLOCK", "Num\nLock"),
|
||||
K(0x47, "KC_SCROLLLOCK", "Scroll\nLock", recorder_alias=["scroll lock"]),
|
||||
K(0x48, "KC_PAUSE", "Pause", recorder_alias=["pause", "break"]),
|
||||
K(0x49, "KC_INSERT", "Insert", recorder_alias=["insert"]),
|
||||
K(0x4A, "KC_HOME", "Home", recorder_alias=["home"]),
|
||||
K(0x4B, "KC_PGUP", "Page\nUp", recorder_alias=["page up"]),
|
||||
K(0x4C, "KC_DELETE", "Del", recorder_alias=["delete"]),
|
||||
K(0x4D, "KC_END", "End", recorder_alias=["end"]),
|
||||
K(0x4E, "KC_PGDOWN", "Page\nDown", recorder_alias=["page down"]),
|
||||
K(0x4F, "KC_RIGHT", "Right", recorder_alias=["right"]),
|
||||
K(0x50, "KC_LEFT", "Left", recorder_alias=["left"]),
|
||||
K(0x51, "KC_DOWN", "Down", recorder_alias=["down"]),
|
||||
K(0x52, "KC_UP", "Up", recorder_alias=["up"]),
|
||||
K(0x53, "KC_NUMLOCK", "Num\nLock", recorder_alias=["num lock"]),
|
||||
K(0x54, "KC_KP_SLASH", "/"),
|
||||
K(0x55, "KC_KP_ASTERISK", "*"),
|
||||
K(0x56, "KC_KP_MINUS", "-"),
|
||||
|
|
@ -124,18 +135,18 @@ KEYCODES_BASIC = [
|
|||
K(0x61, "KC_KP_9", "9"),
|
||||
K(0x62, "KC_KP_0", "0"),
|
||||
K(0x63, "KC_KP_DOT", "."),
|
||||
K(0x65, "KC_APPLICATION", "Menu"),
|
||||
K(0x65, "KC_APPLICATION", "Menu", recorder_alias=["menu", "left menu", "right menu"]),
|
||||
K(0x67, "KC_KP_EQUAL", "="),
|
||||
K(0x85, "KC_KP_COMMA", ","),
|
||||
|
||||
K(0xE0, "KC_LCTRL", "LCtrl"),
|
||||
K(0xE1, "KC_LSHIFT", "LShift"),
|
||||
K(0xE2, "KC_LALT", "LAlt"),
|
||||
K(0xE3, "KC_LGUI", "LGui"),
|
||||
K(0xE4, "KC_RCTRL", "RCtrl"),
|
||||
K(0xE5, "KC_RSHIFT", "RShift"),
|
||||
K(0xE0, "KC_LCTRL", "LCtrl", recorder_alias=["left ctrl", "ctrl"]),
|
||||
K(0xE1, "KC_LSHIFT", "LShift", recorder_alias=["left shift", "shift"]),
|
||||
K(0xE2, "KC_LALT", "LAlt", recorder_alias=["alt"]),
|
||||
K(0xE3, "KC_LGUI", "LGui", recorder_alias=["left windows", "windows"]),
|
||||
K(0xE4, "KC_RCTRL", "RCtrl", recorder_alias=["right ctrl"]),
|
||||
K(0xE5, "KC_RSHIFT", "RShift", recorder_alias=["right shift"]),
|
||||
K(0xE6, "KC_RALT", "RAlt"),
|
||||
K(0xE7, "KC_RGUI", "RGui"),
|
||||
K(0xE7, "KC_RGUI", "RGui", recorder_alias=["right windows"]),
|
||||
]
|
||||
|
||||
KEYCODES_SHIFTED = [
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ from PyQt5.QtCore import pyqtSignal, QProcess
|
|||
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QPushButton, QApplication
|
||||
from fbs_runtime.application_context import is_frozen
|
||||
|
||||
from keycodes import KEYCODES_BASIC
|
||||
from keycodes import Keycode
|
||||
from macro_key import KeyUp, KeyDown
|
||||
from util import tr
|
||||
|
||||
|
|
@ -16,95 +16,6 @@ class LinuxRecorder(QWidget):
|
|||
keystroke = pyqtSignal(object)
|
||||
stopped = pyqtSignal()
|
||||
|
||||
mapping_qmk_id = {
|
||||
"esc": "KC_ESCAPE",
|
||||
"1": "KC_1",
|
||||
"2": "KC_2",
|
||||
"3": "KC_3",
|
||||
"4": "KC_4",
|
||||
"5": "KC_5",
|
||||
"6": "KC_6",
|
||||
"7": "KC_7",
|
||||
"8": "KC_8",
|
||||
"9": "KC_9",
|
||||
"0": "KC_0",
|
||||
"-": "KC_MINUS",
|
||||
"=": "KC_EQUAL",
|
||||
"backspace": "KC_BSPACE",
|
||||
"tab": "KC_TAB",
|
||||
"q": "KC_Q",
|
||||
"w": "KC_W",
|
||||
"e": "KC_E",
|
||||
"r": "KC_R",
|
||||
"t": "KC_T",
|
||||
"y": "KC_Y",
|
||||
"u": "KC_U",
|
||||
"i": "KC_I",
|
||||
"o": "KC_O",
|
||||
"p": "KC_P",
|
||||
"[": "KC_LBRACKET",
|
||||
"]": "KC_RBRACKET",
|
||||
"enter": "KC_ENTER",
|
||||
"ctrl": "KC_LCTRL",
|
||||
"a": "KC_A",
|
||||
"s": "KC_S",
|
||||
"d": "KC_D",
|
||||
"f": "KC_F",
|
||||
"g": "KC_G",
|
||||
"h": "KC_H",
|
||||
"j": "KC_J",
|
||||
"k": "KC_K",
|
||||
"l": "KC_L",
|
||||
";": "KC_SCOLON",
|
||||
"'": "KC_QUOTE",
|
||||
"`": "KC_GRAVE",
|
||||
"shift": "KC_LSHIFT",
|
||||
"\\": "KC_BSLASH",
|
||||
"z": "KC_Z",
|
||||
"x": "KC_X",
|
||||
"c": "KC_C",
|
||||
"v": "KC_V",
|
||||
"b": "KC_B",
|
||||
"n": "KC_N",
|
||||
"m": "KC_M",
|
||||
",": "KC_COMMA",
|
||||
".": "KC_DOT",
|
||||
"/": "KC_SLASH",
|
||||
"alt": "KC_LALT",
|
||||
"space": "KC_SPACE",
|
||||
"caps lock": "KC_CAPSLOCK",
|
||||
"f1": "KC_F1",
|
||||
"f2": "KC_F2",
|
||||
"f3": "KC_F3",
|
||||
"f4": "KC_F4",
|
||||
"f5": "KC_F5",
|
||||
"f6": "KC_F6",
|
||||
"f7": "KC_F7",
|
||||
"f8": "KC_F8",
|
||||
"f9": "KC_F9",
|
||||
"f10": "KC_F10",
|
||||
"f11": "KC_F11",
|
||||
"f12": "KC_F12",
|
||||
"num lock": "KC_NUMLOCK",
|
||||
"scroll lock": "KC_SCROLLLOCK",
|
||||
"break": "KC_PAUSE",
|
||||
"home": "KC_HOME",
|
||||
"up": "KC_UP",
|
||||
"page up": "KC_PGUP",
|
||||
"left": "KC_LEFT",
|
||||
"right": "KC_RIGHT",
|
||||
"end": "KC_END",
|
||||
"down": "KC_DOWN",
|
||||
"page down": "KC_PGDOWN",
|
||||
"insert": "KC_INSERT",
|
||||
"delete": "KC_DELETE",
|
||||
"pause": "KC_PAUSE",
|
||||
"windows": "KC_LGUI",
|
||||
"menu": "KC_APPLICATION",
|
||||
}
|
||||
|
||||
mapping = dict()
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
|
|
@ -145,30 +56,11 @@ class LinuxRecorder(QWidget):
|
|||
self.hide()
|
||||
self.stopped.emit()
|
||||
|
||||
def action2cls(self, action):
|
||||
if action == "up":
|
||||
return KeyUp
|
||||
elif action == "down":
|
||||
return KeyDown
|
||||
else:
|
||||
raise RuntimeError("unexpected action={}".format(action))
|
||||
|
||||
def key2code(self, key):
|
||||
return self.mapping.get(key, None)
|
||||
|
||||
def on_output(self):
|
||||
if self.process.canReadLine():
|
||||
line = bytes(self.process.readLine()).decode("utf-8")
|
||||
action, key = line.strip().split(":")
|
||||
code = self.key2code(key)
|
||||
code = Keycode.find_by_recorder_alias(key)
|
||||
if code is not None:
|
||||
self.keystroke.emit(self.action2cls(action)(code))
|
||||
|
||||
|
||||
for linux, qmk in LinuxRecorder.mapping_qmk_id.items():
|
||||
for k in KEYCODES_BASIC:
|
||||
if k.qmk_id == qmk:
|
||||
LinuxRecorder.mapping[linux] = k
|
||||
break
|
||||
if linux not in LinuxRecorder.mapping:
|
||||
raise RuntimeError("Misconfigured - cannot determine QMK keycode value for {}:{} pair".format(linux, qmk))
|
||||
action2cls = {"down": KeyDown, "up": KeyUp}
|
||||
self.keystroke.emit(action2cls[action](code))
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from PyQt5 import QtCore
|
|||
from PyQt5.QtCore import pyqtSignal
|
||||
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QPushButton, QApplication
|
||||
|
||||
from keycodes import KEYCODES_BASIC
|
||||
from keycodes import Keycode
|
||||
from macro_key import KeyUp, KeyDown
|
||||
from util import tr
|
||||
|
||||
|
|
@ -15,103 +15,6 @@ class WindowsRecorder(QWidget):
|
|||
keystroke = pyqtSignal(object)
|
||||
stopped = pyqtSignal()
|
||||
|
||||
mapping_qmk_id = {
|
||||
"esc": "KC_ESCAPE",
|
||||
"1": "KC_1",
|
||||
"2": "KC_2",
|
||||
"3": "KC_3",
|
||||
"4": "KC_4",
|
||||
"5": "KC_5",
|
||||
"6": "KC_6",
|
||||
"7": "KC_7",
|
||||
"8": "KC_8",
|
||||
"9": "KC_9",
|
||||
"0": "KC_0",
|
||||
"-": "KC_MINUS",
|
||||
"=": "KC_EQUAL",
|
||||
"backspace": "KC_BSPACE",
|
||||
"tab": "KC_TAB",
|
||||
"q": "KC_Q",
|
||||
"w": "KC_W",
|
||||
"e": "KC_E",
|
||||
"r": "KC_R",
|
||||
"t": "KC_T",
|
||||
"y": "KC_Y",
|
||||
"u": "KC_U",
|
||||
"i": "KC_I",
|
||||
"o": "KC_O",
|
||||
"p": "KC_P",
|
||||
"[": "KC_LBRACKET",
|
||||
"]": "KC_RBRACKET",
|
||||
"enter": "KC_ENTER",
|
||||
"ctrl": "KC_LCTRL",
|
||||
"a": "KC_A",
|
||||
"s": "KC_S",
|
||||
"d": "KC_D",
|
||||
"f": "KC_F",
|
||||
"g": "KC_G",
|
||||
"h": "KC_H",
|
||||
"j": "KC_J",
|
||||
"k": "KC_K",
|
||||
"l": "KC_L",
|
||||
";": "KC_SCOLON",
|
||||
"'": "KC_QUOTE",
|
||||
"`": "KC_GRAVE",
|
||||
"shift": "KC_LSHIFT",
|
||||
"\\": "KC_BSLASH",
|
||||
"z": "KC_Z",
|
||||
"x": "KC_X",
|
||||
"c": "KC_C",
|
||||
"v": "KC_V",
|
||||
"b": "KC_B",
|
||||
"n": "KC_N",
|
||||
"m": "KC_M",
|
||||
",": "KC_COMMA",
|
||||
".": "KC_DOT",
|
||||
"/": "KC_SLASH",
|
||||
"alt": "KC_LALT",
|
||||
"space": "KC_SPACE",
|
||||
"caps lock": "KC_CAPSLOCK",
|
||||
"f1": "KC_F1",
|
||||
"f2": "KC_F2",
|
||||
"f3": "KC_F3",
|
||||
"f4": "KC_F4",
|
||||
"f5": "KC_F5",
|
||||
"f6": "KC_F6",
|
||||
"f7": "KC_F7",
|
||||
"f8": "KC_F8",
|
||||
"f9": "KC_F9",
|
||||
"f10": "KC_F10",
|
||||
"f11": "KC_F11",
|
||||
"f12": "KC_F12",
|
||||
"num lock": "KC_NUMLOCK",
|
||||
"scroll lock": "KC_SCROLLLOCK",
|
||||
"break": "KC_PAUSE",
|
||||
"home": "KC_HOME",
|
||||
"up": "KC_UP",
|
||||
"page up": "KC_PGUP",
|
||||
"left": "KC_LEFT",
|
||||
"right": "KC_RIGHT",
|
||||
"end": "KC_END",
|
||||
"down": "KC_DOWN",
|
||||
"page down": "KC_PGDOWN",
|
||||
"insert": "KC_INSERT",
|
||||
"delete": "KC_DELETE",
|
||||
"pause": "KC_PAUSE",
|
||||
"windows": "KC_LGUI",
|
||||
"menu": "KC_APPLICATION",
|
||||
"left windows": "KC_LGUI",
|
||||
"right windows": "KC_RGUI",
|
||||
"left shift": "KC_LSHIFT",
|
||||
"right shift": "KC_RSHIFT",
|
||||
"left ctrl": "KC_LCTRL",
|
||||
"right ctrl": "KC_RCTRL",
|
||||
"left menu": "KC_APPLICATION",
|
||||
"right menu": "KC_APPLICATION",
|
||||
}
|
||||
|
||||
mapping = dict()
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
|
|
@ -148,16 +51,7 @@ class WindowsRecorder(QWidget):
|
|||
self.stopped.emit()
|
||||
|
||||
def on_key(self, ev):
|
||||
code = self.mapping.get(ev.name)
|
||||
code = Keycode.find_by_recorder_alias(ev.name)
|
||||
if code is not None:
|
||||
action2cls = {"down": KeyDown, "up": KeyUp}
|
||||
self.keystroke.emit(action2cls[ev.event_type](code))
|
||||
|
||||
|
||||
for windows, qmk in WindowsRecorder.mapping_qmk_id.items():
|
||||
for k in KEYCODES_BASIC:
|
||||
if k.qmk_id == qmk:
|
||||
WindowsRecorder.mapping[windows] = k
|
||||
break
|
||||
if windows not in WindowsRecorder.mapping:
|
||||
raise RuntimeError("Misconfigured - cannot determine QMK keycode value for {}:{} pair".format(windows, qmk))
|
||||
|
|
|
|||
Loading…
Reference in New Issue