Few fixes with the -x X driver code.

This commit is contained in:
Storm Dragon
2026-05-07 02:03:36 -04:00
parent fed8f24126
commit 1670c5711b
2 changed files with 18 additions and 8 deletions

View File

@@ -89,6 +89,8 @@ class driver(inputDriver):
"Delete": "KEY_DELETE",
"Home": "KEY_HOME",
"End": "KEY_END",
"Prior": "KEY_PAGEUP",
"Next": "KEY_PAGEDOWN",
"Page_Up": "KEY_PAGEUP",
"Page_Down": "KEY_PAGEDOWN",
"Up": "KEY_UP",
@@ -405,14 +407,7 @@ class driver(inputDriver):
return None
def should_emit_key(self, key_name):
if key_name in self.modifier_key_names:
return True
if key_name in self.interesting_keys:
return True
input_manager = self.env["runtime"]["InputManager"]
curr_input = self.env["input"]["curr_input"]
normalized_curr = [input_manager.convert_event_name(key) for key in curr_input]
return "KEY_FENRIR" in normalized_curr or "KEY_SCRIPT" in normalized_curr
return key_name is not None
def refresh_interesting_keys(self):
input_manager = self.env["runtime"]["InputManager"]
@@ -545,6 +540,8 @@ class driver(inputDriver):
"KEY_LEFTMETA": ["Super_L", "Meta_L"],
"KEY_RIGHTMETA": ["Super_R", "Meta_R"],
"KEY_COMPOSE": ["Multi_key"],
"KEY_PAGEUP": ["Page_Up", "Prior"],
"KEY_PAGEDOWN": ["Page_Down", "Next"],
"KEY_KP0": ["KP_0", "KP_Insert"],
"KEY_KP1": ["KP_1", "KP_End"],
"KEY_KP2": ["KP_2", "KP_Down"],

View File

@@ -59,6 +59,8 @@ def test_x11_key_name_mapping_for_keypad_and_capslock():
assert x11.keysym_name_to_key_name("Caps_Lock") == "KEY_CAPSLOCK"
assert x11.keysym_name_to_key_name("Super_L") == "KEY_LEFTMETA"
assert x11.keysym_name_to_key_name("Multi_key") == "KEY_COMPOSE"
assert x11.keysym_name_to_key_name("Next") == "KEY_PAGEDOWN"
assert x11.keysym_name_to_key_name("Prior") == "KEY_PAGEUP"
assert x11.keysym_name_to_key_name("a") == "KEY_A"
assert x11.keysym_name_to_key_name("F10") == "KEY_F10"
@@ -130,6 +132,17 @@ def test_x11_key_name_to_keysym_names_includes_numlock_aliases():
assert "Super_L" in x11.key_name_to_keysym_names("KEY_META")
assert "Meta_R" in x11.key_name_to_keysym_names("KEY_META")
assert x11.key_name_to_keysym_names("KEY_COMPOSE") == ["Multi_key"]
assert "Next" in x11.key_name_to_keysym_names("KEY_PAGEDOWN")
assert "Prior" in x11.key_name_to_keysym_names("KEY_PAGEUP")
@pytest.mark.unit
def test_x11_should_emit_unbound_mapped_keys_for_speech_interrupt():
x11 = X11Driver()
x11.interesting_keys = set()
assert x11.should_emit_key("KEY_ESC") is True
assert x11.should_emit_key("KEY_ENTER") is True
@pytest.mark.unit