diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-04-15 14:18:20 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-04-15 14:18:20 +1000 |
| commit | 1baaa6dadcea5b8a85f1629e31119f4edba91b75 (patch) | |
| tree | feae0c19f1a6744b60f3e59a5d9b8df1c28c6ebf /src/input/input_volume_buttons.cpp | |
| parent | c24dfa6846929e8a7659c4aa2633b82494ac7fe1 (diff) | |
| download | tangara-fw-1baaa6dadcea5b8a85f1629e31119f4edba91b75.tar.gz | |
Use more generic 'hooks' for each input device's actions
Diffstat (limited to 'src/input/input_volume_buttons.cpp')
| -rw-r--r-- | src/input/input_volume_buttons.cpp | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/src/input/input_volume_buttons.cpp b/src/input/input_volume_buttons.cpp index 0413222c..bc04cd66 100644 --- a/src/input/input_volume_buttons.cpp +++ b/src/input/input_volume_buttons.cpp @@ -7,29 +7,16 @@ #include "input_volume_buttons.hpp" #include "event_queue.hpp" #include "gpios.hpp" +#include "input_hook_actions.hpp" namespace input { -VolumeButtons::VolumeButtons(drivers::IGpios& gpios) : gpios_(gpios) {} +VolumeButtons::VolumeButtons(drivers::IGpios& gpios) + : gpios_(gpios), up_(actions::volumeUp), down_(actions::volumeDown) {} auto VolumeButtons::read(lv_indev_data_t* data) -> void { - bool vol_up = gpios_.Get(drivers::IGpios::Pin::kKeyUp); - switch (up_.update(!vol_up)) { - case Trigger::State::kNone: - break; - default: - events::Audio().Dispatch(audio::StepUpVolume{}); - break; - } - - bool vol_down = gpios_.Get(drivers::IGpios::Pin::kKeyDown); - switch (down_.update(!vol_down)) { - case Trigger::State::kNone: - break; - default: - events::Audio().Dispatch(audio::StepDownVolume{}); - break; - } + up_.update(!gpios_.Get(drivers::IGpios::Pin::kKeyUp), data); + down_.update(!gpios_.Get(drivers::IGpios::Pin::kKeyDown), data); } } // namespace input |
