From 6c90d164c047e43444316d2c0a658a91e7739077 Mon Sep 17 00:00:00 2001 From: Ilya Zhuravlev Date: Thu, 1 Jul 2021 15:00:45 -0400 Subject: [PATCH] qmk_settings: implement reset command --- src/main/python/keyboard_comm.py | 4 ++++ src/main/python/qmk_settings.py | 9 ++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/python/keyboard_comm.py b/src/main/python/keyboard_comm.py index f14afa4..8bf6391 100644 --- a/src/main/python/keyboard_comm.py +++ b/src/main/python/keyboard_comm.py @@ -55,6 +55,7 @@ CMD_VIAL_LOCK = 0x08 CMD_VIAL_QMK_SETTINGS_QUERY = 0x09 CMD_VIAL_QMK_SETTINGS_GET = 0x0A CMD_VIAL_QMK_SETTINGS_SET = 0x0B +CMD_VIAL_QMK_SETTINGS_RESET = 0x0C # how much of a macro/keymap buffer we can read/write per packet BUFFER_FETCH_CHUNK = 28 @@ -658,6 +659,9 @@ class Keyboard: print("resp", data.hex()) return data[0] + def qmk_settings_reset(self): + self.usb_send(self.dev, struct.pack("BB", CMD_VIA_VIAL_PREFIX, CMD_VIAL_QMK_SETTINGS_RESET)) + class DummyKeyboard(Keyboard): diff --git a/src/main/python/qmk_settings.py b/src/main/python/qmk_settings.py index 5341c93..039661a 100644 --- a/src/main/python/qmk_settings.py +++ b/src/main/python/qmk_settings.py @@ -4,7 +4,7 @@ from collections import defaultdict from PyQt5 import QtCore from PyQt5.QtWidgets import QVBoxLayout, QCheckBox, QGridLayout, QLabel, QWidget, QSizePolicy, QTabWidget, QSpinBox, \ - QHBoxLayout, QPushButton + QHBoxLayout, QPushButton, QMessageBox from basic_editor import BasicEditor from util import tr @@ -150,8 +150,11 @@ class QmkSettings(BasicEditor): self.keyboard.qmk_settings_set(qsid, value) def reset_settings(self): - # TODO: implement this - raise NotImplementedError + if QMessageBox.question(self.widget(), "", + tr("QmkSettings", "Reset all settings to default values?"), + QMessageBox.Yes | QMessageBox.No) == QMessageBox.Yes: + self.keyboard.qmk_settings_reset() + self.reload_settings() def valid(self): return isinstance(self.device, VialKeyboard) and \