예제 #1
0
 def get_info(self):
     info = KeyboardConfigBase.get_info(self)
     #keycodes:
     if self.keycode_translation:
         ksinfo = info.setdefault("keysym", {})
         kssinf = info.setdefault("keysyms", {})
         kcinfo = info.setdefault("keycode", {})
         for kc, keycode in self.keycode_translation.items():
             if isinstance(kc, tuple):
                 a, b = kc
                 if isinstance(a, int):
                     client_keycode, keysym = a, b
                     ksinfo.setdefault(keysym, {})[client_keycode] = keycode
                     kcinfo.setdefault(client_keycode, {})[keysym] = keycode
                 elif isinstance(b, int):
                     keysym, index = a, b
                     kssinf.setdefault(keycode, []).append((index, keysym))
             else:
                 kcinfo[kc] = keycode
     if self.xkbmap_keycodes:
         i = 0
         kminfo = info.setdefault("keymap", {})
         for keyval, name, keycode, group, level in self.xkbmap_keycodes:
             kminfo[i] = (keyval, name, keycode, group, level)
             i += 1
     #modifiers:
     modinfo = {}
     modsinfo = {}
     modinfo["filter"] = self.modifiers_filter
     if self.modifier_client_keycodes:
         for mod, keys in self.modifier_client_keycodes.items():
             modinfo.setdefault(mod, {})["client_keys"] = keys
     if self.keynames_for_mod:
         for mod, keys in self.keynames_for_mod.items():
             modinfo.setdefault(mod, {})["keys"] = tuple(keys)
     if self.keycodes_for_modifier_keynames:
         for mod, keys in self.keycodes_for_modifier_keynames.items():
             modinfo.setdefault(mod, {})["keycodes"] = tuple(keys)
     if self.xkbmap_mod_meanings:
         for mod, mod_name in self.xkbmap_mod_meanings.items():
             modinfo[mod] = mod_name
     info["x11_keycode"] = self.xkbmap_x11_keycodes
     for x in ("print", "layout", "variant", "mod_managed",
               "mod_pointermissing", "raw", "layout_groups"):
         v = getattr(self, "xkbmap_%s" % x)
         if v:
             info[x] = v
     modsinfo["nuisance"] = tuple(self.xkbmap_mod_nuisance or [])
     info["modifier"] = modinfo
     info["modifiers"] = modsinfo
     #this would need to always run in the UI thread:
     #info["state"] = {
     #    "modifiers" : self.get_current_mask(),
     #    }
     log("keyboard info: %s", info)
     return info
예제 #2
0
 def get_info(self):
     info = KeyboardConfigBase.get_info(self)
     info["modifiers.filter"] = self.modifiers_filter
     #keycodes:
     if self.keycode_translation:
         for kc, keycode in self.keycode_translation.items():
             if type(kc) == tuple:
                 client_keycode, keysym = kc
                 info["keysym." + str(keysym) + "." +
                      str(client_keycode)] = keycode
                 info["keycode." + str(client_keycode) + "." +
                      keysym] = keycode
             else:
                 info["keysym." + str(kc)] = keycode
                 info["keycode." + str(kc)] = keycode
     if self.xkbmap_keycodes:
         i = 0
         for keyval, name, keycode, group, level in self.xkbmap_keycodes:
             info["keymap.%s" % i] = (keyval, name, keycode, group, level)
             i += 1
     #modifiers:
     if self.modifier_client_keycodes:
         for mod, keys in self.modifier_client_keycodes.items():
             info["modifier." + mod + ".client_keys"] = keys
     if self.keynames_for_mod:
         for mod, keys in self.keynames_for_mod.items():
             info["modifier." + mod + ".keys"] = tuple(keys)
     if self.keycodes_for_modifier_keynames:
         for mod, keys in self.keycodes_for_modifier_keynames.items():
             info["modifier." + mod + ".keycodes"] = tuple(keys)
     if self.xkbmap_mod_meanings:
         for mod, mod_name in self.xkbmap_mod_meanings.items():
             info["modifier." + mod] = mod_name
     if self.xkbmap_x11_keycodes:
         for keycode, keysyms in self.xkbmap_x11_keycodes.items():
             info["x11_keycode." + str(keycode)] = keysyms
     for x in ("print", "layout", "variant"):
         v = getattr(self, "xkbmap_" + x)
         if v:
             info[x] = v
     for x in ("nuisance", ):
         v = getattr(self, "xkbmap_mod_" + x)
         if v:
             info["modifiers." + x] = list(v)
     for x in ("managed", "pointermissing"):
         v = getattr(self, "xkbmap_mod_" + x)
         if v:
             info["modifiers." + x] = v
     log("keyboard info: %s",
         "\n".join(["%s=%s" % (k, v) for k, v in info.items()]))
     return info
