def _keys_changed(self, *args): debug("keys_changed") self._keymap = gdk.keymap_get_default() if not self._keymap_changing: self._keymap_changing = True log.info("keymap has changed, sending updated mappings to the server") gobject.timeout_add(500, self._do_keys_changed, True)
def _do_keys_changed(self, sendkeymap=False): self._keymap_changing = False self.query_xkbmap() try: self.keyboard.update_modifier_map(gdk.display_get_default(), self.xkbmap_mod_meanings) except: pass debug("do_keys_changed() modifier_map=%s" % self.keyboard.modifier_map) if sendkeymap: if self.xkbmap_layout: self.send_layout() self.send_keymap()