Index: ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc |
diff --git a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc |
index 2d47cafe2368ca7aa6bf46321379ea8fc879a958..aca6a8731339b05eb94f5217bb3555a6eedeaca5 100644 |
--- a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc |
+++ b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc |
@@ -788,12 +788,10 @@ bool XkbKeyboardLayoutEngine::Lookup(DomCode dom_code, |
if (*key_code == VKEY_UNKNOWN) |
*key_code = DomCodeToUsLayoutKeyboardCode(dom_code); |
} |
- |
- if ((flags & EF_CONTROL_DOWN) == EF_CONTROL_DOWN) { |
- // Use GetCharacterFromKeyCode() to set |character| to 0x0 for keys that |
- // are not part of the accepted set of Control+Key combinations. |
- *character = GetCharacterFromKeyCode(*key_code, flags); |
- } |
+ // If the Control key is down, only allow C0 characters to be returned, |
Wez
2015/04/21 22:08:46
C0 characters..?
kpschoedel
2015/04/21 22:36:38
Standardese for ASCII control characters. Changed
|
+ // regardless of the key layout. crbug.com/450849 |
+ if ((flags & EF_CONTROL_DOWN) && (*character >= 0x20)) |
+ *character = 0; |
} else if (*dom_key == DomKey::DEAD) { |
*character = DeadXkbKeySymToCombiningCharacter(xkb_keysym); |
*key_code = DomCodeToUsLayoutKeyboardCode(dom_code); |