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/TouchHandler.cpp | |
| parent | 93ccbf38e81b30165e49e897c01cac2eb54cc331 (diff) | |
Fix gestures
Diffstat (limited to 'src/touchhandler/TouchHandler.cpp')
| -rw-r--r-- | src/touchhandler/TouchHandler.cpp | 20 |
1 files changed, 13 insertions, 7 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); |
