diff options
Diffstat (limited to 'ui')
-rw-r--r-- | ui/events/event.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ui/events/event.cc b/ui/events/event.cc index ff725aa..71e2cd3 100644 --- a/ui/events/event.cc +++ b/ui/events/event.cc @@ -812,7 +812,9 @@ base::char16 KeyEvent::GetCharacter() const { DomKey::Base utf32_character = key_.ToCharacter(); base::char16 ucs2_character = static_cast<base::char16>(utf32_character); DCHECK(static_cast<DomKey::Base>(ucs2_character) == utf32_character); - if (flags() & EF_CONTROL_DOWN) { + // Check if the control character is down. Note that ALTGR is represented + // on Windows as CTRL|ALT, so we need to make sure that is not set. + if ((flags() & (EF_ALTGR_DOWN | EF_CONTROL_DOWN)) == EF_CONTROL_DOWN) { // For a control character, key_ contains the corresponding printable // character. To preserve existing behaviour for now, return the control // character here; this will likely change -- see e.g. crbug.com/471488. |