Open baskerville opened 4 years ago
That sounds similar to an issue @poire-z notices on his Glo HD w/ KOReader, where touches after a suspend may end up being detected as holds.
notices on his Glo HD w/ KOReader, where touches after a suspend may end up being detected as holds.
Yes, that happens.
But it's most often the followup of a first issue that happens before I do the suspend (I think it only happens to me when I suspend because of that first issue - not when I suspend when everything is fine - although when evething is fine, I don't suspend with the button, but with a gesture).
I described it at https://github.com/koreader/koreader/issues/4431#issuecomment-455847181. KOReader is not in a loop (the power button event is handled correctly), but touch seems dead (as if the device has freezed).
Has that already happened to you @baskerville ?
I dunno if it's some touch layer hardware bug - or something in KOReader's code that could mess with the event timings or something (it could be stuck in a finger down state and not process further event, dunno really).
Suspending & resuming have KOReader issue a echo "a" > /sys/devices/virtual/input/input1/neocmd
which seems to reset/wakeup the touch layer (and then, I have that first tap detectd as hold - but I can live with that :)
Some URLs I have kept that were related to all that:
https://github.com/koreader/koreader/issues/1862
https://github.com/koreader/koreader/issues/1943
https://github.com/koreader/koreader/issues/4431
https://www.mobileread.com/forums/showthread.php?t=269515
https://www.mobileread.com/forums/showthread.php?t=297102
Oh, I'd forgotten about that part ;p.
The neonode IR grid not waking up is a (kernel?) bug/race that affects the H2O, too, and I can definitely reproduce that one (even in Nickel, if you suspend and then quickly (but not necessarily immediately) resume, there's a small, but significant window of time where you'll definitely end up with dead input on resume).
Hence the forced wakeup in KOReader ;). (Which also works in Nickel, if you happen to have shell access at the time).
As for the other issue, my naive assumption was that the timestamps of input events are wonky on resume, but that may be a red herring.
@poire-z No, I never experienced the behavior you described.
@NiLuJe parse_gesture_events
would still work fine with wonky timestamps.
I've had this happen on my Aura One on stock software, even on very recent versions (<1 month ago)
I have only witnessed this on the Glo HD: sometimes, when waking up from suspend using to power button, Plato ends up in a state where it would appear that the touch contacts are not getting emptied, as if a finger down event was received without the corresponding finger up event. When I tap one of the icons, the finger down and finger up events are received (I can see the inversion feedback), but parse_gesture_events fails to generate a tap event.
(It might only happen when the screen was touched before pressing the power button.)