summaryrefslogtreecommitdiff
path: root/src/tangara/input/lvgl_input_driver.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2025-01-15 15:37:35 +1100
committerjacqueline <me@jacqueline.id.au>2025-01-15 15:37:35 +1100
commita69b95187be4afce4eefa8f7b08ceca7b88b7724 (patch)
tree42b39630c4fac348c87b2e2d4db3cb115f1d83cd /src/tangara/input/lvgl_input_driver.cpp
parentdfb4ea54581de68a042746e9f7291ac2f833d47d (diff)
downloadtangara-fw-a69b95187be4afce4eefa8f7b08ceca7b88b7724.tar.gz
Handle lock state in each input device, instead of in the lvgl driver
Diffstat (limited to 'src/tangara/input/lvgl_input_driver.cpp')
-rw-r--r--src/tangara/input/lvgl_input_driver.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/tangara/input/lvgl_input_driver.cpp b/src/tangara/input/lvgl_input_driver.cpp
index 824e49cc..60d9f816 100644
--- a/src/tangara/input/lvgl_input_driver.cpp
+++ b/src/tangara/input/lvgl_input_driver.cpp
@@ -114,11 +114,6 @@ auto LvglInputDriver::setGroup(lv_group_t* g) -> void {
}
auto LvglInputDriver::read(lv_indev_data_t* data) -> void {
- // TODO: we should pass lock state on to the individual devices, since they
- // may wish to either ignore the lock state, or power down until unlock.
- if (is_locked_) {
- return;
- }
for (auto&& device : inputs_) {
device->read(data);
}
@@ -218,10 +213,15 @@ auto LvglInputDriver::pushHooks(lua_State* L) -> int {
lua_newtable(L);
for (auto& dev : inputs_) {
+ auto triggers = dev->triggers();
+ if (triggers.empty()) {
+ continue;
+ }
+
lua_pushlstring(L, dev->name().data(), dev->name().size());
lua_newtable(L);
- for (auto& trigger : dev->triggers()) {
+ for (auto& trigger : triggers) {
lua_pushlstring(L, trigger.get().name().data(),
trigger.get().name().size());
LuaTrigger** lua_obj = reinterpret_cast<LuaTrigger**>(