def handle_keybinding(self, keysym: int) -> bool: if keysym == xkb.keysym_from_name("Escape"): self._display.terminate() elif keysym == xkb.keysym_from_name("F1"): if len(self.views) >= 2: *rest, new_view, prev_view = self.views self.focus_view(new_view) self.views = [prev_view] + rest + [new_view] else: return False return True
def ungrab_key(self, key: Union[config.Key, config.KeyChord]) -> Tuple[int, int]: """Release the given key event""" keysym = xkb.keysym_from_name(key.key, case_insensitive=True) mask_key = wlrq.translate_masks(key.modifiers) self.grabbed_keys.remove((keysym, mask_key)) return keysym, mask_key
def grab_key(self, key: Union[config.Key, config.KeyChord]) -> Tuple[int, int]: """Configure the backend to grab the key event""" keysym = xkb.keysym_from_name(key.key, case_insensitive=True) mask_key = wlrq.translate_masks(key.modifiers) self.grabbed_keys.append((keysym, mask_key)) return keysym, mask_key
def translate(sym_name: str) -> str: if sym_name in dead_keys_to_unicode: return ldml_escape(dead_keys_to_unicode[sym_name]) s = xkb.keysym_to_string(xkb.keysym_from_name(sym_name)) if not s: raise ValueError(f"unknown symname {sym_name}") return s
def simulate_keypress(self, modifiers: List[str], key: str) -> None: """Simulates a keypress on the focused window.""" keysym = xkb.keysym_from_name(key, case_insensitive=True) mods = wlrq.translate_masks(modifiers) if (keysym, mods) in self.grabbed_keys: self.qtile.process_key_event(keysym, mods) return if self.focused_internal: self.focused_internal.process_key_press(keysym)
def __init__(self, obj, connection, global_name): self.c_enum = connection.wp.interfaces['wl_seat'].enums['capability'] self.s = obj self._c = connection self.global_name = global_name self.name = None self.capabilities = 0 self.pointer = None self.keyboard = None self.s.dispatcher['capabilities'] = self._capabilities self.s.dispatcher['name'] = self._name self.tabsym = xkb.keysym_from_name("Tab")
def keysym_from_name(self, name: str) -> int: """Get the keysym for a key from its name""" return xkb.keysym_from_name(name, case_insensitive=True)