From bcde30ff9e322278ebeb316bfa34af0328680bcf Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Fri, 16 Oct 2026 14:05:33 +0200 Subject: pylint review + ergol key mapping --- json_layer.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'json_layer.py') 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. -- cgit v1.2.3