Esempio n. 1
0
    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
Esempio n. 2
0
 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
Esempio n. 3
0
 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
Esempio n. 4
0
 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
Esempio n. 5
0
    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)
Esempio n. 6
0
 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")
Esempio n. 7
0
 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)