| Index: ui/events/event.cc
|
| diff --git a/ui/events/event.cc b/ui/events/event.cc
|
| index 8d87d19acc3ea5e73f38c023c90be4247aedaef7..514394fefddcbf6d38a7e5ca48431e57fcf98999 100644
|
| --- a/ui/events/event.cc
|
| +++ b/ui/events/event.cc
|
| @@ -563,10 +563,13 @@ uint16 KeyEvent::GetCharacter() const {
|
| DCHECK(native_event()->type == KeyPress ||
|
| native_event()->type == KeyRelease);
|
|
|
| - uint16 ch = 0;
|
| - if (!IsControlDown())
|
| - ch = GetCharacterFromXEvent(native_event());
|
| - return ch ? ch : GetCharacterFromKeyCode(key_code_, flags());
|
| + // When a control key is held, prefer ASCII characters to non ASCII
|
| + // characters in order to use it for shortcut keys. GetCharacterFromKeyCode
|
| + // returns 'a' for VKEY_A even if the key is actually bound to 'à' in X11.
|
| + // GetCharacterFromXEvent returns 'à' in that case.
|
| + return IsControlDown() ?
|
| + GetCharacterFromKeyCode(key_code_, flags()) :
|
| + GetCharacterFromXEvent(native_event());
|
| #else
|
| if (native_event()) {
|
| DCHECK(EventTypeFromNative(native_event()) == ET_KEY_PRESSED ||
|
|
|