From 1736f7874b8f651ae42a21f48b6a15d90f30974a Mon Sep 17 00:00:00 2001 From: jacqueline Date: Mon, 29 Apr 2024 13:53:11 +1000 Subject: Use double-clicks instead of long-presses for wheel shortcuts --- src/input/include/input_hook.hpp | 4 +++- src/input/include/input_trigger.hpp | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src/input/include') diff --git a/src/input/include/input_hook.hpp b/src/input/include/input_hook.hpp index a257c04a..a8705210 100644 --- a/src/input/include/input_hook.hpp +++ b/src/input/include/input_hook.hpp @@ -45,9 +45,10 @@ class Hook { class TriggerHooks { public: TriggerHooks(std::string name, std::optional cb) - : TriggerHooks(name, cb, cb, cb) {} + : TriggerHooks(name, cb, cb, cb, cb) {} TriggerHooks(std::string name, std::optional click, + std::optional double_click, std::optional long_press, std::optional repeat); @@ -66,6 +67,7 @@ class TriggerHooks { Trigger trigger_; Hook click_; + Hook double_click_; Hook long_press_; Hook repeat_; }; diff --git a/src/input/include/input_trigger.hpp b/src/input/include/input_trigger.hpp index 599b796b..bcafa8ad 100644 --- a/src/input/include/input_trigger.hpp +++ b/src/input/include/input_trigger.hpp @@ -13,6 +13,7 @@ namespace input { +const uint16_t kDoubleClickDelayMs = 500; const uint16_t kLongPressDelayMs = LV_INDEV_DEF_LONG_PRESS_TIME; const uint16_t kRepeatDelayMs = LV_INDEV_DEF_LONG_PRESS_REP_TIME; @@ -21,6 +22,7 @@ class Trigger { enum class State { kNone, kClick, + kDoubleClick, kLongPress, kRepeatPress, }; @@ -31,7 +33,10 @@ class Trigger { private: std::optional touch_time_ms_; - uint16_t times_fired_; + bool was_pressed_; + + bool was_double_click_; + uint16_t times_long_pressed_; }; } // namespace input -- cgit v1.2.3