From 49948a7e767454663ea64f61d4103b43f5a20d6f Mon Sep 17 00:00:00 2001 From: Ilya Zhuravlev Date: Tue, 29 Jun 2021 19:43:21 -0400 Subject: [PATCH] qmk_settings: initial prototype --- src/main/python/keyboard_comm.py | 21 +++++++++++++ src/main/python/main_window.py | 8 +++-- src/main/python/qmk_settings.py | 52 ++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+), 3 deletions(-) create mode 100644 src/main/python/qmk_settings.py diff --git a/src/main/python/keyboard_comm.py b/src/main/python/keyboard_comm.py index 59d7c4a..f14afa4 100644 --- a/src/main/python/keyboard_comm.py +++ b/src/main/python/keyboard_comm.py @@ -52,6 +52,10 @@ CMD_VIAL_UNLOCK_START = 0x06 CMD_VIAL_UNLOCK_POLL = 0x07 CMD_VIAL_LOCK = 0x08 +CMD_VIAL_QMK_SETTINGS_QUERY = 0x09 +CMD_VIAL_QMK_SETTINGS_GET = 0x0A +CMD_VIAL_QMK_SETTINGS_SET = 0x0B + # how much of a macro/keymap buffer we can read/write per packet BUFFER_FETCH_CHUNK = 28 @@ -637,6 +641,23 @@ class Keyboard: macros = macros[:self.macro_count] return [self.macro_deserialize(x) for x in macros] + def qmk_settings_query(self): + raise NotImplementedError + + def qmk_settings_get(self, qsid): + data = self.usb_send(self.dev, struct.pack("= 3) # TODO(xyz): protocol bump