예제 #3
0
 def get_info(self):
     info = KeyboardConfigBase.get_info(self)
     info["modifiers.filter"] = self.modifiers_filter
     #keycodes:
     if self.keycode_translation:
         for kc, keycode in self.keycode_translation.items():
             if type(kc)==tuple:
                 client_keycode, keysym = kc
                 info["keysym." + str(keysym)+"."+str(client_keycode)] = keycode
                 info["keycode." + str(client_keycode)+"."+keysym] = keycode
             else:
                 info["keysym." + str(kc)] = keycode
                 info["keycode." + str(kc)] = keycode
     if self.xkbmap_keycodes:
         i = 0
         for keyval, name, keycode, group, level in self.xkbmap_keycodes:
             info["keymap.%s" % i] = (keyval, name, keycode, group, level)
             i += 1
     #modifiers:
     if self.modifier_client_keycodes:
         for mod, keys in self.modifier_client_keycodes.items():
             info["modifier." + mod + ".client_keys"] = keys
     if self.keynames_for_mod:
         for mod, keys in self.keynames_for_mod.items():
             info["modifier." + mod + ".keys"] = tuple(keys)
     if self.keycodes_for_modifier_keynames:
         for mod, keys in self.keycodes_for_modifier_keynames.items():
             info["modifier." + mod + ".keycodes"] = tuple(keys)
     if self.xkbmap_mod_meanings:
         for mod, mod_name in self.xkbmap_mod_meanings.items():
             info["modifier." + mod ] = mod_name
     if self.xkbmap_x11_keycodes:
         for keycode, keysyms in self.xkbmap_x11_keycodes.items():
             info["x11_keycode." + str(keycode) ] = keysyms
     for x in ("print", "layout", "variant"):
         v = getattr(self, "xkbmap_"+x)
         if v:
             info[x] = v
     for x in ("nuisance", ):
         v = getattr(self, "xkbmap_mod_"+x)
         if v:
             info["modifiers."+x] = list(v)
     for x in ("managed", "pointermissing"):
         v = getattr(self, "xkbmap_mod_"+x)
         if v:
             info["modifiers."+x] = v
     log("keyboard info: %s", "\n".join(["%s=%s" % (k,v) for k,v in info.items()]))
     return info
예제 #4
0
 def get_info(self):
     info = KeyboardConfigBase.get_info(self)
     #keycodes:
     if self.keycode_translation:
         ksinfo = info.setdefault("keysym", {})
         kcinfo = info.setdefault("keycode", {})
         for kc, keycode in self.keycode_translation.items():
             if type(kc) == tuple:
                 client_keycode, keysym = kc
                 ksinfo.setdefault(keysym, {})[client_keycode] = keycode
                 kcinfo.setdefault(client_keycode, {})[keysym] = keycode
             else:
                 kcinfo[kc] = keycode
     if self.xkbmap_keycodes:
         i = 0
         kminfo = info.setdefault("keymap", {})
         for keyval, name, keycode, group, level in self.xkbmap_keycodes:
             kminfo[i] = (keyval, name, keycode, group, level)
             i += 1
     #modifiers:
     modinfo = {}
     modsinfo = {}
     modinfo["filter"] = self.modifiers_filter
     if self.modifier_client_keycodes:
         for mod, keys in self.modifier_client_keycodes.items():
             modinfo.setdefault(mod, {})["client_keys"] = keys
     if self.keynames_for_mod:
         for mod, keys in self.keynames_for_mod.items():
             modinfo.setdefault(mod, {})["keys"] = tuple(keys)
     if self.keycodes_for_modifier_keynames:
         for mod, keys in self.keycodes_for_modifier_keynames.items():
             modinfo.setdefault(mod, {})["keycodes"] = tuple(keys)
     if self.xkbmap_mod_meanings:
         for mod, mod_name in self.xkbmap_mod_meanings.items():
             modinfo[mod] = mod_name
     info["x11_keycode"] = self.xkbmap_x11_keycodes
     for x in ("print", "layout", "variant", "mod_managed",
               "mod_pointermissing", "raw", "layout_groups"):
         v = getattr(self, "xkbmap_%s" % x)
         if v:
             info[x] = v
     modsinfo["nuisance"] = tuple(self.xkbmap_mod_nuisance or [])
     info["modifier"] = modinfo
     info["modifiers"] = modsinfo
     log("keyboard info: %s", info)
     return info
예제 #5
0
 def get_info(self):
     info = KeyboardConfigBase.get_info(self)
     #keycodes:
     if self.keycode_translation:
         ksinfo = info.setdefault("keysym", {})
         kcinfo = info.setdefault("keycode", {})
         for kc, keycode in self.keycode_translation.items():
             if type(kc)==tuple:
                 client_keycode, keysym = kc
                 ksinfo.setdefault(keysym, {})[client_keycode] = keycode
                 kcinfo.setdefault(client_keycode, {})[keysym] = keycode
             else:
                 kcinfo[kc] = keycode
     if self.xkbmap_keycodes:
         i = 0
         kminfo = info.setdefault("keymap", {})
         for keyval, name, keycode, group, level in self.xkbmap_keycodes:
             kminfo[i] = (keyval, name, keycode, group, level)
             i += 1
     #modifiers:
     modinfo = {}
     modsinfo = {}
     modinfo["filter"] = self.modifiers_filter
     if self.modifier_client_keycodes:
         for mod, keys in self.modifier_client_keycodes.items():
             modinfo.setdefault(mod, {})["client_keys"] = keys
     if self.keynames_for_mod:
         for mod, keys in self.keynames_for_mod.items():
             modinfo.setdefault(mod, {})["keys"] = tuple(keys)
     if self.keycodes_for_modifier_keynames:
         for mod, keys in self.keycodes_for_modifier_keynames.items():
             modinfo.setdefault(mod, {})["keycodes"] = tuple(keys)
     if self.xkbmap_mod_meanings:
         for mod, mod_name in self.xkbmap_mod_meanings.items():
             modinfo[mod] = mod_name
     info["x11_keycode"] = self.xkbmap_x11_keycodes
     for x in ("print", "layout", "variant", "mod_managed", "mod_pointermissing", "raw"):
         v = getattr(self, "xkbmap_"+x)
         if v:
             info[x] = v
     modsinfo["nuisance"] = list(self.xkbmap_mod_nuisance or [])
     info["modifier"] = modinfo
     info["modifiers"] = modsinfo
     log("keyboard info: %s", info)
     return info
예제 #6
0
 def get_info(self):
     info = KeyboardConfigBase.get_info(self)
     return info
예제 #7
0
 def get_info(self):
     info = KeyboardConfigBase.get_info(self)
     return info