diff options
| author | Riku Isokoski <riksu9000@gmail.com> | 2021-07-15 23:17:17 (GMT) |
|---|---|---|
| committer | Riku Isokoski <riksu9000@gmail.com> | 2021-07-15 23:17:17 (GMT) |
| commit | baffa1594f9c1a03a95f0cc10955e3cf8bf880ce (patch) | |
| tree | 0b8013a7e748a657dc47aeb6581a0e2205316d69 /src/touchhandler | |
| parent | 93ccbf38e81b30165e49e897c01cac2eb54cc331 (diff) | |
Fix gestures
Diffstat (limited to 'src/touchhandler')
| -rw-r--r-- | src/touchhandler/TouchHandler.cpp | 20 | ||||
| -rw-r--r-- | src/touchhandler/TouchHandler.h | 1 |
2 files changed, 13 insertions, 8 deletions
diff --git a/src/touchhandler/TouchHandler.cpp b/src/touchhandler/TouchHandler.cpp index 86dc29f..160b5e1 100644 --- a/src/touchhandler/TouchHandler.cpp +++ b/src/touchhandler/TouchHandler.cpp @@ -29,11 +29,23 @@ void TouchHandler::Process(void* instance) { void TouchHandler::Work() { Pinetime::Drivers::Cst816S::TouchInfos info; + Pinetime::Drivers::Cst816S::Gestures prevGesture = Pinetime::Drivers::Cst816S::Gestures::None; while (true) { vTaskSuspend(taskHandle); + info = touchPanel.GetTouchInfo(); + + if (info.gesture != Pinetime::Drivers::Cst816S::Gestures::None) { + if (prevGesture != info.gesture) { + if (info.gesture == Pinetime::Drivers::Cst816S::Gestures::SlideDown || info.gesture == Pinetime::Drivers::Cst816S::Gestures::SlideLeft || + info.gesture == Pinetime::Drivers::Cst816S::Gestures::SlideUp || info.gesture == Pinetime::Drivers::Cst816S::Gestures::SlideRight) { + prevGesture = info.gesture; + } + gesture = info.gesture; + } + } + if (systemTask->IsSleeping()) { - gesture = info.gesture; systemTask->PushMessage(System::Messages::TouchWakeUp); } else { x = info.x; @@ -42,12 +54,6 @@ void TouchHandler::Work() { if (!isCancelled) { lvgl.SetNewTouchPoint(info.x, info.y, true); } - if (info.gesture != Pinetime::Drivers::Cst816S::Gestures::None) { - if (prevGesture != info.gesture) { - prevGesture = info.gesture; - gesture = info.gesture; - } - } } else { if (isCancelled) { lvgl.SetNewTouchPoint(-1, -1, false); diff --git a/src/touchhandler/TouchHandler.h b/src/touchhandler/TouchHandler.h index 7999e00..37ef5af 100644 --- a/src/touchhandler/TouchHandler.h +++ b/src/touchhandler/TouchHandler.h @@ -37,7 +37,6 @@ namespace Pinetime { Pinetime::Drivers::Cst816S& touchPanel; Pinetime::Components::LittleVgl& lvgl; Pinetime::Drivers::Cst816S::Gestures gesture; - Pinetime::Drivers::Cst816S::Gestures prevGesture; bool isCancelled = false; uint8_t x, y; }; |
