diff options
Diffstat (limited to 'json_layer.py')
| -rw-r--r-- | json_layer.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/json_layer.py b/json_layer.py index 9e98fc3..acc78d7 100644 --- a/json_layer.py +++ b/json_layer.py @@ -24,6 +24,7 @@ from kmk.modules.macros import Delay, Macros, Tap # I do not define it yet, only declare it. operators = {} + def key_of_json(element, inside=False): """ Create the key from the key name. The value can be either a string or a list. If the parameter is a @@ -39,7 +40,7 @@ def key_of_json(element, inside=False): key = key_of_json(hd) if len(tl) != 0: # Chainable key / recursive function - return key( key_of_json(tl) ) + return key(key_of_json(tl)) else: return key if isinstance(element, dict): @@ -47,6 +48,7 @@ def key_of_json(element, inside=False): return operators[key](value) return + def encode_macro(element): """ Encode the result of the function key_of_json in order to build a macro of this @@ -58,6 +60,7 @@ def encode_macro(element): return Tap(key) return key + def sequence(element): """ Convert a list of keys into a sequence of them. """ @@ -66,20 +69,24 @@ def sequence(element): # Send the list as arguments to the function return KC.MACRO(*seq) + def no_release(element): key = key_of_json(element) return key(no_release=True) + def no_press(element): key = key_of_json(element) return key(no_press=True) + # Now I can define the dictionnary -operators["key"] = key_of_json -operators["chain"] = key_of_json -operators["seq"] = sequence +operators["key"] = key_of_json +operators["chain"] = key_of_json +operators["seq"] = sequence operators["no_release"] = no_release -operators["no_press"] = no_press +operators["no_press"] = no_press + class Layer(object): """ Layer as an object. |
