New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 631210 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Nov 21
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature



Sign in to add a comment

Discard keyboard input while screen is blanked

Project Member Reported by agoode@chromium.org, Jul 25 2016

Issue description

Version 52.0.2743.85 beta (64-bit)
Platform 8350.60.0 (Official Build) beta-channel panther
Firmware Google_Panther.4920.24.26

What steps will reproduce the problem?
(1) Walk up to chromebox
(2) Hit some keystrokes to wake the machine
(3) Wait for screen to turn on

What is the expected output?
No characters are in the password field. I can type my password as soon as the screen turns on.

What do you see instead?
If I have been away from my desk long enough (usual situation), then the keystrokes I typed to wake the computer are discarded. But if I have returned after only a short while, the password field contains the junk keystrokes I used to wake the machine. I would expect this to be consistent.
 

Comment 1 by derat@chromium.org, Jul 25 2016

Cc: ejcaruso@chromium.org derat@chromium.org kuscher@chromium.org snanda@chromium.org abodenha@chromium.org
We actually explicitly ignore power button presses while the screen is off for this reason, I believe. I'm not sure if we can ignore other key events without creating edge cases around docked mode, using the volume keys on a system where the backlight has been intentionally reduced to 0%, etc.

I tap the Shift key to turn the display on without producing input, but I don't know how common that is.

Comment 2 by dtor@chromium.org, Jul 25 2016

I'd hate to have to wait until monitor turns all the way on before I can log in. I can [usually] blindly type my password in just fine.

Comment 3 by agoode@chromium.org, Jul 26 2016

I don't think you'd need to wait for the monitor to fully synchronize, nor do I think it's even possible to detect this. My suggestion is to discard input while the video output is blanked. You won't have to wait for the monitor to turn on, just for the suspend light to toggle.

If the computer is fully suspended, there is a race condition, since it is unclear early on when the computer is ready to accept input. I am proposing to make this more consistent and recognizable.
Owner: omrilio@chromium.org
Status: Assigned (was: Untriaged)
omrilio@ thoughts?

I actually LIKE the ability to start typing my password immediately. I agree that losing the keys while we return from suspend is inconsistent tho.

I have a feeling that any change we make here is guaranteed to make people angry.
Ideally, we would also catch keyboard keys while the system is resuming, but I can see how this would be a problem. This will both make it consistent and will work well with the common expectation of key presses never being lost.

Is that something that can be done in a reasonable amount of work?

Comment 6 by derat@chromium.org, Jul 29 2016

Sameer probably knows the answer to that or knows of someone who does. :-)
Cc: tbuck...@chromium.org
Alternatively, I usually tap spacebar to wake the device/screen. Maybe we could just disregard spaces while the screen is off?
Owner: snanda@chromium.org
tbuckley@ Would we actually be able to know when the screen fully turned on? Some monitors take a awful long time.

snanda@ are we able to catch keyboard keys while the system is resuming and hold them until it's ready to receive them?

Comment 9 by derat@chromium.org, Sep 23 2016

Owner: omrilio@chromium.org
It feels like this bug has morphed into two conflicting requests:

a) Ignore some/all keys while the screen is off.
b) Don't drop key events that wake the system from S3.

If we want to pursue b) (i.e. kernel changes), please file a separate bug for that.

Regarding just disregarding spaces, this isn't unlike the power button behavior I described in #1:

ash/wm/power_button_controller.cc:

 71 void PowerButtonController::OnPowerButtonEvent(
 72     bool down,
 73     const base::TimeTicks& timestamp) {
...
 79   // Avoid starting the lock/shutdown sequence if the power button is pressed
 80   // while the screen is off ( http://crbug.com/128451 ), unless an external
 81   // display is still on (http://crosbug.com/p/24912).
 82   if (brightness_is_zero_ && !internal_display_off_and_external_display_on_)
 83     return;

We could probably use similar logic to determine when we should ignore space key events, although it'd probably need to live in an event handler that swallows the events. We'd need to make sure that they're still reported to powerd as user activity (which may be tricky; issue 599883 is relevant here).
(sorry somehow this bug fell through the cracks and I didn't get a chance to reply earlier)

For c#9 (b), we don't have full control over this.  For example USB keyboards may eat the first few keys when trying to wake the system up.
Status: Archived (was: Assigned)

Comment 12 by ketakid@google.com, Mar 18 2017

Status: Available (was: Archived)
Activating. Please assign to the right owner and the appropriate priority.
Project Member

Comment 13 by sheriffbot@chromium.org, Apr 12 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 14 by derat@chromium.org, Apr 12 2018

Omri, please make a call about what we should do here (if anything). See #9.
Status: Assigned (was: Untriaged)
Status: WontFix (was: Assigned)
I'm going to WontFix this as this given lack of a clear preference even among the small group here. Maybe at some point we can run a UX study if we get additional feedback about this.
(FWIW, I use "Enter" to wake my screen for some reason)

Sign in to add a comment