DPAD_CENTER on Android should show on-screen keyboard on keyup, not keydown |
|
Issue descriptionChrome Version: 63 OS: Android This is causing the Android TV keyboard in Android Oreo to input an extra letter when the keyboard comes up (since the keyboard receives the keyup event). Originally filed as Google-internal b/62037731.
,
Oct 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a9a6608f362a5c14d05edc292c2ffcf40152f1d3 commit a9a6608f362a5c14d05edc292c2ffcf40152f1d3 Author: Ryan Landay <rlanday@chromium.org> Date: Fri Oct 20 00:55:43 2017 Make DPAD_CENTER key events show soft input on keyup, not keydown When a native Android EditText widget is focused, the DPAD_CENTER keyboard event (e.g. from the center button on the Nexus Player remote) causes the on-screen keyboard to show on keyup. Currently in WebView, we're showing the keyboard on keydown, and then the on-screen keyboard is receiving the keyup event. In Android Oreo, the keyboard was rewritten and when the new keyboard receives this keyup event, it types the character selected by default on the keyboard (usually '1'). The fix is to not show the keyboard until keyup, to match the behavior of Android EditText. Despite no longer doing anything in response to the keydown event, we still want to make the event prevent default instead of passing it to the web app, since passing it to the web app would cause compatibility problems. E.g. the Facebook app for Android TV would blur the input element in response to the keydown immediately after the keyboard is opened (which causes the keyboard to close again). Bug: 776591 Change-Id: Icf893f8d2ef27825d78d2bc264575a62b0e77648 Reviewed-on: https://chromium-review.googlesource.com/729281 Reviewed-by: Alexandre Elias <aelias@chromium.org> Reviewed-by: Changwan Ryu <changwan@chromium.org> Commit-Queue: Ryan Landay <rlanday@chromium.org> Cr-Commit-Position: refs/heads/master@{#510277} [modify] https://crrev.com/a9a6608f362a5c14d05edc292c2ffcf40152f1d3/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java [modify] https://crrev.com/a9a6608f362a5c14d05edc292c2ffcf40152f1d3/content/renderer/input/render_widget_input_handler.cc |
|
►
Sign in to add a comment |
|
Comment 1 by rlanday@chromium.org
, Oct 20 2017Status: Fixed (was: Started)