From 2d069e1af8db640b320f1acdb4a1af5fc82d7c8f Mon Sep 17 00:00:00 2001 From: Ilya Zhuravlev Date: Wed, 24 Mar 2021 19:03:02 -0400 Subject: [PATCH] keyboard_comm: fix restoring macros --- src/main/python/keyboard_comm.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/python/keyboard_comm.py b/src/main/python/keyboard_comm.py index e730416..5397506 100644 --- a/src/main/python/keyboard_comm.py +++ b/src/main/python/keyboard_comm.py @@ -432,7 +432,12 @@ class Keyboard: if len(full_macro) < self.macro_count: full_macro += [[] for x in range(self.macro_count - len(full_macro))] full_macro = full_macro[:self.macro_count] - self.set_macro(self.macros_serialize(full_macro)) + # TODO: log a warning if macro is cutoff + data = self.macros_serialize(full_macro)[0:self.macro_memory] + if data != self.macro: + Unlocker.unlock(self) + self.set_macro(data) + self.lock() def reset(self): self.usb_send(self.dev, struct.pack("B", 0xB))