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
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
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
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
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
def parse_options(self, props): return KeyboardConfigBase.parse_options(self, props)