mirror of
https://github.com/ratspeak/ratdeck.git
synced 2026-10-23 09:42:23 +00:00
Add keyboard backlight config and control
- Add user config for brightness and auto-on/off control. - Auto-switch backlight on/off according to power state.
This commit is contained in:
1 parent
6836b6967a
commit
51dbfa1a4e
9 files changed
+119
-5
No files matched your search
@@ -218,18 +218,32 @@ void LvSettingsScreen::buildItems() {
|
||||
|
||||
// Display & Input
|
||||
int dispStart = idx;
|
||||
_items.push_back({"Brightness", SettingType::INTEGER,
|
||||
_items.push_back({"Display Brightness", SettingType::INTEGER,
|
||||
[&s]() { return s.brightness; }, [&s](int v) { s.brightness = v; },
|
||||
[](int v) { return String(v) + "%"; }, 5, 100, 5});
|
||||
idx++;
|
||||
_items.push_back({"Dim Timeout", SettingType::INTEGER,
|
||||
_items.push_back({"Display Dim Timeout", SettingType::INTEGER,
|
||||
[&s]() { return s.screenDimTimeout; }, [&s](int v) { s.screenDimTimeout = v; },
|
||||
[](int v) { return String(v) + "s"; }, 5, 300, 5});
|
||||
idx++;
|
||||
_items.push_back({"Off Timeout", SettingType::INTEGER,
|
||||
_items.push_back({"Display Off Timeout", SettingType::INTEGER,
|
||||
[&s]() { return s.screenOffTimeout; }, [&s](int v) { s.screenOffTimeout = v; },
|
||||
[](int v) { return String(v) + "s"; }, 10, 600, 10});
|
||||
idx++;
|
||||
_items.push_back({"Keyboard Backlight Brightness", SettingType::INTEGER,
|
||||
[&s]() { return s.keyboardBrightness; }, [&s](int v) { s.keyboardBrightness = v; },
|
||||
[](int v) { return String(v) + "%"; }, 5, 100, 5});
|
||||
idx++;
|
||||
_items.push_back({"Keyboard Backlight Auto-ON", SettingType::TOGGLE,
|
||||
[&s]() { return s.keyboardAutoOn ? 1 : 0; },
|
||||
[&s](int v) { s.keyboardAutoOn = (v != 0); },
|
||||
[](int v) { return v ? String("ON") : String("OFF"); }});
|
||||
idx++;
|
||||
_items.push_back({"Keyboard Backlight Auto-OFF", SettingType::TOGGLE,
|
||||
[&s]() { return s.keyboardAutoOff ? 1 : 0; },
|
||||
[&s](int v) { s.keyboardAutoOff = (v != 0); },
|
||||
[](int v) { return v ? String("ON") : String("OFF"); }});
|
||||
idx++;
|
||||
_items.push_back({"Trackball Speed", SettingType::INTEGER,
|
||||
[&s]() { return s.trackballSpeed; }, [&s](int v) { s.trackballSpeed = v; },
|
||||
[](int v) { return String(v); }, 1, 5, 1});
|
||||
@@ -702,6 +716,7 @@ void LvSettingsScreen::onEnter() {
|
||||
_textEditing = false;
|
||||
_confirmingReset = false;
|
||||
_confirmingDevMode = false;
|
||||
_kbBrightness = _cfg ? _cfg->settings().keyboardBrightness : 0;
|
||||
rebuildCategoryList();
|
||||
}
|
||||
|
||||
@@ -1334,6 +1349,12 @@ void LvSettingsScreen::applyAndSave() {
|
||||
_power->setBrightness(s.brightness);
|
||||
_power->setDimTimeout(s.screenDimTimeout);
|
||||
_power->setOffTimeout(s.screenOffTimeout);
|
||||
if (_kbBrightness != s.keyboardBrightness) {
|
||||
_power->setKbBrightness(s.keyboardBrightness, true);
|
||||
_kbBrightness = s.keyboardBrightness;
|
||||
}
|
||||
_power->setKbAutoOn(s.keyboardAutoOn);
|
||||
_power->setKbAutoOff(s.keyboardAutoOff);
|
||||
}
|
||||
if (_radio && _radio->isRadioOnline()) {
|
||||
_radio->setFrequency(s.loraFrequency);
|
||||
|
||||
Reference in new issue
Block a user