win95 runtime switching

This commit is contained in:
Maxim Devaev
2021-08-15 17:34:42 +03:00
parent 9afa6efbe4
commit df098bd075
12 changed files with 110 additions and 52 deletions

View File

@@ -179,12 +179,21 @@ class BaseMcuHid(BaseHid, multiprocessing.Process): # pylint: disable=too-many-
if outputs1 & 0b10000000: # Dynamic
if outputs2 & 0b00000001: # USB
keyboard_outputs["available"].extend(["usb", "disabled"])
mouse_outputs["available"].extend(["usb", "usb_rel", "disabled"])
keyboard_outputs["available"].append("usb")
mouse_outputs["available"].extend(["usb", "usb_rel"])
if outputs2 & 0b00000100: # USB WIN98
mouse_outputs["available"].append("usb_win98")
if outputs2 & 0b00000010: # PS/2
keyboard_outputs["available"].extend(["ps2", "disabled"])
mouse_outputs["available"].extend(["ps2", "disabled"])
keyboard_outputs["available"].append("ps2")
mouse_outputs["available"].append("ps2")
if keyboard_outputs["available"]:
keyboard_outputs["available"].append("disabled")
if mouse_outputs["available"]:
mouse_outputs["available"].append("disabled")
active_keyboard = get_active_keyboard(outputs1)
if active_keyboard in keyboard_outputs["available"]:

View File

@@ -63,10 +63,11 @@ class SetKeyboardOutputEvent(BaseEvent):
# =====
_MOUSE_NAMES_TO_CODES = {
"disabled": 0b00000000,
"usb": 0b00001000,
"usb_rel": 0b00010000,
"ps2": 0b00011000,
"disabled": 0b00000000,
"usb": 0b00001000,
"usb_rel": 0b00010000,
"ps2": 0b00011000,
"usb_win98": 0b00100000,
}
_MOUSE_CODES_TO_NAMES = tools.swapped_kvs(_MOUSE_NAMES_TO_CODES)