InfiniTimeOrg / InfiniTime

Firmware for Pinetime smartwatch written in C++ and based on FreeRTOS
GNU General Public License v3.0
2.64k stars 903 forks source link

Separate "turn on screen" from "unlock touchscreen" #1839

Open WhyNotHugo opened 10 months ago

WhyNotHugo commented 10 months ago

Verification

Introduce the issue

There's a lot of situations where my Pinetime registers false taps/drags:

The practical results of these issues, is that I often lift my arm to look at my watch, and I suddenly have a new watch face (because accidental taps reached that menu and changed the configured face), or sometimes a game of pong is running, or some random menu is open. I've see it all so far.

I have "wake up" set to "single tap" and "raise wrist" (actually, I just checked and these settings seem to have gotten garbled last time I used the watch, but these are my intended settings).

I could disabled these to prevent the issue, but that would also mean that I'd need both hands unlock the watch and look at the time: definitely not convenient.

Preferred solution

I think the most useful approach would be to split the "wake up" setting from the "unlock" setting.

I want my watch to wake up (e.g.: the screen to power on) when I tap once or raise my arm, but I don't want the screen to unlock (e.g.: register taps).

I think leaving a separate setting for "unlock" would be useful, since I'd leave all boxes unchecked for that and require touching the side button to unlock it.

Version

1.13.0 (this has happened since forever)

WhyNotHugo commented 10 months ago

https://github.com/InfiniTimeOrg/InfiniTime/pull/961 is somewhat related: it tries to address one of the problematic scenarios with a different approach.

However, looks like that patchset won't be merged, the solution proposed here is different and it covers other scenarios too.

hexisXz commented 10 months ago

You could just use raise to wake, shake or double tap to wake. Edit: I don't see how raise to wake would be a problem. Really what would fix it with not using two hands is shake to wake.

WhyNotHugo commented 10 months ago

"raise wrist` by itself also triggers lots of false positives.

TBH: I don't mind it waking in these situations (even if unnecessary), but I do mind it unlocking since that's where the chaos starts.

FintasticMan commented 10 months ago

My pull request that was merged recently significantly reduces the false positives in the raise wrist algorithm. See #826. That doesn't solve all the issues mentioned though.

KaffeinatedKat commented 9 months ago

1359 addresses this issue, i've been using this for a while and it works great