diff options
Diffstat (limited to 'src/tangara/input/lvgl_input_driver.hpp')
| -rw-r--r-- | src/tangara/input/lvgl_input_driver.hpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/tangara/input/lvgl_input_driver.hpp b/src/tangara/input/lvgl_input_driver.hpp index 629a0a78..ecb3a36d 100644 --- a/src/tangara/input/lvgl_input_driver.hpp +++ b/src/tangara/input/lvgl_input_driver.hpp @@ -35,7 +35,8 @@ class LvglInputDriver { public: LvglInputDriver(drivers::NvsStorage& nvs, DeviceFactory&); - auto mode() -> lua::Property& { return mode_; } + auto wheelMode() -> lua::Property& { return wheel_mode_; } + auto buttonMode() -> lua::Property& { return button_mode_; } auto lockedMode() -> lua::Property& { return locked_mode_; } auto hapticsMode() -> lua::Property& { return haptics_mode_; } @@ -50,7 +51,8 @@ class LvglInputDriver { drivers::NvsStorage& nvs_; DeviceFactory& factory_; - lua::Property mode_; + lua::Property wheel_mode_; + lua::Property button_mode_; lua::Property locked_mode_; lua::Property haptics_mode_; lv_indev_t* device_; @@ -73,8 +75,6 @@ class LvglInputDriver { std::tie(r.device_name, r.trigger_name, r.hook_name); } }; - - /* Userdata object for tracking the Lua mirror of a TriggerHooks object. */ class LuaTrigger { public: LuaTrigger(LvglInputDriver&, IInputDevice&, TriggerHooks&); @@ -96,13 +96,15 @@ class LvglInputDriver { std::string trigger_; std::map<std::string, std::string> hooks_; }; - - /* A hook override implemented as a lua callback */ struct LuaOverride { lua_State* L; int ref; }; + /* Userdata object for tracking the Lua mirror of a TriggerHooks object. */ + + /* A hook override implemented as a lua callback */ + std::map<OverrideSelector, LuaOverride> overrides_; auto setOverride(lua_State* L, const OverrideSelector&) -> void; |
