summaryrefslogtreecommitdiff
path: root/src/tangara/input/input_volume_buttons.cpp
diff options
context:
space:
mode:
authorslord <slord@noreply.codeberg.org>2025-02-04 21:17:57 +0000
committerslord <slord@noreply.codeberg.org>2025-02-04 21:17:57 +0000
commit508c8c79102c6d095f92eaf72f42d3f61ef5e7ba (patch)
tree8ea20e3fd06a5c6f84d88eb822ba8ef5f8667bcd /src/tangara/input/input_volume_buttons.cpp
parentff733e8f0c827e3d2d91bb7db29a85807867ab5e (diff)
parent813db15da84ee82066564b51f83be451cf121a00 (diff)
downloadtangara-fw-508c8c79102c6d095f92eaf72f42d3f61ef5e7ba.tar.gz
Merge branch 'main' into playlist-browser
Diffstat (limited to 'src/tangara/input/input_volume_buttons.cpp')
-rw-r--r--src/tangara/input/input_volume_buttons.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/tangara/input/input_volume_buttons.cpp b/src/tangara/input/input_volume_buttons.cpp
index 7ffdfcdc..5c814ffa 100644
--- a/src/tangara/input/input_volume_buttons.cpp
+++ b/src/tangara/input/input_volume_buttons.cpp
@@ -15,13 +15,15 @@ VolumeButtons::VolumeButtons(drivers::IGpios& gpios)
: gpios_(gpios),
up_("upper", actions::volumeUp()),
down_("lower", actions::volumeDown()),
- locked_(false) {}
+ locked_() {}
auto VolumeButtons::read(lv_indev_data_t* data) -> void {
bool up = !gpios_.Get(drivers::IGpios::Pin::kKeyUp);
bool down = !gpios_.Get(drivers::IGpios::Pin::kKeyDown);
- if ((up && down) || locked_) {
+ bool input_disabled = locked_.has_value() && (locked_ != drivers::NvsStorage::LockedInputModes::kVolumeOnly);
+
+ if ((up && down) || input_disabled) {
up = false;
down = false;
}
@@ -39,12 +41,12 @@ auto VolumeButtons::triggers()
return {up_, down_};
}
-auto VolumeButtons::onLock() -> void {
- locked_ = true;
+auto VolumeButtons::onLock(drivers::NvsStorage::LockedInputModes mode) -> void {
+ locked_ = mode;
}
auto VolumeButtons::onUnlock() -> void {
- locked_ = false;
+ locked_ = {};
}
} // namespace input