Ignore touchscreen events while screen is turned off due to inactivity |
|||
Issue description(Forked from issue 620633.) Our touchscreen-events-while-screen-is-off behavior is inconsistent from the user's perspective: a) When a convertible Chromebook's screen is off because the user tapped the power button, tapping the screen doesn't do anything. b) When the screen is off because the user decreased the brightness to 0, tapping the screen turns it back on. c) When the screen is off because the user was inactive for several minutes, tapping the screen turns it back on. d) When the screen is off because the system is suspended (a.k.a. sleeping a.k.a. in ACPI S3), tapping the screen doesn't do anything. I don't have strong opinions about what we should do in b), but I think we should disable the touchscreen in c). Per issue 620633, I think that tbuckley@ and omrilio@ agree. There may be some disagreement about whether we should keep the touchscreen active for a few seconds after it turns off, but given that we always go through the screen-dimmed state on the way to screen-off for inactivity, I think we should skip this in the initial implementation. I'll also point out that Android N (on a 5X) appears to not have a grace period after the screen is turned off for inactivity; touch events are ignored as soon as it goes off. (If you try this yourself, note that you need to keep the phone stationary so it won't turn its screen on in response to motion.) So I propose the following: On convertible Chromebooks, make Chrome disable the touchscreen immediately when the display is turned off due to inactivity, and reenable it when the display is turned back on. I think that this can live in TabletPowerButtonController. It already updates the touchscreen status when the display is forced off (for case a above), and it observes the brightness level too. I'll take a stab at this unless Joe really wants to do it instead. :-)
,
Jul 15 2017
,
Jul 17 2017
Yes, agreed that we should not allow users to tap the screen to wake the device once the screen turns off due to inactivity (c).
,
Jul 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8dbc2286a282432472add1a0ad491925dbf6f1c4 commit 8dbc2286a282432472add1a0ad491925dbf6f1c4 Author: Daniel Erat <derat@chromium.org> Date: Mon Jul 17 20:11:17 2017 chromeos: Disable touchscreen for user inactivity. Make TabletPowerButtonController disable the touchscreen when powerd reports that the display was turned off automatically (typically due to user inactivity). This is intended to remove an inconsistency from the user's perspective where the touchscreen turns the screen on when the device is awake but in a screen-off state due to inactivity, but doesn't wake the device when it's in S3 (i.e. suspended, asleep). BUG= 743291 TEST=manual: run set_short_powerd_timeouts, then: a) tap power button and verify touchscreen is disabled. after tapping power button again, screen turns on and touchscreen works. b) wait 20 seconds for screen to turn off due to inactivity and verify touchscreen is disabled. after hitting a key, screen turns on and touchscreen works again. c) manually decrease brightness to 0, wait five seconds, and then verify that touchscreen increases backlight brightness to min-visible level Change-Id: I16c9769f587fe91bf2e6c3e68d06ccb83b299294 Reviewed-on: https://chromium-review.googlesource.com/572766 Reviewed-by: Qiang(Joe) Xu <warx@chromium.org> Commit-Queue: Dan Erat <derat@chromium.org> Cr-Commit-Position: refs/heads/master@{#487212} [modify] https://crrev.com/8dbc2286a282432472add1a0ad491925dbf6f1c4/ash/system/power/tablet_power_button_controller.cc [modify] https://crrev.com/8dbc2286a282432472add1a0ad491925dbf6f1c4/ash/system/power/tablet_power_button_controller.h [modify] https://crrev.com/8dbc2286a282432472add1a0ad491925dbf6f1c4/ash/system/power/tablet_power_button_controller_unittest.cc
,
Jul 17 2017
,
Aug 3 2017
Verified all the scenarios from comment #4 on - Kevin with version - 9765.16.0, 61.0.3163.30 - Eve with version - 9765.13.0, 31.0.3163.20 |
|||
►
Sign in to add a comment |
|||
Comment 1 by derat@chromium.org
, Jul 15 2017