From 02043c8c119996e37e8cea2fc9106c02c42dfe84 Mon Sep 17 00:00:00 2001 From: Ilya Zhuravlev Date: Mon, 5 Jul 2021 23:42:03 -0400 Subject: [PATCH] keyboard_comm: add cache to bring settings api in line with others --- src/main/python/keyboard_comm.py | 43 ++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/src/main/python/keyboard_comm.py b/src/main/python/keyboard_comm.py index 29c3280..ec709bf 100644 --- a/src/main/python/keyboard_comm.py +++ b/src/main/python/keyboard_comm.py @@ -215,6 +215,7 @@ class Keyboard: self.reload_keymap() self.reload_macros() self.reload_rgb() + self.reload_settings() self.reload_dynamic() def reload_layers(self): @@ -383,6 +384,29 @@ class Keyboard: self.backlight_effect = self.usb_send( self.dev, struct.pack(">BB", CMD_VIA_LIGHTING_GET_VALUE, QMK_BACKLIGHT_EFFECT), retries=20)[2] + def reload_settings(self): + self.settings = dict() + self.supported_settings = set() + if self.vial_protocol < 4: + return + cur = 0 + while cur != 0xFFFF: + data = self.usb_send(self.dev, struct.pack("