rgb_configurator: finish backlight

main
Ilya Zhuravlev 2021-05-22 13:19:28 -04:00
parent 9cca2a28fe
commit f542157d56
2 changed files with 25 additions and 7 deletions

View File

@ -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)

View File

@ -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):