InfiniTimeOrg / InfiniTimeOrg/InfiniTime
Short swipes, long swipes, custom swipes?
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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