mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-01-29 09:01:54 +08:00
otg keymap
This commit is contained in:
437
kvmd/keymap.py
437
kvmd/keymap.py
@@ -31,97 +31,362 @@ class SerialKey:
|
||||
code: int
|
||||
|
||||
|
||||
@dataclasses.dataclass(frozen=True)
|
||||
class OtgKey:
|
||||
code: int
|
||||
is_modifier: bool
|
||||
|
||||
|
||||
@dataclasses.dataclass(frozen=True)
|
||||
class Key:
|
||||
serial: SerialKey
|
||||
otg: OtgKey
|
||||
|
||||
|
||||
# =====
|
||||
KEYMAP: Dict[str, Key] = {
|
||||
"AltLeft": Key(serial=SerialKey(code=79)),
|
||||
"AltRight": Key(serial=SerialKey(code=83)),
|
||||
"ArrowDown": Key(serial=SerialKey(code=75)),
|
||||
"ArrowLeft": Key(serial=SerialKey(code=74)),
|
||||
"ArrowRight": Key(serial=SerialKey(code=73)),
|
||||
"ArrowUp": Key(serial=SerialKey(code=76)),
|
||||
"Backquote": Key(serial=SerialKey(code=49)),
|
||||
"Backslash": Key(serial=SerialKey(code=46)),
|
||||
"Backspace": Key(serial=SerialKey(code=39)),
|
||||
"BracketLeft": Key(serial=SerialKey(code=44)),
|
||||
"BracketRight": Key(serial=SerialKey(code=45)),
|
||||
"CapsLock": Key(serial=SerialKey(code=53)),
|
||||
"Comma": Key(serial=SerialKey(code=50)),
|
||||
"ControlLeft": Key(serial=SerialKey(code=77)),
|
||||
"ControlRight": Key(serial=SerialKey(code=81)),
|
||||
"Delete": Key(serial=SerialKey(code=70)),
|
||||
"Digit0": Key(serial=SerialKey(code=36)),
|
||||
"Digit1": Key(serial=SerialKey(code=27)),
|
||||
"Digit2": Key(serial=SerialKey(code=28)),
|
||||
"Digit3": Key(serial=SerialKey(code=29)),
|
||||
"Digit4": Key(serial=SerialKey(code=30)),
|
||||
"Digit5": Key(serial=SerialKey(code=31)),
|
||||
"Digit6": Key(serial=SerialKey(code=32)),
|
||||
"Digit7": Key(serial=SerialKey(code=33)),
|
||||
"Digit8": Key(serial=SerialKey(code=34)),
|
||||
"Digit9": Key(serial=SerialKey(code=35)),
|
||||
"End": Key(serial=SerialKey(code=71)),
|
||||
"Enter": Key(serial=SerialKey(code=37)),
|
||||
"Equal": Key(serial=SerialKey(code=43)),
|
||||
"Escape": Key(serial=SerialKey(code=38)),
|
||||
"F1": Key(serial=SerialKey(code=54)),
|
||||
"F10": Key(serial=SerialKey(code=63)),
|
||||
"F11": Key(serial=SerialKey(code=64)),
|
||||
"F12": Key(serial=SerialKey(code=65)),
|
||||
"F2": Key(serial=SerialKey(code=55)),
|
||||
"F3": Key(serial=SerialKey(code=56)),
|
||||
"F4": Key(serial=SerialKey(code=57)),
|
||||
"F5": Key(serial=SerialKey(code=58)),
|
||||
"F6": Key(serial=SerialKey(code=59)),
|
||||
"F7": Key(serial=SerialKey(code=60)),
|
||||
"F8": Key(serial=SerialKey(code=61)),
|
||||
"F9": Key(serial=SerialKey(code=62)),
|
||||
"Home": Key(serial=SerialKey(code=68)),
|
||||
"Insert": Key(serial=SerialKey(code=67)),
|
||||
"KeyA": Key(serial=SerialKey(code=1)),
|
||||
"KeyB": Key(serial=SerialKey(code=2)),
|
||||
"KeyC": Key(serial=SerialKey(code=3)),
|
||||
"KeyD": Key(serial=SerialKey(code=4)),
|
||||
"KeyE": Key(serial=SerialKey(code=5)),
|
||||
"KeyF": Key(serial=SerialKey(code=6)),
|
||||
"KeyG": Key(serial=SerialKey(code=7)),
|
||||
"KeyH": Key(serial=SerialKey(code=8)),
|
||||
"KeyI": Key(serial=SerialKey(code=9)),
|
||||
"KeyJ": Key(serial=SerialKey(code=10)),
|
||||
"KeyK": Key(serial=SerialKey(code=11)),
|
||||
"KeyL": Key(serial=SerialKey(code=12)),
|
||||
"KeyM": Key(serial=SerialKey(code=13)),
|
||||
"KeyN": Key(serial=SerialKey(code=14)),
|
||||
"KeyO": Key(serial=SerialKey(code=15)),
|
||||
"KeyP": Key(serial=SerialKey(code=16)),
|
||||
"KeyQ": Key(serial=SerialKey(code=17)),
|
||||
"KeyR": Key(serial=SerialKey(code=18)),
|
||||
"KeyS": Key(serial=SerialKey(code=19)),
|
||||
"KeyT": Key(serial=SerialKey(code=20)),
|
||||
"KeyU": Key(serial=SerialKey(code=21)),
|
||||
"KeyV": Key(serial=SerialKey(code=22)),
|
||||
"KeyW": Key(serial=SerialKey(code=23)),
|
||||
"KeyX": Key(serial=SerialKey(code=24)),
|
||||
"KeyY": Key(serial=SerialKey(code=25)),
|
||||
"KeyZ": Key(serial=SerialKey(code=26)),
|
||||
"MetaLeft": Key(serial=SerialKey(code=80)),
|
||||
"MetaRight": Key(serial=SerialKey(code=84)),
|
||||
"Minus": Key(serial=SerialKey(code=42)),
|
||||
"PageDown": Key(serial=SerialKey(code=72)),
|
||||
"PageUp": Key(serial=SerialKey(code=69)),
|
||||
"Pause": Key(serial=SerialKey(code=85)),
|
||||
"Period": Key(serial=SerialKey(code=51)),
|
||||
"PrintScreen": Key(serial=SerialKey(code=66)),
|
||||
"Quote": Key(serial=SerialKey(code=48)),
|
||||
"ScrollLock": Key(serial=SerialKey(code=86)),
|
||||
"Semicolon": Key(serial=SerialKey(code=47)),
|
||||
"ShiftLeft": Key(serial=SerialKey(code=78)),
|
||||
"ShiftRight": Key(serial=SerialKey(code=82)),
|
||||
"Slash": Key(serial=SerialKey(code=52)),
|
||||
"Space": Key(serial=SerialKey(code=41)),
|
||||
"Tab": Key(serial=SerialKey(code=40)),
|
||||
"KeyA": Key(
|
||||
serial=SerialKey(code=1),
|
||||
otg=OtgKey(code=4, is_modifier=False),
|
||||
),
|
||||
"KeyB": Key(
|
||||
serial=SerialKey(code=2),
|
||||
otg=OtgKey(code=5, is_modifier=False),
|
||||
),
|
||||
"KeyC": Key(
|
||||
serial=SerialKey(code=3),
|
||||
otg=OtgKey(code=6, is_modifier=False),
|
||||
),
|
||||
"KeyD": Key(
|
||||
serial=SerialKey(code=4),
|
||||
otg=OtgKey(code=7, is_modifier=False),
|
||||
),
|
||||
"KeyE": Key(
|
||||
serial=SerialKey(code=5),
|
||||
otg=OtgKey(code=8, is_modifier=False),
|
||||
),
|
||||
"KeyF": Key(
|
||||
serial=SerialKey(code=6),
|
||||
otg=OtgKey(code=9, is_modifier=False),
|
||||
),
|
||||
"KeyG": Key(
|
||||
serial=SerialKey(code=7),
|
||||
otg=OtgKey(code=10, is_modifier=False),
|
||||
),
|
||||
"KeyH": Key(
|
||||
serial=SerialKey(code=8),
|
||||
otg=OtgKey(code=11, is_modifier=False),
|
||||
),
|
||||
"KeyI": Key(
|
||||
serial=SerialKey(code=9),
|
||||
otg=OtgKey(code=12, is_modifier=False),
|
||||
),
|
||||
"KeyJ": Key(
|
||||
serial=SerialKey(code=10),
|
||||
otg=OtgKey(code=13, is_modifier=False),
|
||||
),
|
||||
"KeyK": Key(
|
||||
serial=SerialKey(code=11),
|
||||
otg=OtgKey(code=14, is_modifier=False),
|
||||
),
|
||||
"KeyL": Key(
|
||||
serial=SerialKey(code=12),
|
||||
otg=OtgKey(code=15, is_modifier=False),
|
||||
),
|
||||
"KeyM": Key(
|
||||
serial=SerialKey(code=13),
|
||||
otg=OtgKey(code=16, is_modifier=False),
|
||||
),
|
||||
"KeyN": Key(
|
||||
serial=SerialKey(code=14),
|
||||
otg=OtgKey(code=17, is_modifier=False),
|
||||
),
|
||||
"KeyO": Key(
|
||||
serial=SerialKey(code=15),
|
||||
otg=OtgKey(code=18, is_modifier=False),
|
||||
),
|
||||
"KeyP": Key(
|
||||
serial=SerialKey(code=16),
|
||||
otg=OtgKey(code=19, is_modifier=False),
|
||||
),
|
||||
"KeyQ": Key(
|
||||
serial=SerialKey(code=17),
|
||||
otg=OtgKey(code=20, is_modifier=False),
|
||||
),
|
||||
"KeyR": Key(
|
||||
serial=SerialKey(code=18),
|
||||
otg=OtgKey(code=21, is_modifier=False),
|
||||
),
|
||||
"KeyS": Key(
|
||||
serial=SerialKey(code=19),
|
||||
otg=OtgKey(code=22, is_modifier=False),
|
||||
),
|
||||
"KeyT": Key(
|
||||
serial=SerialKey(code=20),
|
||||
otg=OtgKey(code=23, is_modifier=False),
|
||||
),
|
||||
"KeyU": Key(
|
||||
serial=SerialKey(code=21),
|
||||
otg=OtgKey(code=24, is_modifier=False),
|
||||
),
|
||||
"KeyV": Key(
|
||||
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
|
||||
|
||||
|
||||
@dataclasses.dataclass(frozen=True)
|
||||
class OtgKey:
|
||||
code: int
|
||||
is_modifier: bool
|
||||
|
||||
|
||||
@dataclasses.dataclass(frozen=True)
|
||||
class Key:
|
||||
serial: SerialKey
|
||||
otg: OtgKey
|
||||
|
||||
<%! import operator %>
|
||||
# =====
|
||||
KEYMAP: Dict[str, Key] = {
|
||||
% for km in sorted(keymap, key=operator.attrgetter("web_key")):
|
||||
"${km.web_key}": Key(serial=SerialKey(code=${km.serial_hid_code})),
|
||||
% for km in sorted(keymap, key=operator.attrgetter("serial_code")):
|
||||
"${km.web_key}": Key(
|
||||
serial=SerialKey(code=${km.serial_code}),
|
||||
otg=OtgKey(code=${km.otg_code}, is_modifier=${km.otg_is_modifier}),
|
||||
),
|
||||
% endfor
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user