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

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

Issue 1120813002: Remove EF_FUNCTION_KEY and EF_NUMPAD_KEY. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address review comments (wez@) Created 5 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
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 015502d240ca2cde5d1b5d685c8ceb4fbe9f7b3c..d21842f94e324748661a69833dfd1abd93d09437 100644
--- a/chrome/browser/chromeos/events/event_rewriter.cc
+++ b/chrome/browser/chromeos/events/event_rewriter.cc
@@ -26,6 +26,8 @@
#include "ui/events/devices/device_data_manager.h"
#include "ui/events/event.h"
#include "ui/events/event_utils.h"
+#include "ui/events/keycodes/dom3/dom_code.h"
+#include "ui/events/keycodes/dom4/keycode_converter.h"
#include "ui/events/keycodes/keyboard_code_conversion.h"
#include "ui/wm/core/window_util.h"
@@ -287,6 +289,7 @@ void EventRewriter::BuildRewrittenKeyEvent(
numpad_xevent.xkey.keycode = original_x11_keycode;
rewritten_key_event->set_character(
ui::GetCharacterFromXEvent(&numpad_xevent));
+ rewritten_key_event->native_event()->xkey.state |= Mod2Mask;
Wez 2015/05/05 21:23:44 This code is super confusing; does native_event()
kpschoedel 2015/05/05 22:19:07 It is (and I don't actually understand the intent
}
}
#endif
@@ -707,26 +710,31 @@ void EventRewriter::RewriteNumPadKeys(const ui::KeyEvent& key_event,
MutableKeyState* state) {
DCHECK(key_event.type() == ui::ET_KEY_PRESSED ||
key_event.type() == ui::ET_KEY_RELEASED);
- if (!(state->flags & ui::EF_NUMPAD_KEY))
- return;
MutableKeyState incoming = *state;
-
- static const KeyboardRemapping kNumPadRemappings[] = {
- {ui::VKEY_INSERT, ui::EF_NUMPAD_KEY, ui::VKEY_NUMPAD0, ui::EF_NUMPAD_KEY},
- {ui::VKEY_DELETE, ui::EF_NUMPAD_KEY, ui::VKEY_DECIMAL, ui::EF_NUMPAD_KEY},
- {ui::VKEY_END, ui::EF_NUMPAD_KEY, ui::VKEY_NUMPAD1, ui::EF_NUMPAD_KEY},
- {ui::VKEY_DOWN, ui::EF_NUMPAD_KEY, ui::VKEY_NUMPAD2, ui::EF_NUMPAD_KEY},
- {ui::VKEY_NEXT, ui::EF_NUMPAD_KEY, ui::VKEY_NUMPAD3, ui::EF_NUMPAD_KEY},
- {ui::VKEY_LEFT, ui::EF_NUMPAD_KEY, ui::VKEY_NUMPAD4, ui::EF_NUMPAD_KEY},
- {ui::VKEY_CLEAR, ui::EF_NUMPAD_KEY, ui::VKEY_NUMPAD5, ui::EF_NUMPAD_KEY},
- {ui::VKEY_RIGHT, ui::EF_NUMPAD_KEY, ui::VKEY_NUMPAD6, ui::EF_NUMPAD_KEY},
- {ui::VKEY_HOME, ui::EF_NUMPAD_KEY, ui::VKEY_NUMPAD7, ui::EF_NUMPAD_KEY},
- {ui::VKEY_UP, ui::EF_NUMPAD_KEY, ui::VKEY_NUMPAD8, ui::EF_NUMPAD_KEY},
- {ui::VKEY_PRIOR, ui::EF_NUMPAD_KEY, ui::VKEY_NUMPAD9, ui::EF_NUMPAD_KEY},
+ static const struct NumPadRemapping {
+ ui::DomCode input_dom_code;
+ ui::KeyboardCode input_key_code;
+ ui::KeyboardCode output_key_code;
+ } kNumPadRemappings[] = {
+ {ui::DomCode::NUMPAD_DECIMAL, ui::VKEY_DELETE, ui::VKEY_DECIMAL},
+ {ui::DomCode::NUMPAD0, ui::VKEY_INSERT, ui::VKEY_NUMPAD0},
+ {ui::DomCode::NUMPAD1, ui::VKEY_END, ui::VKEY_NUMPAD1},
+ {ui::DomCode::NUMPAD2, ui::VKEY_DOWN, ui::VKEY_NUMPAD2},
+ {ui::DomCode::NUMPAD3, ui::VKEY_NEXT, ui::VKEY_NUMPAD3},
+ {ui::DomCode::NUMPAD4, ui::VKEY_LEFT, ui::VKEY_NUMPAD4},
+ {ui::DomCode::NUMPAD5, ui::VKEY_CLEAR, ui::VKEY_NUMPAD5},
+ {ui::DomCode::NUMPAD6, ui::VKEY_RIGHT, ui::VKEY_NUMPAD6},
+ {ui::DomCode::NUMPAD7, ui::VKEY_HOME, ui::VKEY_NUMPAD7},
+ {ui::DomCode::NUMPAD8, ui::VKEY_UP, ui::VKEY_NUMPAD8},
+ {ui::DomCode::NUMPAD9, ui::VKEY_PRIOR, ui::VKEY_NUMPAD9},
Wez 2015/05/05 21:23:44 Remind me - we always rewrite num-pad keys to beha
kpschoedel 2015/05/05 22:19:07 Yes. In the future, either when/if I get around to
};
-
- RewriteWithKeyboardRemappingsByKeyCode(
- kNumPadRemappings, arraysize(kNumPadRemappings), incoming, state);
+ for (const auto& map : kNumPadRemappings) {
Wez 2015/05/05 21:23:44 We end up with a lot of these remapping loops; if
kpschoedel 2015/05/05 22:19:08 Yes, I've been considering this as I do the work t
+ if ((incoming.key_code == map.input_key_code) &&
+ (key_event.code() == map.input_dom_code)) {
+ state->key_code = map.output_key_code;
+ break;
+ }
+ }
}
void EventRewriter::RewriteExtendedKeys(const ui::KeyEvent& key_event,

Powered by Google App Engine
This is Rietveld 408576698