diff options
Diffstat (limited to 'ash/keyboard_overlay')
-rw-r--r-- | ash/keyboard_overlay/keyboard_overlay_view.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ash/keyboard_overlay/keyboard_overlay_view.cc b/ash/keyboard_overlay/keyboard_overlay_view.cc index 6545c0e..170cc28 100644 --- a/ash/keyboard_overlay/keyboard_overlay_view.cc +++ b/ash/keyboard_overlay/keyboard_overlay_view.cc @@ -24,7 +24,7 @@ const struct KeyEventData { ui::KeyboardCode key_code; int flags; } kCancelKeys[] = { - { ui::VKEY_ESCAPE, 0}, + { ui::VKEY_ESCAPE, ui::EF_NONE}, { ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN }, { ui::VKEY_OEM_2, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN }, }; @@ -51,9 +51,11 @@ void KeyboardOverlayView::Cancel() { bool KeyboardOverlayView::IsCancelingKeyEvent(ui::KeyEvent* event) { if (event->type() != ui::ET_KEY_PRESSED) return false; + // Ignore the caps lock state. + const int flags = (event->flags() & ~ui::EF_CAPS_LOCK_DOWN); for (size_t i = 0; i < arraysize(kCancelKeys); ++i) { if ((kCancelKeys[i].key_code == event->key_code()) && - (kCancelKeys[i].flags == event->flags())) + (kCancelKeys[i].flags == flags)) return true; } return false; |