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

Unified Diff: chrome/browser/ui/views/ash/key_rewriter.cc

Issue 10397003: Minor improvements for key_rewriter.cc. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 8 years, 7 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
« no previous file with comments | « chrome/browser/ui/views/ash/key_rewriter.h ('k') | chrome/browser/ui/views/ash/key_rewriter_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/ash/key_rewriter.cc
diff --git a/chrome/browser/ui/views/ash/key_rewriter.cc b/chrome/browser/ui/views/ash/key_rewriter.cc
index 15a1e6d88be2d7128dedca38f02d2cdd42b8f94b..951fccaa47c1595cb647981fb2ed4714ebf37bee 100644
--- a/chrome/browser/ui/views/ash/key_rewriter.cc
+++ b/chrome/browser/ui/views/ash/key_rewriter.cc
@@ -82,12 +82,8 @@ KeyRewriter::DeviceType KeyRewriter::GetDeviceType(
return kDeviceUnknown;
}
-void KeyRewriter::RewriteCommandToControlForTesting(aura::KeyEvent* event) {
- RewriteCommandToControl(event);
-}
-
-void KeyRewriter::RewriteNumPadKeysForTesting(aura::KeyEvent* event) {
- RewriteNumPadKeys(event);
+void KeyRewriter::RewriteForTesting(aura::KeyEvent* event) {
+ Rewrite(event);
}
ash::KeyRewriterDelegate::Action KeyRewriter::RewriteOrFilterKeyEvent(
@@ -98,15 +94,7 @@ ash::KeyRewriterDelegate::Action KeyRewriter::RewriteOrFilterKeyEvent(
// Do not handle a fabricated event generated by tests.
return kActionRewrite;
}
-
- if (RewriteCommandToControl(event))
- return kActionRewrite;
- if (RewriteNumPadKeys(event))
- return kActionRewrite;
-
- // TODO(yusukes): Implement crbug.com/115112 (Search/Ctrl/Alt remapping) and
- // crosbug.com/27167 (allow sending function keys) here.
-
+ Rewrite(event);
return kActionRewrite; // Do not drop the event.
}
@@ -181,6 +169,13 @@ void KeyRewriter::RefreshKeycodes() {
}
#endif
+void KeyRewriter::Rewrite(aura::KeyEvent* event) {
+ RewriteCommandToControl(event);
+ RewriteNumPadKeys(event);
+ // TODO(yusukes): Implement crbug.com/115112 (Search/Ctrl/Alt remapping) and
+ // crosbug.com/27167 (allow sending function keys) here.
+}
+
bool KeyRewriter::RewriteCommandToControl(aura::KeyEvent* event) {
bool rewritten = false;
if (last_device_id_ == kBadDeviceId)
@@ -208,20 +203,21 @@ bool KeyRewriter::RewriteCommandToControl(aura::KeyEvent* event) {
xkey->state &= ~Mod4Mask;
xkey->state |= ControlMask;
event->set_flags(event->flags() | ui::EF_CONTROL_DOWN);
+ rewritten = true;
}
const KeySym keysym = XLookupKeysym(xkey, 0);
switch (keysym) {
case XK_Super_L:
// left Command -> left Control
- Rewrite(event, control_l_xkeycode_, xkey->state,
- ui::VKEY_LCONTROL, event->flags());
+ OverwriteEvent(event, control_l_xkeycode_, xkey->state,
+ ui::VKEY_CONTROL, event->flags());
rewritten = true;
break;
case XK_Super_R:
// right Command -> right Control
- Rewrite(event, control_r_xkeycode_, xkey->state,
- ui::VKEY_RCONTROL, event->flags());
+ OverwriteEvent(event, control_r_xkeycode_, xkey->state,
+ ui::VKEY_CONTROL, event->flags());
rewritten = true;
break;
default:
@@ -245,58 +241,58 @@ bool KeyRewriter::RewriteNumPadKeys(aura::KeyEvent* event) {
const KeySym keysym = XLookupKeysym(xkey, 0);
switch (keysym) {
case XK_KP_Insert:
- Rewrite(event, kp_0_xkeycode_, xkey->state | Mod2Mask,
- ui::VKEY_NUMPAD0, event->flags());
+ OverwriteEvent(event, kp_0_xkeycode_, xkey->state | Mod2Mask,
+ ui::VKEY_NUMPAD0, event->flags());
rewritten = true;
break;
case XK_KP_Delete:
- Rewrite(event, kp_decimal_xkeycode_, xkey->state | Mod2Mask,
- ui::VKEY_DECIMAL, event->flags());
+ OverwriteEvent(event, kp_decimal_xkeycode_, xkey->state | Mod2Mask,
+ ui::VKEY_DECIMAL, event->flags());
rewritten = true;
break;
case XK_KP_End:
- Rewrite(event, kp_1_xkeycode_, xkey->state | Mod2Mask,
- ui::VKEY_NUMPAD1, event->flags());
+ OverwriteEvent(event, kp_1_xkeycode_, xkey->state | Mod2Mask,
+ ui::VKEY_NUMPAD1, event->flags());
rewritten = true;
break;
case XK_KP_Down:
- Rewrite(event, kp_2_xkeycode_, xkey->state | Mod2Mask,
- ui::VKEY_NUMPAD2, event->flags());
+ OverwriteEvent(event, kp_2_xkeycode_, xkey->state | Mod2Mask,
+ ui::VKEY_NUMPAD2, event->flags());
rewritten = true;
break;
case XK_KP_Next:
- Rewrite(event, kp_3_xkeycode_, xkey->state | Mod2Mask,
- ui::VKEY_NUMPAD3, event->flags());
+ OverwriteEvent(event, kp_3_xkeycode_, xkey->state | Mod2Mask,
+ ui::VKEY_NUMPAD3, event->flags());
rewritten = true;
break;
case XK_KP_Left:
- Rewrite(event, kp_4_xkeycode_, xkey->state | Mod2Mask,
- ui::VKEY_NUMPAD4, event->flags());
+ OverwriteEvent(event, kp_4_xkeycode_, xkey->state | Mod2Mask,
+ ui::VKEY_NUMPAD4, event->flags());
rewritten = true;
break;
case XK_KP_Begin:
- Rewrite(event, kp_5_xkeycode_, xkey->state | Mod2Mask,
- ui::VKEY_NUMPAD5, event->flags());
+ OverwriteEvent(event, kp_5_xkeycode_, xkey->state | Mod2Mask,
+ ui::VKEY_NUMPAD5, event->flags());
rewritten = true;
break;
case XK_KP_Right:
- Rewrite(event, kp_6_xkeycode_, xkey->state | Mod2Mask,
- ui::VKEY_NUMPAD6, event->flags());
+ OverwriteEvent(event, kp_6_xkeycode_, xkey->state | Mod2Mask,
+ ui::VKEY_NUMPAD6, event->flags());
rewritten = true;
break;
case XK_KP_Home:
- Rewrite(event, kp_7_xkeycode_, xkey->state | Mod2Mask,
- ui::VKEY_NUMPAD7, event->flags());
+ OverwriteEvent(event, kp_7_xkeycode_, xkey->state | Mod2Mask,
+ ui::VKEY_NUMPAD7, event->flags());
rewritten = true;
break;
case XK_KP_Up:
- Rewrite(event, kp_8_xkeycode_, xkey->state | Mod2Mask,
- ui::VKEY_NUMPAD8, event->flags());
+ OverwriteEvent(event, kp_8_xkeycode_, xkey->state | Mod2Mask,
+ ui::VKEY_NUMPAD8, event->flags());
rewritten = true;
break;
case XK_KP_Prior:
- Rewrite(event, kp_9_xkeycode_, xkey->state | Mod2Mask,
- ui::VKEY_NUMPAD9, event->flags());
+ OverwriteEvent(event, kp_9_xkeycode_, xkey->state | Mod2Mask,
+ ui::VKEY_NUMPAD9, event->flags());
rewritten = true;
break;
case XK_KP_Divide:
@@ -305,8 +301,8 @@ bool KeyRewriter::RewriteNumPadKeys(aura::KeyEvent* event) {
case XK_KP_Add:
case XK_KP_Enter:
// Add Mod2Mask for consistency.
- Rewrite(event, xkey->keycode, xkey->state | Mod2Mask,
- event->key_code(), event->flags());
+ OverwriteEvent(event, xkey->keycode, xkey->state | Mod2Mask,
+ event->key_code(), event->flags());
rewritten = true;
break;
default:
@@ -318,11 +314,11 @@ bool KeyRewriter::RewriteNumPadKeys(aura::KeyEvent* event) {
return rewritten;
}
-void KeyRewriter::Rewrite(aura::KeyEvent* event,
- unsigned int new_native_keycode,
- unsigned int new_native_state,
- ui::KeyboardCode new_keycode,
- int new_flags) {
+void KeyRewriter::OverwriteEvent(aura::KeyEvent* event,
+ unsigned int new_native_keycode,
+ unsigned int new_native_state,
+ ui::KeyboardCode new_keycode,
+ int new_flags) {
#if defined(OS_CHROMEOS)
XEvent* xev = event->native_event();
XKeyEvent* xkey = &(xev->xkey);
« no previous file with comments | « chrome/browser/ui/views/ash/key_rewriter.h ('k') | chrome/browser/ui/views/ash/key_rewriter_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698