From f542157d56249c99cfba9378bc918c38fadb4a9c Mon Sep 17 00:00:00 2001 From: Ilya Zhuravlev Date: Sat, 22 May 2021 13:19:28 -0400 Subject: [PATCH] rgb_configurator: finish backlight --- src/main/python/keyboard_comm.py | 15 +++++++++++++++ src/main/python/rgb_configurator.py | 17 ++++++++++------- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/main/python/keyboard_comm.py b/src/main/python/keyboard_comm.py index 24b677e..2bc3d10 100644 --- a/src/main/python/keyboard_comm.py +++ b/src/main/python/keyboard_comm.py @@ -177,6 +177,7 @@ class Keyboard: self.lighting_qmk_rgblight = self.lighting_qmk_backlight = False self.underglow_brightness = self.underglow_effect = self.underglow_effect_speed = -1 + self.backlight_brightness = self.backlight_effect = -1 self.underglow_color = (0, 0) self.via_protocol = self.vial_protocol = self.keyboard_id = -1 @@ -349,6 +350,12 @@ class Keyboard: # hue, sat self.underglow_color = (color[0], color[1]) + if self.lighting_qmk_backlight: + self.backlight_brightness = self.usb_send( + self.dev, struct.pack(">BB", CMD_VIA_LIGHTING_GET_VALUE, QMK_BACKLIGHT_BRIGHTNESS), retries=20)[2] + self.backlight_effect = self.usb_send( + self.dev, struct.pack(">BB", CMD_VIA_LIGHTING_GET_VALUE, QMK_BACKLIGHT_EFFECT), retries=20)[2] + def set_key(self, layer, row, col, code): if code < 0: return @@ -409,6 +416,14 @@ class Keyboard: self.set_qmk_rgblight_brightness(v) self.usb_send(self.dev, struct.pack(">BBBB", CMD_VIA_LIGHTING_SET_VALUE, QMK_RGBLIGHT_COLOR, h, s)) + def set_qmk_backlight_brightness(self, value): + self.backlight_brightness = value + self.usb_send(self.dev, struct.pack(">BBB", CMD_VIA_LIGHTING_SET_VALUE, QMK_BACKLIGHT_BRIGHTNESS, value)) + + def set_qmk_backlight_effect(self, value): + self.backlight_effect = value + self.usb_send(self.dev, struct.pack(">BBB", CMD_VIA_LIGHTING_SET_VALUE, QMK_BACKLIGHT_EFFECT, value)) + def save_rgb(self): self.usb_send(self.dev, struct.pack(">B", CMD_VIA_LIGHTING_SAVE), retries=20) diff --git a/src/main/python/rgb_configurator.py b/src/main/python/rgb_configurator.py index 7a11cd0..b1f8182 100644 --- a/src/main/python/rgb_configurator.py +++ b/src/main/python/rgb_configurator.py @@ -219,22 +219,25 @@ class QmkBacklightHandler(BasicHandler): self.backlight_breathing.hide() def block_signals(self): - pass + self.backlight_brightness.blockSignals(True) + self.backlight_breathing.blockSignals(True) def unblock_signals(self): - pass + self.backlight_brightness.blockSignals(False) + self.backlight_breathing.blockSignals(False) def update_from_keyboard(self): - pass + self.backlight_brightness.setValue(self.device.keyboard.backlight_brightness) + self.backlight_breathing.setChecked(self.device.keyboard.backlight_effect == 1) def valid(self): return self.device.keyboard.lighting_qmk_backlight - def on_backlight_brightness_changed(self): - pass + def on_backlight_brightness_changed(self, value): + self.device.keyboard.set_qmk_backlight_brightness(value) - def on_backlight_breathing_changed(self): - pass + def on_backlight_breathing_changed(self, checked): + self.device.keyboard.set_qmk_backlight_effect(int(checked)) class RGBConfigurator(BasicEditor):