INNER CODE UNIT · Python
key_roles
Julow/Unexpected-Keyboard · check_layout.py:55
def key_roles(key):
return ( key_elt.get("role", "normal") for key_elt in keys_map[key] )
for key in keys:
if is_center_key(key) and role not in key_roles(key):
warn("Key '%s' is not on a key with role=\"%s\"" % (key, role))
# Write to [keys], dict of keyvalue to the key elements they appear in
def parse_row_from_et(row, keys):
for key_elt in row:
for attr in key_elt.keys():
if attr in KEY_ATTRIBUTES:
k = key_elt.get(attr).removeprefix("\\")
keys.setdefault(k, []).append(key_elt)
def parse_layout(fname):
keys = {}
root = ET.parse(fname).getroot()
if root.tag != "keyboard":