| Index: chrome/browser/chromeos/events/event_rewriter.cc
|
| diff --git a/chrome/browser/chromeos/events/event_rewriter.cc b/chrome/browser/chromeos/events/event_rewriter.cc
|
| index 709e8b3838fc6e4caf00eafbd2eab740c3b8277f..d532a8b375defbef81cbecf8646c09b35647033d 100644
|
| --- a/chrome/browser/chromeos/events/event_rewriter.cc
|
| +++ b/chrome/browser/chromeos/events/event_rewriter.cc
|
| @@ -57,7 +57,8 @@ const int kHotrodRemoteProductId = 0x21cc;
|
| const int kUnknownVendorId = -1;
|
| const int kUnknownProductId = -1;
|
|
|
| -// Table of properties of remappable keys and/or remapping targets.
|
| +// Table of properties of remappable keys and/or remapping targets (not
|
| +// strictly limited to "modifiers").
|
| //
|
| // This is used in two distinct ways: for rewriting key up/down events,
|
| // and for rewriting modifier EventFlags on any kind of event.
|
| @@ -111,11 +112,11 @@ const struct ModifierRemapping {
|
| ui::VKEY_CAPITAL}},
|
| {ui::EF_NONE,
|
| input_method::kEscapeKey,
|
| - nullptr,
|
| + prefs::kLanguageRemapEscapeKeyTo,
|
| {ui::EF_NONE, ui::DomCode::ESCAPE, ui::DomKey::ESCAPE, ui::VKEY_ESCAPE}},
|
| {ui::EF_NONE,
|
| input_method::kBackspaceKey,
|
| - nullptr,
|
| + prefs::kLanguageRemapBackspaceKeyTo,
|
| {ui::EF_NONE, ui::DomCode::BACKSPACE, ui::DomKey::BACKSPACE,
|
| ui::VKEY_BACK}},
|
| {ui::EF_NONE,
|
| @@ -668,6 +669,8 @@ bool EventRewriter::RewriteModifierKeys(const ui::KeyEvent& key_event,
|
| if (!pref_service)
|
| return false;
|
|
|
| + // Preserve a copy of the original before rewriting |state| based on
|
| + // user preferences, device configuration, and certain IME properties.
|
| MutableKeyState incoming = *state;
|
| state->flags = ui::EF_NONE;
|
| int characteristic_flag = ui::EF_NONE;
|
| @@ -777,6 +780,14 @@ bool EventRewriter::RewriteModifierKeys(const ui::KeyEvent& key_event,
|
| remapped_key =
|
| GetRemappedKey(prefs::kLanguageRemapAltKeyTo, *pref_service);
|
| break;
|
| + case ui::DomCode::ESCAPE:
|
| + remapped_key =
|
| + GetRemappedKey(prefs::kLanguageRemapEscapeKeyTo, *pref_service);
|
| + break;
|
| + case ui::DomCode::BACKSPACE:
|
| + remapped_key =
|
| + GetRemappedKey(prefs::kLanguageRemapBackspaceKeyTo, *pref_service);
|
| + break;
|
| default:
|
| break;
|
| }
|
|
|