예제 #1
0
    def parse_options(self, props):
        """ used by both process_hello and process_keymap
            to set the keyboard attributes """
        KeyboardConfigBase.parse_options(self, props)
        modded = []

        def parse_option(name, parse_fn):
            prop = "xkbmap_%s" % name
            cv = getattr(self, prop)
            nv = parse_fn(prop)
            if cv != nv:
                setattr(self, prop, nv)
                modded.append(prop)

        #plain strings:
        for x in ("print", "query"):
            parse_option(x, props.strget)
        #lists:
        parse_option("keycodes", props.listget)
        #dicts:
        for x in ("mod_meanings", "x11_keycodes"):
            parse_option(x, props.dictget)
        #lists of strings:
        for x in ("mod_managed", "mod_pointermissing"):
            parse_option(x, props.strlistget)
        log("assign_keymap_options(..) modified %s", modded)
        return len(modded) > 0
예제 #2
0
 def parse_options(self, props):
     """ used by both process_hello and process_keymap
         to set the keyboard attributes """
     KeyboardConfigBase.parse_options(self, props)
     modded = []
     def parse_option(name, parse_fn):
         prop = "xkbmap_%s" % name
         cv = getattr(self, prop)
         nv = parse_fn(prop)
         if cv!=nv:
             setattr(self, prop, nv)
             modded.append(prop)
     #plain strings:
     for x in ("print", "query"):
         parse_option(x, props.strget)
     #lists:
     parse_option("keycodes", props.listget)
     #dicts:
     for x in ("mod_meanings", "x11_keycodes", "query_struct"):
         parse_option(x, props.dictget)
     #lists of strings:
     for x in ("mod_managed", "mod_pointermissing"):
         parse_option(x, props.strlistget)
     parse_option("raw", props.boolget)
     log("assign_keymap_options(..) modified %s", modded)
     return len(modded)>0
예제 #3
0
    def parse_options(self, props):
        """ used by both process_hello and process_keymap
            to set the keyboard attributes """
        KeyboardConfigBase.parse_options(self, props)
        modded = {}

        def parse_option(name, parse_fn, *parse_args):
            prop = "xkbmap_%s" % name
            cv = getattr(self, prop)
            nv = parse_fn(prop, *parse_args)
            if cv != nv:
                setattr(self, prop, nv)
                modded[prop] = nv

        #plain strings:
        for x in ("print", "query"):
            parse_option(x, props.strget)
        #lists:
        parse_option("keycodes", props.listget)
        #dicts:
        for x in ("mod_meanings", "x11_keycodes", "query_struct"):
            parse_option(x, props.dictget, {})
        #lists of strings:
        for x in ("mod_managed", "mod_pointermissing"):
            parse_option(x, props.strlistget)
        parse_option("raw", props.boolget)
        #older clients don't specify if they support layout groups safely
        #(MS Windows clients used base-1)
        #so only enable it by default for X11 clients
        parse_option("layout_groups", props.boolget,
                     bool(self.xkbmap_query or self.xkbmap_query_struct))
        log("assign_keymap_options(..) modified %s", modded)
        return len(modded) > 0
예제 #4
0
 def parse_options(self, props):
     """ used by both process_hello and process_keymap
         to set the keyboard attributes """
     KeyboardConfigBase.parse_options(self, props)
     modded = []
     for x in ("print", "query", "mod_meanings", "mod_managed",
               "mod_pointermissing", "keycodes", "x11_keycodes"):
         prop = "xkbmap_%s" % x
         cv = getattr(self, prop)
         nv = props.get(prop)
         if cv != nv:
             setattr(self, prop, nv)
             modded.append(prop)
     log("assign_keymap_options(..) modified %s", modded)
     return len(modded) > 0
예제 #5
0
 def parse_options(self, props):
     """ used by both process_hello and process_keymap
         to set the keyboard attributes """
     KeyboardConfigBase.parse_options(self, props)
     modded = []
     for x in ("print", "query", "mod_meanings",
               "mod_managed", "mod_pointermissing",
               "keycodes", "x11_keycodes"):
         prop = "xkbmap_%s" % x
         cv = getattr(self, prop)
         nv = props.get(prop)
         if cv!=nv:
             setattr(self, prop, nv)
             modded.append(prop)
     log("assign_keymap_options(..) modified %s", modded)
     return len(modded)>0
예제 #6
0
 def parse_options(self, props):
     return KeyboardConfigBase.parse_options(self, props)
예제 #7
0
 def parse_options(self, props):
     return KeyboardConfigBase.parse_options(self, props)