INNER CODE UNIT · Python

unexpected_keys

Julow/Unexpected-Keyboard · check_layout.py:41

def unexpected_keys(keys, symbols, msg):
    unexpected = set(symbols).intersection(keys)
    if len(unexpected) > 0:
        warn("%s, unexpected: %s" % (msg, key_list_str(unexpected)))

def duplicates(keys):
    dup = [ k for k, key_elts in keys.items() if len(key_elts) >= 2 ]
    if len(dup) > 0:
        warn("Duplicate keys: " + key_list_str(dup))

def should_have_role(keys_map, role, keys):
    def is_center_key(key):
        def center(key_elt): return key_elt.get("key0", key_elt.get("c"))
        return any(( center(key_elt) == key for key_elt in keys_map.get(key, []) ))
    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):

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…