InfiniTimeOrg / InfiniTimeOrg/InfiniTime

Short swipes, long swipes, custom swipes?

Open
#1,011 0 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement question/discussion
Dominant language
C
Stars
3.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

Currently what constitutes a swipe is entirely determined by the touch controller. For a swipe to be registered, there only needs to be a tiny bit of travel. I experimented with making swipes require more distance in https://github.com/InfiniTimeOrg/InfiniTime/issues/710#issuecomment-932120451 and found it was simple to do in software, but had other consequences due to the way LVGL works.

Now I had the idea that we could have separate touch events for long and short swipes, to get the best of both worlds. We could require long swipes to move away from the watchface, which may fix many issues regarding accidental touches being registered. Would this be useful elsewhere?

Furthermore, since this would require a software solution, it could also report the accurate position and length of the swipe. This could be used to require the swipe to close an app to start from the top edge of the screen for example. However, since the screen is very small, this might not be very useful or worth the complication. Let me know if you have ideas about how this could be useful.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by tracing the touch-controller swipe handling and its LVGL consequences, then clarify whether long and short events, position, and swipe length are required; done would need an agreed event API and defined gesture behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.