diff options
Diffstat (limited to 'json_layer.py')
-rw-r--r-- | json_layer.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/json_layer.py b/json_layer.py index 8d12681..9e98fc3 100644 --- a/json_layer.py +++ b/json_layer.py @@ -8,6 +8,7 @@ # +from supervisor import ticks_ms from kmk.keys import Key, KC from kmk.modules.macros import Delay, Macros, Tap @@ -83,11 +84,15 @@ operators["no_press"] = no_press class Layer(object): """ Layer as an object. This class gives the property name in addition of the keymap list + + This layer keep a track of the last time the layer was updated. This is + used as timer in order to put the device in sleep mode or not. """ def __init__(self): - self.name = "" self.keys = [] + self._name = "" + self.timer_start = ticks_ms() def load(self, json_data): """ Load the json dictionnary into the layer. The dictionnary shall be @@ -101,6 +106,7 @@ class Layer(object): The dictionnary must be one of the operators declared above. """ + self.timer_start = ticks_ms() for name, keys in json_data.items(): self.name = name self.keys = list(map(key_of_json, keys)) @@ -114,3 +120,12 @@ class Layer(object): """ Compare two layer by the name only """ return self.name == other.name + + @property + def name(self): + return self._name + + @name.setter + def name(self, value): + self.timer_start = ticks_ms() + self._name = value |