Index: ui/events/event.cc |
diff --git a/ui/events/event.cc b/ui/events/event.cc |
index 4649e24db9f8722b8bad8d3a7aeeed8acaf9540d..06816e3036727c70878618ee8854b3d78a518b86 100644 |
--- a/ui/events/event.cc |
+++ b/ui/events/event.cc |
@@ -808,11 +808,10 @@ void KeyEvent::ApplyLayout() const { |
// 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. |
- if (!IsControlDown() && native_event()) { |
- character_ = GetCharacterFromXEvent(native_event()); |
- // TODO(kpschoedel): set key_ field for X11. |
- return; |
- } |
+ character_ = (IsControlDown() || !native_event()) ? |
+ GetCharacterFromKeyCode(key_code_, flags()) : |
+ GetCharacterFromXEvent(native_event()); |
+ GetMeaningFromKeyCode(key_code_, flags(), &key_, &character_); |
#elif defined(USE_OZONE) |
if (KeyboardLayoutEngineManager::GetKeyboardLayoutEngine()->Lookup( |
code, flags(), &key_, &character_, &dummy_key_code, |