qmk_settings: retrieve supported settings

main
Ilya Zhuravlev 2021-07-01 15:10:32 -04:00
parent 6c90d164c0
commit 3318a2c167
2 changed files with 14 additions and 1 deletions

View File

@ -643,7 +643,17 @@ class Keyboard:
return [self.macro_deserialize(x) for x in macros]
def qmk_settings_query(self):
raise NotImplementedError
cur = 0
supported_settings = []
while cur != 0xFFFF:
data = self.usb_send(self.dev, struct.pack("<BBH", CMD_VIA_VIAL_PREFIX, CMD_VIAL_QMK_SETTINGS_QUERY, cur),
retries=20)
for x in range(0, len(data), 2):
qsid = int.from_bytes(data[x:x+2], byteorder="little")
cur = max(cur, qsid)
if qsid != 0xFFFF:
supported_settings.append(qsid)
return supported_settings
def qmk_settings_get(self, qsid):
data = self.usb_send(self.dev, struct.pack("<BBH", CMD_VIA_VIAL_PREFIX, CMD_VIAL_QMK_SETTINGS_GET, qsid),

View File

@ -124,6 +124,9 @@ class QmkSettings(BasicEditor):
self.tabs.append(self.populate_tab(tab, container))
def reload_settings(self):
settings = self.keyboard.qmk_settings_query()
print(settings)
for tab in self.tabs:
for field in tab:
field.reload(self.keyboard)