InfiniTimeOrg / InfiniTime

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

Cover screen to sleep #578

Closed Elara6331 closed 2 years ago

Elara6331 commented 3 years ago

Apple's WatchOS has a very nice feature where you can cover the screen with your hand, and the watch goes to sleep. Can this be added to InfiniTime? Is it even possible on the PineTime?

hubmartin commented 3 years ago

Not an expert on touch controller, but what I read it can return up to 10 touch points and it also sends size of every touch point. So maybe if the hand is reported like 1 point with really big size, we can trigger an event to do something.

Riksu9000 commented 3 years ago

The touch controller can only detect a single touch, and can't detect pressure. Some of the documentation is misleading. The PineTime can't detect when the screen is covered.

JF002 commented 3 years ago

At the beginning of the project, I think someone said the touch controller was great and supported multi-touch. However, I've never managed to detect more than one touch point, as @Riksu9000 said. I don't see any way to implement this feature with the sensors we currently have on board, unfortunately.

darkdragon-001 commented 3 years ago

Phones usually use an (optical) proximity sensor to detect such events. PineTime doesn't have one on board, so I agree that it doesn't work well with the current sensors...

Have a look on #713 which might solve your need (sleep when lowering hand).

geekbozu commented 3 years ago

Indeed, the Touch controller is very poorly documented. And it may support some of these extra features but as of the moment there is no implementation for them. Nor any clear direction on how to enable or support them. Will take some RE work to implement if at all possible.

wmertens commented 2 years ago

FYI the mi band also has this feature, from 4 at least, so maybe the touch controller can detect it

JF002 commented 2 years ago

I'll close this feature request as the feature is not documented and (probably) not supported by the touch controller.