Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Unified Diff: chrome/browser/chromeos/events/event_rewriter.cc

Issue 2250473006: Settings to remap Backspace and Escape keys (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@KeyboardRemapToCapsLockBackspace
Patch Set: rebase Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}
« no previous file with comments | « chrome/browser/chromeos/events/event_rewriter.h ('k') | chrome/browser/chromeos/events/event_rewriter_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698