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

Unified Diff: chrome/browser/chromeos/events/event_rewriter_unittest.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_unittest.cc
diff --git a/chrome/browser/chromeos/events/event_rewriter_unittest.cc b/chrome/browser/chromeos/events/event_rewriter_unittest.cc
index 361040c80d2958705df2595ab032c7b9a13a90f6..d8401016c356bd3e3beaa90e46a352000b74c22a 100644
--- a/chrome/browser/chromeos/events/event_rewriter_unittest.cc
+++ b/chrome/browser/chromeos/events/event_rewriter_unittest.cc
@@ -30,6 +30,9 @@
#include "ui/events/event.h"
#include "ui/events/event_rewriter.h"
#include "ui/events/event_utils.h"
+#include "ui/events/keycodes/dom3/dom_code.h"
+#include "ui/events/keycodes/dom3/dom_key.h"
+#include "ui/events/keycodes/dom4/keycode_converter.h"
#include "ui/events/test/events_test_utils.h"
#include "ui/events/test/test_event_processor.h"
@@ -45,13 +48,18 @@
namespace {
// The device id of the test touchpad device.
+#if defined(USE_X11)
const int kTouchPadDeviceId = 1;
-const int kKeyboardDeviceId = 2;
const int kMasterKeyboardDeviceId = 3;
+#endif
+const int kKeyboardDeviceId = 2;
-std::string GetExpectedResultAsString(ui::KeyboardCode ui_keycode,
- int ui_flags,
- ui::EventType ui_type) {
+std::string GetExpectedResultAsString(ui::EventType ui_type,
+ ui::KeyboardCode ui_keycode,
+ ui::DomCode code,
+ int ui_flags, // ui::EventFlags
+ ui::DomKey key,
+ base::char16 character) {
return base::StringPrintf("ui_keycode=0x%X ui_flags=0x%X ui_type=%d",
ui_keycode,
ui_flags & ~ui::EF_IS_REPEAT,
@@ -60,14 +68,19 @@ std::string GetExpectedResultAsString(ui::KeyboardCode ui_keycode,
std::string GetKeyEventAsString(const ui::KeyEvent& keyevent) {
return GetExpectedResultAsString(
- keyevent.key_code(), keyevent.flags(), keyevent.type());
+ keyevent.type(), keyevent.key_code(), keyevent.code(), keyevent.flags(),
+ keyevent.GetDomKey(), keyevent.GetCharacter());
}
std::string GetRewrittenEventAsString(chromeos::EventRewriter* rewriter,
+ ui::EventType ui_type,
ui::KeyboardCode ui_keycode,
- int ui_flags,
- ui::EventType ui_type) {
- const ui::KeyEvent event(ui_type, ui_keycode, ui_flags);
+ ui::DomCode code,
+ int ui_flags, // ui::EventFlags
+ ui::DomKey key,
+ base::char16 character) {
+ const ui::KeyEvent event(ui_type, ui_keycode, code, ui_flags, key, character,
+ ui::EventTimeForNow());
scoped_ptr<ui::Event> new_event;
rewriter->RewriteEvent(event, &new_event);
if (new_event)
@@ -81,21 +94,31 @@ struct KeyTestCase {
enum {
// Test types:
TEST_VKEY = 1 << 0, // Test ui::KeyEvent with no native event
- TEST_X11 = 1 << 1, // Test ui::KeyEvent with native XKeyEvent
- TEST_ALL = TEST_VKEY|TEST_X11,
+ TEST_X11 = 1 << 1, // Test ui::KeyEvent with native XKeyEvent
+ TEST_ALL = TEST_VKEY | TEST_X11,
// Special test flags:
- NUMPAD = 1 << 8, // Set EF_NUMPAD_KEY on native-based event, because
- // |XKeysymForWindowsKeyCode()| can not distinguish
- // between pairs like XK_Insert and XK_KP_Insert.
+ NUMPAD = 1 << 8, // Reset the XKB scan code on an X11 event based
+ // on the test DomCode, because
+ // |XKeysymForWindowsKeyCode()| can not distinguish
+ // between pairs like XK_Insert and XK_KP_Insert.
};
int test;
ui::EventType type;
- struct {
+ struct Event {
ui::KeyboardCode key_code;
- int flags;
+ ui::DomCode code;
+ int flags; // ui::EventFlags
+ ui::DomKey key;
+ base::char16 character;
} input, expected;
};
+std::string GetTestCaseAsString(ui::EventType ui_type,
+ const KeyTestCase::Event& test) {
+ return GetExpectedResultAsString(ui_type, test.key_code, test.code,
+ test.flags, test.key, test.character);
+}
+
#if defined(USE_X11)
// Check rewriting of an X11-based key event.
void CheckX11KeyTestCase(const std::string& expected,
@@ -103,12 +126,6 @@ void CheckX11KeyTestCase(const std::string& expected,
const KeyTestCase& test,
XEvent* xevent) {
ui::KeyEvent xkey_event(xevent);
- if (test.test & KeyTestCase::NUMPAD)
- xkey_event.set_flags(xkey_event.flags() | ui::EF_NUMPAD_KEY);
- // Verify that the X11-based key event is as expected.
- EXPECT_EQ(GetExpectedResultAsString(
- test.input.key_code, test.input.flags, test.type),
- GetKeyEventAsString(xkey_event));
// Rewrite the event and check the result.
scoped_ptr<ui::Event> new_event;
rewriter->RewriteEvent(xkey_event, &new_event);
@@ -127,19 +144,16 @@ void CheckX11KeyTestCase(const std::string& expected,
#endif
// Tests a single stateless key rewrite operation.
-// |i| is a an identifying number to locate failing tests in the tables.
void CheckKeyTestCase(chromeos::EventRewriter* rewriter,
const KeyTestCase& test) {
- std::string expected =
- GetExpectedResultAsString(
- test.expected.key_code, test.expected.flags, test.type);
+ std::string expected = GetTestCaseAsString(test.type, test.expected);
if (test.test & KeyTestCase::TEST_VKEY) {
// Check rewriting of a non-native-based key event.
- EXPECT_EQ(
- expected,
- GetRewrittenEventAsString(
- rewriter, test.input.key_code, test.input.flags, test.type));
+ EXPECT_EQ(expected,
+ GetRewrittenEventAsString(
+ rewriter, test.type, test.input.key_code, test.input.code,
+ test.input.flags, test.input.key, test.input.character));
}
#if defined(USE_X11)
@@ -149,69 +163,25 @@ void CheckKeyTestCase(chromeos::EventRewriter* rewriter,
xev.InitKeyEvent(test.type, test.input.key_code, test.input.flags);
XEvent* xevent = xev;
DCHECK((xevent->type == KeyPress) || (xevent->type == KeyRelease));
- if (xevent->xkey.keycode)
+ if (test.test & KeyTestCase::NUMPAD) {
+ xevent->xkey.keycode =
+ ui::KeycodeConverter::DomCodeToNativeKeycode(test.input.code);
+ }
+ int keycode = xevent->xkey.keycode;
+ if (keycode) {
CheckX11KeyTestCase(expected, rewriter, test, xevent);
- // Test an XI2 GenericEvent.
- xev.InitGenericKeyEvent(kMasterKeyboardDeviceId,
- kKeyboardDeviceId,
- test.type,
- test.input.key_code,
- test.input.flags);
- xevent = xev;
- DCHECK(xevent->type == GenericEvent);
- XIDeviceEvent* xievent = static_cast<XIDeviceEvent*>(xevent->xcookie.data);
- DCHECK((xievent->evtype == XI_KeyPress) ||
- (xievent->evtype == XI_KeyRelease));
- if (xievent->detail)
+ // Test an XI2 GenericEvent.
+ xev.InitGenericKeyEvent(kMasterKeyboardDeviceId, kKeyboardDeviceId,
+ test.type, test.input.key_code, test.input.flags);
+ xevent = xev;
+ DCHECK(xevent->type == GenericEvent);
+ XIDeviceEvent* xievent =
+ static_cast<XIDeviceEvent*>(xevent->xcookie.data);
+ DCHECK((xievent->evtype == XI_KeyPress) ||
+ (xievent->evtype == XI_KeyRelease));
+ xievent->detail = keycode;
CheckX11KeyTestCase(expected, rewriter, test, xevent);
- }
-#endif
-}
-
-// Table entry for simple single function key event rewriting tests.
-struct FunctionKeyTestCase {
- ui::EventType type;
- struct {
- ui::KeyboardCode key_code;
- int flags;
- } input, vkey_expected, native_expected;
-};
-
-// Tests a single stateless function key rewrite operation.
-// |i| is a an identifying number to locate failing tests in the tables.
-// Function key mapping differs from the other key mappings because the
-// EF_FUNCTION_KEY flag is set during ui::KeyEvent construction when passing in
-// a native X11 event and the flag is not set when using other constructors.
-void CheckFunctionKeyTestCase(chromeos::EventRewriter* rewriter,
- const FunctionKeyTestCase& test) {
- std::string vkey_expected =
- GetExpectedResultAsString(
- test.vkey_expected.key_code,
- test.vkey_expected.flags,
- test.type);
- // Check rewriting of a non-native-based key event.
- EXPECT_EQ(
- vkey_expected,
- GetRewrittenEventAsString(
- rewriter, test.input.key_code, test.input.flags, test.type));
-
-#if defined(USE_X11)
- ui::ScopedXI2Event xev;
- xev.InitKeyEvent(test.type, test.input.key_code, test.input.flags);
- XEvent* xevent = xev;
- if (xevent->xkey.keycode) {
- ui::KeyEvent xkey_event(xevent);
- // Rewrite the event and check the result.
- scoped_ptr<ui::Event> new_event;
- rewriter->RewriteEvent(xkey_event, &new_event);
- ui::KeyEvent& rewritten_key_event =
- new_event ? *static_cast<ui::KeyEvent*>(new_event.get()) : xkey_event;
- std::string native_expected =
- GetExpectedResultAsString(
- test.native_expected.key_code,
- test.native_expected.flags,
- test.type);
- EXPECT_EQ(native_expected, GetKeyEventAsString(rewritten_key_event));
+ }
}
#endif
}
@@ -271,29 +241,74 @@ TEST_F(EventRewriterTest, TestRewriteCommandToControl) {
KeyTestCase pc_keyboard_tests[] = {
// VKEY_A, Alt modifier.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_A, ui::EF_ALT_DOWN},
- {ui::VKEY_A, ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'}},
// VKEY_A, Win modifier.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_A, ui::EF_COMMAND_DOWN},
- {ui::VKEY_A, ui::EF_COMMAND_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'}},
// VKEY_A, Alt+Win modifier.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_A, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN},
- {ui::VKEY_A, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'}},
// VKEY_LWIN (left Windows key), Alt modifier.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LWIN, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN},
- {ui::VKEY_LWIN, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0}},
// VKEY_RWIN (right Windows key), Alt modifier.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_RWIN, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN},
- {ui::VKEY_RWIN, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_RWIN,
+ ui::DomCode::OS_RIGHT,
+ ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_RWIN,
+ ui::DomCode::OS_RIGHT,
+ ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0}},
};
for (size_t i = 0; i < arraysize(pc_keyboard_tests); ++i) {
@@ -307,29 +322,74 @@ TEST_F(EventRewriterTest, TestRewriteCommandToControl) {
KeyTestCase apple_keyboard_tests[] = {
// VKEY_A, Alt modifier.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_A, ui::EF_ALT_DOWN},
- {ui::VKEY_A, ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'}},
// VKEY_A, Win modifier.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_A, ui::EF_COMMAND_DOWN},
- {ui::VKEY_A, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'}},
// VKEY_A, Alt+Win modifier.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_A, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN},
- {ui::VKEY_A, ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'}},
// VKEY_LWIN (left Windows key), Alt modifier.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LWIN, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN},
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
// VKEY_RWIN (right Windows key), Alt modifier.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_RWIN, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN},
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_RWIN,
+ ui::DomCode::OS_RIGHT,
+ ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
};
for (size_t i = 0; i < arraysize(apple_keyboard_tests); ++i) {
@@ -352,10 +412,20 @@ TEST_F(EventRewriterTest, TestRewriteCommandToControlWithControlRemapped) {
rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard");
rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId);
- KeyTestCase pc_keyboard_tests[] = {// Control should be remapped to Alt.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN},
- {ui::VKEY_MENU, ui::EF_ALT_DOWN}},
+ KeyTestCase pc_keyboard_tests[] = {
+ // Control should be remapped to Alt.
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0},
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ALT,
+ 0}},
};
for (size_t i = 0; i < arraysize(pc_keyboard_tests); ++i) {
@@ -370,15 +440,33 @@ TEST_F(EventRewriterTest, TestRewriteCommandToControlWithControlRemapped) {
KeyTestCase apple_keyboard_tests[] = {
// VKEY_LWIN (left Command key) with Alt modifier. The remapped Command
// key should never be re-remapped to Alt.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LWIN, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN},
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
// VKEY_RWIN (right Command key) with Alt modifier. The remapped Command
// key should never be re-remapped to Alt.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_RWIN, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN},
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_RWIN,
+ ui::DomCode::OS_RIGHT,
+ ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
};
for (size_t i = 0; i < arraysize(apple_keyboard_tests); ++i) {
@@ -396,119 +484,331 @@ void EventRewriterTest::TestRewriteNumPadKeys() {
KeyTestCase tests[] = {
// XK_KP_Insert (= NumPad 0 without Num Lock), no modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_INSERT, ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD0, ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_INSERT,
+ ui::DomCode::NUMPAD0,
+ ui::EF_NONE,
+ ui::DomKey::INSERT,
+ 0},
+ {ui::VKEY_NUMPAD0,
+ ui::DomCode::NUMPAD0,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '0'}},
// XK_KP_Insert (= NumPad 0 without Num Lock), Alt modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_INSERT, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD0, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_INSERT,
+ ui::DomCode::NUMPAD0,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::INSERT,
+ 0},
+ {ui::VKEY_NUMPAD0,
+ ui::DomCode::NUMPAD0,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ '0'}},
// XK_KP_Delete (= NumPad . without Num Lock), Alt modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_DELETE, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY},
- {ui::VKEY_DECIMAL, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_DELETE,
+ ui::DomCode::NUMPAD_DECIMAL,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::DEL,
+ 0},
+ {ui::VKEY_DECIMAL,
+ ui::DomCode::NUMPAD_DECIMAL,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ '.'}},
// XK_KP_End (= NumPad 1 without Num Lock), Alt modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_END, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_END,
+ ui::DomCode::NUMPAD1,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::END,
+ 0},
+ {ui::VKEY_NUMPAD1,
+ ui::DomCode::NUMPAD1,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ '1'}},
// XK_KP_Down (= NumPad 2 without Num Lock), Alt modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_DOWN, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD2, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_DOWN,
+ ui::DomCode::NUMPAD2,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ARROW_DOWN,
+ 0},
+ {ui::VKEY_NUMPAD2,
+ ui::DomCode::NUMPAD2,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ '2'}},
// XK_KP_Next (= NumPad 3 without Num Lock), Alt modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_NEXT, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD3, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_NEXT,
+ ui::DomCode::NUMPAD3,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::PAGE_DOWN,
+ 0},
+ {ui::VKEY_NUMPAD3,
+ ui::DomCode::NUMPAD3,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ '3'}},
// XK_KP_Left (= NumPad 4 without Num Lock), Alt modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_LEFT, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD4, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LEFT,
+ ui::DomCode::NUMPAD4,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ARROW_LEFT,
+ 0},
+ {ui::VKEY_NUMPAD4,
+ ui::DomCode::NUMPAD4,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ '4'}},
// XK_KP_Begin (= NumPad 5 without Num Lock), Alt modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_CLEAR, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD5, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_CLEAR,
+ ui::DomCode::NUMPAD5,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CLEAR,
+ 0},
+ {ui::VKEY_NUMPAD5,
+ ui::DomCode::NUMPAD5,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ '5'}},
// XK_KP_Right (= NumPad 6 without Num Lock), Alt modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_RIGHT, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD6, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_RIGHT,
+ ui::DomCode::NUMPAD6,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ARROW_RIGHT,
+ 0},
+ {ui::VKEY_NUMPAD6,
+ ui::DomCode::NUMPAD6,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ '6'}},
// XK_KP_Home (= NumPad 7 without Num Lock), Alt modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_HOME, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD7, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_HOME,
+ ui::DomCode::NUMPAD7,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::HOME,
+ 0},
+ {ui::VKEY_NUMPAD7,
+ ui::DomCode::NUMPAD7,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ '7'}},
// XK_KP_Up (= NumPad 8 without Num Lock), Alt modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_UP, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD8, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_UP,
+ ui::DomCode::NUMPAD8,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ARROW_UP,
+ 0},
+ {ui::VKEY_NUMPAD8,
+ ui::DomCode::NUMPAD8,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ '8'}},
// XK_KP_Prior (= NumPad 9 without Num Lock), Alt modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_PRIOR, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN | ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_PRIOR,
+ ui::DomCode::NUMPAD9,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::PAGE_UP,
+ 0},
+ {ui::VKEY_NUMPAD9,
+ ui::DomCode::NUMPAD9,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ '9'}},
// XK_KP_0 (= NumPad 0 with Num Lock), Num Lock modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_NUMPAD0, ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD0, ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_NUMPAD0,
+ ui::DomCode::NUMPAD0,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '0'},
+ {ui::VKEY_NUMPAD0,
+ ui::DomCode::NUMPAD0,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '0'}},
// XK_KP_DECIMAL (= NumPad . with Num Lock), Num Lock modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_DECIMAL, ui::EF_NUMPAD_KEY},
- {ui::VKEY_DECIMAL, ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_DECIMAL,
+ ui::DomCode::NUMPAD_DECIMAL,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '.'},
+ {ui::VKEY_DECIMAL,
+ ui::DomCode::NUMPAD_DECIMAL,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '.'}},
// XK_KP_1 (= NumPad 1 with Num Lock), Num Lock modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_NUMPAD1, ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD1, ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_NUMPAD1,
+ ui::DomCode::NUMPAD1,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '1'},
+ {ui::VKEY_NUMPAD1,
+ ui::DomCode::NUMPAD1,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '1'}},
// XK_KP_2 (= NumPad 2 with Num Lock), Num Lock modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_NUMPAD2, ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD2, ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_NUMPAD2,
+ ui::DomCode::NUMPAD2,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '2'},
+ {ui::VKEY_NUMPAD2,
+ ui::DomCode::NUMPAD2,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '2'}},
// XK_KP_3 (= NumPad 3 with Num Lock), Num Lock modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_NUMPAD3, ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD3, ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_NUMPAD3,
+ ui::DomCode::NUMPAD3,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '3'},
+ {ui::VKEY_NUMPAD3,
+ ui::DomCode::NUMPAD3,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '3'}},
// XK_KP_4 (= NumPad 4 with Num Lock), Num Lock modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_NUMPAD4, ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD4, ui::EF_NUMPAD_KEY}},
-
- // XK_KP_5 (= NumPad 5 with Num Lock), Num Lock modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_NUMPAD5, ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD5, ui::EF_NUMPAD_KEY}},
-
- // XK_KP_6 (= NumPad 6 with Num Lock), Num Lock modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_NUMPAD6, ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD6, ui::EF_NUMPAD_KEY}},
-
- // XK_KP_7 (= NumPad 7 with Num Lock), Num Lock modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_NUMPAD7, ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD7, ui::EF_NUMPAD_KEY}},
-
- // XK_KP_8 (= NumPad 8 with Num Lock), Num Lock modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_NUMPAD8, ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD8, ui::EF_NUMPAD_KEY}},
-
- // XK_KP_9 (= NumPad 9 with Num Lock), Num Lock modifier.
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_NUMPAD9, ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD9, ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_NUMPAD4,
+ ui::DomCode::NUMPAD4,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '4'},
+ {ui::VKEY_NUMPAD4,
+ ui::DomCode::NUMPAD4,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '4'}},
+
+ // XK_KP_5 (= NumPad 5 with Num Lock), Num Lock
+ // modifier.
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_NUMPAD5,
+ ui::DomCode::NUMPAD5,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '5'},
+ {ui::VKEY_NUMPAD5,
+ ui::DomCode::NUMPAD5,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '5'}},
+
+ // XK_KP_6 (= NumPad 6 with Num Lock), Num Lock
+ // modifier.
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_NUMPAD6,
+ ui::DomCode::NUMPAD6,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '6'},
+ {ui::VKEY_NUMPAD6,
+ ui::DomCode::NUMPAD6,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '6'}},
+
+ // XK_KP_7 (= NumPad 7 with Num Lock), Num Lock
+ // modifier.
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_NUMPAD7,
+ ui::DomCode::NUMPAD7,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '7'},
+ {ui::VKEY_NUMPAD7,
+ ui::DomCode::NUMPAD7,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '7'}},
+
+ // XK_KP_8 (= NumPad 8 with Num Lock), Num Lock
+ // modifier.
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_NUMPAD8,
+ ui::DomCode::NUMPAD8,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '8'},
+ {ui::VKEY_NUMPAD8,
+ ui::DomCode::NUMPAD8,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '8'}},
+
+ // XK_KP_9 (= NumPad 9 with Num Lock), Num Lock
+ // modifier.
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_NUMPAD9,
+ ui::DomCode::NUMPAD9,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '9'},
+ {ui::VKEY_NUMPAD9,
+ ui::DomCode::NUMPAD9,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '9'}},
};
for (size_t i = 0; i < arraysize(tests); ++i) {
@@ -542,17 +842,34 @@ void EventRewriterTest::TestRewriteNumPadKeysOnAppleKeyboard() {
KeyTestCase tests[] = {
// XK_KP_End (= NumPad 1 without Num Lock), Win modifier.
// The result should be "Num Pad 1 with Control + Num Lock modifiers".
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_END, ui::EF_COMMAND_DOWN | ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD1, ui::EF_CONTROL_DOWN | ui::EF_NUMPAD_KEY}},
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_END,
+ ui::DomCode::NUMPAD1,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::END,
+ 0},
+ {ui::VKEY_NUMPAD1,
+ ui::DomCode::NUMPAD1,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER,
+ '1'}},
// XK_KP_1 (= NumPad 1 with Num Lock), Win modifier.
// The result should also be "Num Pad 1 with Control + Num Lock
// modifiers".
- {KeyTestCase::TEST_ALL|KeyTestCase::NUMPAD, ui::ET_KEY_PRESSED,
- {ui::VKEY_NUMPAD1, ui::EF_COMMAND_DOWN | ui::EF_NUMPAD_KEY},
- {ui::VKEY_NUMPAD1, ui::EF_CONTROL_DOWN | ui::EF_NUMPAD_KEY}},
- };
+ {KeyTestCase::TEST_ALL | KeyTestCase::NUMPAD,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_NUMPAD1,
+ ui::DomCode::NUMPAD1,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '1'},
+ {ui::VKEY_NUMPAD1,
+ ui::DomCode::NUMPAD1,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER,
+ '1'}}};
for (size_t i = 0; i < arraysize(tests); ++i) {
SCOPED_TRACE(i);
@@ -583,35 +900,77 @@ TEST_F(EventRewriterTest, TestRewriteModifiersNoRemap) {
KeyTestCase tests[] = {
// Press Search. Confirm the event is not rewritten.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LWIN, ui::EF_NONE},
- {ui::VKEY_LWIN, ui::EF_COMMAND_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_NONE, ui::DomKey::OS, 0},
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0}},
// Press left Control. Confirm the event is not rewritten.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN},
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
// Press right Control. Confirm the event is not rewritten.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN},
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
// Press left Alt. Confirm the event is not rewritten.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_MENU, ui::EF_ALT_DOWN},
- {ui::VKEY_MENU, ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ALT,
+ 0},
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ALT,
+ 0}},
// Press right Alt. Confirm the event is not rewritten.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_MENU, ui::EF_ALT_DOWN},
- {ui::VKEY_MENU, ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ALT,
+ 0},
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ALT,
+ 0}},
// Test KeyRelease event, just in case.
// Release Search. Confirm the release event is not rewritten.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_RELEASED,
- {ui::VKEY_LWIN, ui::EF_NONE},
- {ui::VKEY_LWIN, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_RELEASED,
+ {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_NONE, ui::DomKey::OS, 0},
+ {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_NONE, ui::DomKey::OS, 0}},
};
for (size_t i = 0; i < arraysize(tests); ++i) {
@@ -628,26 +987,62 @@ TEST_F(EventRewriterTest, TestRewriteModifiersNoRemapMultipleKeys) {
KeyTestCase tests[] = {
// Press Alt with Shift. Confirm the event is not rewritten.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_MENU, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN},
- {ui::VKEY_MENU, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::ALT,
+ 0},
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::ALT,
+ 0}},
// Press Search with Caps Lock mask. Confirm the event is not rewritten.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LWIN, ui::EF_CAPS_LOCK_DOWN | ui::EF_COMMAND_DOWN},
- {ui::VKEY_LWIN, ui::EF_CAPS_LOCK_DOWN | ui::EF_COMMAND_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_CAPS_LOCK_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_CAPS_LOCK_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0}},
// Release Search with Caps Lock mask. Confirm the event is not rewritten.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_RELEASED,
- {ui::VKEY_LWIN, ui::EF_CAPS_LOCK_DOWN},
- {ui::VKEY_LWIN, ui::EF_CAPS_LOCK_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_RELEASED,
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_CAPS_LOCK_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_CAPS_LOCK_DOWN,
+ ui::DomKey::OS,
+ 0}},
// Press Shift+Ctrl+Alt+Search+A. Confirm the event is not rewritten.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
- ui::EF_COMMAND_DOWN},
- {ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
- ui::EF_COMMAND_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_B,
+ ui::DomCode::KEY_B,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ 'B'},
+ {ui::VKEY_B,
+ ui::DomCode::KEY_B,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ 'B'}},
};
for (size_t i = 0; i < arraysize(tests); ++i) {
@@ -674,37 +1069,87 @@ TEST_F(EventRewriterTest, TestRewriteModifiersDisableSome) {
KeyTestCase disabled_modifier_tests[] = {
// Press Alt with Shift. This key press shouldn't be affected by the
// pref. Confirm the event is not rewritten.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_MENU, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN},
- {ui::VKEY_MENU, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::ALT,
+ 0},
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::ALT,
+ 0}},
// Press Search. Confirm the event is now VKEY_UNKNOWN.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LWIN, ui::EF_NONE},
- {ui::VKEY_UNKNOWN, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_NONE, ui::DomKey::OS, 0},
+ {ui::VKEY_UNKNOWN,
+ ui::DomCode::NONE,
+ ui::EF_NONE,
+ ui::DomKey::UNIDENTIFIED,
+ 0}},
// Press Control. Confirm the event is now VKEY_UNKNOWN.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN},
- {ui::VKEY_UNKNOWN, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0},
+ {ui::VKEY_UNKNOWN,
+ ui::DomCode::NONE,
+ ui::EF_NONE,
+ ui::DomKey::UNIDENTIFIED,
+ 0}},
// Press Control+Search. Confirm the event is now VKEY_UNKNOWN
// without any modifiers.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LWIN, ui::EF_CONTROL_DOWN},
- {ui::VKEY_UNKNOWN, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_UNKNOWN,
+ ui::DomCode::NONE,
+ ui::EF_NONE,
+ ui::DomKey::UNIDENTIFIED,
+ 0}},
// Press Control+Search+a. Confirm the event is now VKEY_A without any
// modifiers.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_A, ui::EF_CONTROL_DOWN},
- {ui::VKEY_A, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ 'a'}},
// Press Control+Search+Alt+a. Confirm the event is now VKEY_A only with
// the Alt modifier.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_A, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN},
- {ui::VKEY_A, ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'}},
};
for (size_t i = 0; i < arraysize(disabled_modifier_tests); ++i) {
@@ -720,15 +1165,33 @@ TEST_F(EventRewriterTest, TestRewriteModifiersDisableSome) {
KeyTestCase tests[] = {
// Press left Alt. Confirm the event is now VKEY_CONTROL
// even though the Control key itself is disabled.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_MENU, ui::EF_ALT_DOWN},
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ALT,
+ 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
// Press Alt+a. Confirm the event is now Control+a even though the Control
// key itself is disabled.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_A, ui::EF_ALT_DOWN},
- {ui::VKEY_A, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'}},
};
for (size_t i = 0; i < arraysize(tests); ++i) {
@@ -751,9 +1214,18 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToControl) {
KeyTestCase s_tests[] = {
// Press Search. Confirm the event is now VKEY_CONTROL.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LWIN, ui::EF_COMMAND_DOWN},
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
};
for (size_t i = 0; i < arraysize(s_tests); ++i) {
@@ -768,34 +1240,78 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToControl) {
KeyTestCase sa_tests[] = {
// Press Alt. Confirm the event is now VKEY_CONTROL.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_MENU, ui::EF_ALT_DOWN},
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ALT,
+ 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
// Press Alt+Search. Confirm the event is now VKEY_CONTROL.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LWIN, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN},
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
// Press Control+Alt+Search. Confirm the event is now VKEY_CONTROL.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
{ui::VKEY_LWIN,
- ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN},
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN}},
+ ui::DomCode::OS_LEFT,
+ ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
// Press Shift+Control+Alt+Search. Confirm the event is now Control with
// Shift and Control modifiers.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LWIN, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN |
- ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN},
- {ui::VKEY_CONTROL, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
// Press Shift+Control+Alt+Search+B. Confirm the event is now B with Shift
// and Control modifiers.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
- ui::EF_COMMAND_DOWN},
- {ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_B,
+ ui::DomCode::KEY_B,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ 'B'},
+ {ui::VKEY_B,
+ ui::DomCode::KEY_B,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER,
+ 'B'}},
};
for (size_t i = 0; i < arraysize(sa_tests); ++i) {
@@ -816,10 +1332,20 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToEscape) {
rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard");
rewriter.set_pref_service_for_testing(&prefs);
- KeyTestCase tests[] = {// Press Search. Confirm the event is now VKEY_ESCAPE.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LWIN, ui::EF_COMMAND_DOWN},
- {ui::VKEY_ESCAPE, ui::EF_NONE}},
+ KeyTestCase tests[] = {
+ // Press Search. Confirm the event is now VKEY_ESCAPE.
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_ESCAPE,
+ ui::DomCode::ESCAPE,
+ ui::EF_NONE,
+ ui::DomKey::ESCAPE,
+ 0}},
};
for (size_t i = 0; i < arraysize(tests); ++i) {
@@ -842,9 +1368,18 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) {
KeyTestCase s2a_tests[] = {
// Press Search. Confirm the event is now VKEY_MENU.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LWIN, ui::EF_COMMAND_DOWN},
- {ui::VKEY_MENU, ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ALT,
+ 0}},
};
for (size_t i = 0; i < arraysize(s2a_tests); ++i) {
@@ -859,19 +1394,46 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) {
KeyTestCase a2c_tests[] = {
// Press left Alt. Confirm the event is now VKEY_CONTROL.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_MENU, ui::EF_ALT_DOWN},
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ALT,
+ 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
// Press Shift+comma. Verify that only the flags are changed.
// The X11 portion of the test addresses crbug.com/390263 by verifying
// that the X keycode remains that for ',<' and not for 105-key '<>'.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_OEM_COMMA, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN},
- {ui::VKEY_OEM_COMMA, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_OEM_COMMA,
+ ui::DomCode::COMMA,
+ ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::UNIDENTIFIED,
+ 0},
+ {ui::VKEY_OEM_COMMA,
+ ui::DomCode::COMMA,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::UNIDENTIFIED,
+ 0}},
// Press Shift+9. Verify that only the flags are changed.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_9, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN},
- {ui::VKEY_9, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_9,
+ ui::DomCode::DIGIT9,
+ ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER,
+ '9'},
+ {ui::VKEY_9,
+ ui::DomCode::DIGIT9,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER,
+ '9'}},
};
for (size_t i = 0; i < arraysize(a2c_tests); ++i) {
@@ -886,30 +1448,64 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) {
KeyTestCase c2s_tests[] = {
// Press left Control. Confirm the event is now VKEY_LWIN.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN},
- {ui::VKEY_LWIN, ui::EF_COMMAND_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0},
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0}},
// Then, press all of the three, Control+Alt+Search.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
{ui::VKEY_LWIN,
- ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN},
+ ui::DomCode::OS_LEFT,
+ ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0},
{ui::VKEY_MENU,
- ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN}},
+ ui::DomCode::ALT_LEFT,
+ ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::ALT,
+ 0}},
// Press Shift+Control+Alt+Search.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LWIN, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN |
- ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN},
- {ui::VKEY_MENU, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN |
- ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LWIN,
+ ui::DomCode::OS_LEFT,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::OS,
+ 0},
+ {ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::ALT,
+ 0}},
// Press Shift+Control+Alt+Search+B
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
- ui::EF_COMMAND_DOWN},
- {ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
- ui::EF_COMMAND_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_B,
+ ui::DomCode::KEY_B,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ 'B'},
+ {ui::VKEY_B,
+ ui::DomCode::KEY_B,
+ ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ 'B'}},
};
for (size_t i = 0; i < arraysize(c2s_tests); ++i) {
@@ -934,51 +1530,56 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToCapsLock) {
EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_);
// Press Search.
- EXPECT_EQ(
- GetExpectedResultAsString(ui::VKEY_CAPITAL,
- ui::EF_CAPS_LOCK_DOWN | ui::EF_MOD3_DOWN,
- ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_LWIN, ui::EF_COMMAND_DOWN, ui::ET_KEY_PRESSED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL,
+ ui::DomCode::CAPS_LOCK,
+ ui::EF_CAPS_LOCK_DOWN | ui::EF_MOD3_DOWN,
+ ui::DomKey::CAPS_LOCK, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED,
+ ui::VKEY_LWIN, ui::DomCode::OS_LEFT,
+ ui::EF_COMMAND_DOWN, ui::DomKey::OS, 0));
// Confirm that the Caps Lock status is changed.
EXPECT_TRUE(ime_keyboard.caps_lock_is_enabled_);
// Release Search.
- EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_CAPITAL, ui::EF_NONE, ui::ET_KEY_RELEASED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_LWIN, ui::EF_NONE, ui::ET_KEY_RELEASED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CAPITAL,
+ ui::DomCode::CAPS_LOCK, ui::EF_NONE,
+ ui::DomKey::CAPS_LOCK, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED,
+ ui::VKEY_LWIN, ui::DomCode::OS_LEFT,
+ ui::EF_NONE, ui::DomKey::OS, 0));
// Confirm that the Caps Lock status is not changed.
EXPECT_TRUE(ime_keyboard.caps_lock_is_enabled_);
// Press Search.
EXPECT_EQ(
- GetExpectedResultAsString(ui::VKEY_CAPITAL,
- ui::EF_CAPS_LOCK_DOWN | ui::EF_MOD3_DOWN,
- ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(&rewriter,
- ui::VKEY_LWIN,
- ui::EF_COMMAND_DOWN | ui::EF_CAPS_LOCK_DOWN,
- ui::ET_KEY_PRESSED));
+ GetExpectedResultAsString(
+ ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK,
+ ui::EF_CAPS_LOCK_DOWN | ui::EF_MOD3_DOWN, ui::DomKey::CAPS_LOCK, 0),
+ GetRewrittenEventAsString(
+ &rewriter, ui::ET_KEY_PRESSED, ui::VKEY_LWIN, ui::DomCode::OS_LEFT,
+ ui::EF_COMMAND_DOWN | ui::EF_CAPS_LOCK_DOWN, ui::DomKey::OS, 0));
// Confirm that the Caps Lock status is changed.
EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_);
// Release Search.
- EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_CAPITAL, ui::EF_NONE, ui::ET_KEY_RELEASED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_LWIN, ui::EF_NONE, ui::ET_KEY_RELEASED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CAPITAL,
+ ui::DomCode::CAPS_LOCK, ui::EF_NONE,
+ ui::DomKey::CAPS_LOCK, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED,
+ ui::VKEY_LWIN, ui::DomCode::OS_LEFT,
+ ui::EF_NONE, ui::DomKey::OS, 0));
// Confirm that the Caps Lock status is not changed.
EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_);
// Press Caps Lock (on an external keyboard).
- EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CAPITAL,
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL,
+ ui::DomCode::CAPS_LOCK,
ui::EF_CAPS_LOCK_DOWN | ui::EF_MOD3_DOWN,
- ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(&rewriter,
- ui::VKEY_CAPITAL,
+ ui::DomKey::CAPS_LOCK, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED,
+ ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK,
ui::EF_CAPS_LOCK_DOWN | ui::EF_MOD3_DOWN,
- ui::ET_KEY_PRESSED));
+ ui::DomKey::CAPS_LOCK, 0));
// Confirm that calling RewriteForTesting() does not change the state of
// |ime_keyboard|. In this case, X Window system itself should change the
@@ -986,10 +1587,12 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToCapsLock) {
EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_);
// Release Caps Lock (on an external keyboard).
- EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_CAPITAL, ui::EF_NONE, ui::ET_KEY_RELEASED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_CAPITAL, ui::EF_NONE, ui::ET_KEY_RELEASED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CAPITAL,
+ ui::DomCode::CAPS_LOCK, ui::EF_NONE,
+ ui::DomKey::CAPS_LOCK, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED,
+ ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK,
+ ui::EF_NONE, ui::DomKey::CAPS_LOCK, 0));
EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_);
}
@@ -1005,11 +1608,13 @@ TEST_F(EventRewriterTest, TestRewriteCapsLock) {
EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_);
// On Chrome OS, CapsLock is mapped to F16 with Mod3Mask.
- EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CAPITAL,
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL,
+ ui::DomCode::CAPS_LOCK,
ui::EF_CAPS_LOCK_DOWN | ui::EF_MOD3_DOWN,
- ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_F16, ui::EF_MOD3_DOWN, ui::ET_KEY_PRESSED));
+ ui::DomKey::CAPS_LOCK, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED,
+ ui::VKEY_F16, ui::DomCode::F16,
+ ui::EF_MOD3_DOWN, ui::DomKey::F16, 0));
EXPECT_TRUE(ime_keyboard.caps_lock_is_enabled_);
}
@@ -1028,20 +1633,36 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKey) {
// specified.
{KeyTestCase::TEST_VKEY,
ui::ET_KEY_PRESSED,
- {ui::VKEY_F15, ui::EF_NONE},
- {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN}},
+ {ui::VKEY_F15, ui::DomCode::F15, ui::EF_NONE, ui::DomKey::F15, 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CONTROL,
+ 0}},
{KeyTestCase::TEST_VKEY,
ui::ET_KEY_RELEASED,
- {ui::VKEY_F15, ui::EF_NONE},
- {ui::VKEY_CONTROL, ui::EF_NONE}},
+ {ui::VKEY_F15, ui::DomCode::F15, ui::EF_NONE, ui::DomKey::F15, 0},
+ {ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT,
+ ui::EF_NONE,
+ ui::DomKey::CONTROL,
+ 0}},
// However, Mod2Mask should not be rewritten to CtrlMask when
// --has-chromeos-diamond-key is not specified.
{KeyTestCase::TEST_VKEY,
ui::ET_KEY_PRESSED,
- {ui::VKEY_A, ui::EF_NONE},
- {ui::VKEY_A, ui::EF_NONE}},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ 'a'},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ 'a'}},
};
for (size_t i = 0; i < arraysize(tests); ++i) {
@@ -1066,106 +1687,142 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) {
// By default, F15 should work as Control.
EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN, ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ ui::ET_KEY_PRESSED, ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN, ui::DomKey::CONTROL, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED,
+ ui::VKEY_F15, ui::DomCode::F15,
+ ui::EF_NONE, ui::DomKey::F15, 0));
// Check that Control is applied to a subsequent key press.
- EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_A, ui::EF_CONTROL_DOWN, ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER, 'a'),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'));
// Release F15
- EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_CONTROL, ui::EF_NONE, ui::ET_KEY_RELEASED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_RELEASED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT, ui::EF_NONE,
+ ui::DomKey::CONTROL, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED,
+ ui::VKEY_F15, ui::DomCode::F15,
+ ui::EF_NONE, ui::DomKey::F15, 0));
// Check that Control is no longer applied to a subsequent key press.
- EXPECT_EQ(
- GetExpectedResultAsString(ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'));
IntegerPrefMember diamond;
diamond.Init(prefs::kLanguageRemapDiamondKeyTo, &prefs);
diamond.SetValue(chromeos::input_method::kVoidKey);
- EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_UNKNOWN, ui::EF_NONE, ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_UNKNOWN,
+ ui::DomCode::NONE, ui::EF_NONE,
+ ui::DomKey::NONE, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED,
+ ui::VKEY_F15, ui::DomCode::F15,
+ ui::EF_NONE, ui::DomKey::F15, 0));
// Check that no modifier is applied to another key.
- EXPECT_EQ(
- GetExpectedResultAsString(ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'));
diamond.SetValue(chromeos::input_method::kControlKey);
EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN, ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ ui::ET_KEY_PRESSED, ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
+ ui::EF_CONTROL_DOWN, ui::DomKey::CONTROL, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED,
+ ui::VKEY_F15, ui::DomCode::F15,
+ ui::EF_NONE, ui::DomKey::F15, 0));
// Check that Control is applied to a subsequent key press.
- EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_A, ui::EF_CONTROL_DOWN, ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER, 'a'),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'));
// Release F15
- EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_CONTROL, ui::EF_NONE, ui::ET_KEY_RELEASED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_RELEASED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT, ui::EF_NONE,
+ ui::DomKey::CONTROL, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED,
+ ui::VKEY_F15, ui::DomCode::F15,
+ ui::EF_NONE, ui::DomKey::F15, 0));
// Check that Control is no longer applied to a subsequent key press.
- EXPECT_EQ(
- GetExpectedResultAsString(ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'));
diamond.SetValue(chromeos::input_method::kAltKey);
- EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_MENU, ui::EF_ALT_DOWN, ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT, ui::EF_ALT_DOWN,
+ ui::DomKey::ALT, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED,
+ ui::VKEY_F15, ui::DomCode::F15,
+ ui::EF_NONE, ui::DomKey::F15, 0));
// Check that Alt is applied to a subsequent key press.
- EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_A, ui::EF_ALT_DOWN, ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_ALT_DOWN,
+ ui::DomKey::CHARACTER, 'a'),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'));
// Release F15
- EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_MENU, ui::EF_NONE, ui::ET_KEY_RELEASED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_RELEASED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_MENU,
+ ui::DomCode::ALT_LEFT, ui::EF_NONE,
+ ui::DomKey::ALT, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED,
+ ui::VKEY_F15, ui::DomCode::F15,
+ ui::EF_NONE, ui::DomKey::F15, 0));
// Check that Alt is no longer applied to a subsequent key press.
- EXPECT_EQ(
- GetExpectedResultAsString(ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'));
diamond.SetValue(chromeos::input_method::kCapsLockKey);
- EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CAPITAL,
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL,
+ ui::DomCode::CAPS_LOCK,
ui::EF_CAPS_LOCK_DOWN | ui::EF_MOD3_DOWN,
- ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ ui::DomKey::CAPS_LOCK, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED,
+ ui::VKEY_F15, ui::DomCode::F15,
+ ui::EF_NONE, ui::DomKey::F15, 0));
// Check that Caps is applied to a subsequent key press.
- EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_A,
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A,
ui::EF_CAPS_LOCK_DOWN | ui::EF_MOD3_DOWN,
- ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ ui::DomKey::CHARACTER, 'a'),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'));
// Release F15
- EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_CAPITAL, ui::EF_NONE, ui::ET_KEY_RELEASED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_RELEASED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CAPITAL,
+ ui::DomCode::CAPS_LOCK, ui::EF_NONE,
+ ui::DomKey::CAPS_LOCK, 0),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED,
+ ui::VKEY_F15, ui::DomCode::F15,
+ ui::EF_NONE, ui::DomKey::F15, 0));
// Check that Control is no longer applied to a subsequent key press.
- EXPECT_EQ(
- GetExpectedResultAsString(ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'));
*base::CommandLine::ForCurrentProcess() = original_cl;
}
@@ -1185,21 +1842,48 @@ TEST_F(EventRewriterTest, TestRewriteCapsLockToControl) {
KeyTestCase tests[] = {
// Press CapsLock+a. Confirm that Mod3Mask is rewritten to ControlMask.
// On Chrome OS, CapsLock works as a Mod3 modifier.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_A, ui::EF_MOD3_DOWN},
- {ui::VKEY_A, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_MOD3_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'}},
// Press Control+CapsLock+a. Confirm that Mod3Mask is rewritten to
// ControlMask
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_A, ui::EF_CONTROL_DOWN | ui::EF_MOD3_DOWN},
- {ui::VKEY_A, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_CONTROL_DOWN | ui::EF_MOD3_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'}},
// Press Alt+CapsLock+a. Confirm that Mod3Mask is rewritten to
// ControlMask.
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_A, ui::EF_ALT_DOWN | ui::EF_MOD3_DOWN},
- {ui::VKEY_A, ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_ALT_DOWN | ui::EF_MOD3_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'},
+ {ui::VKEY_A,
+ ui::DomCode::KEY_A,
+ ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER,
+ 'a'}},
};
for (size_t i = 0; i < arraysize(tests); ++i) {
@@ -1223,10 +1907,12 @@ TEST_F(EventRewriterTest, TestRewriteCapsLockMod3InUse) {
// Press CapsLock+a. Confirm that Mod3Mask is NOT rewritten to ControlMask
// when Mod3Mask is already in use by the current XKB layout.
- EXPECT_EQ(
- GetExpectedResultAsString(ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED),
- GetRewrittenEventAsString(
- &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'),
+ GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A,
+ ui::DomCode::KEY_A, ui::EF_NONE,
+ ui::DomKey::CHARACTER, 'a'));
input_method_manager_mock_->set_mod3_used(false);
}
@@ -1241,99 +1927,270 @@ TEST_F(EventRewriterTest, TestRewriteExtendedKeys) {
KeyTestCase tests[] = {
// Alt+Backspace -> Delete
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_BACK, ui::EF_ALT_DOWN},
- {ui::VKEY_DELETE, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_BACK,
+ ui::DomCode::BACKSPACE,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::BACKSPACE,
+ 0},
+ {ui::VKEY_DELETE, ui::DomCode::DEL, ui::EF_NONE, ui::DomKey::DEL, 0}},
// Control+Alt+Backspace -> Control+Delete
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_BACK, ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN},
- {ui::VKEY_DELETE, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_BACK,
+ ui::DomCode::BACKSPACE,
+ ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::BACKSPACE,
+ 0},
+ {ui::VKEY_DELETE,
+ ui::DomCode::DEL,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::DEL,
+ 0}},
// Search+Alt+Backspace -> Alt+Backspace
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_BACK, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN},
- {ui::VKEY_BACK, ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_BACK,
+ ui::DomCode::BACKSPACE,
+ ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::BACKSPACE,
+ 0},
+ {ui::VKEY_BACK,
+ ui::DomCode::BACKSPACE,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::BACKSPACE,
+ 0}},
// Search+Control+Alt+Backspace -> Control+Alt+Backspace
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_BACK,
+ ui::DomCode::BACKSPACE,
+ ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::BACKSPACE,
+ 0},
{ui::VKEY_BACK,
- ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN},
- {ui::VKEY_BACK, ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN}},
+ ui::DomCode::BACKSPACE,
+ ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::BACKSPACE,
+ 0}},
// Alt+Up -> Prior
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_UP, ui::EF_ALT_DOWN},
- {ui::VKEY_PRIOR, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_UP,
+ ui::DomCode::ARROW_UP,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ARROW_UP,
+ 0},
+ {ui::VKEY_PRIOR,
+ ui::DomCode::PAGE_UP,
+ ui::EF_NONE,
+ ui::DomKey::PAGE_UP,
+ 0}},
// Alt+Down -> Next
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_DOWN, ui::EF_ALT_DOWN},
- {ui::VKEY_NEXT, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_DOWN,
+ ui::DomCode::ARROW_DOWN,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ARROW_DOWN,
+ 0},
+ {ui::VKEY_NEXT,
+ ui::DomCode::PAGE_DOWN,
+ ui::EF_NONE,
+ ui::DomKey::PAGE_DOWN,
+ 0}},
// Ctrl+Alt+Up -> Home
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_UP, ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN},
- {ui::VKEY_HOME, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_UP,
+ ui::DomCode::ARROW_UP,
+ ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::ARROW_UP,
+ 0},
+ {ui::VKEY_HOME, ui::DomCode::HOME, ui::EF_NONE, ui::DomKey::HOME, 0}},
// Ctrl+Alt+Down -> End
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_DOWN, ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN},
- {ui::VKEY_END, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_DOWN,
+ ui::DomCode::ARROW_DOWN,
+ ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::ARROW_DOWN,
+ 0},
+ {ui::VKEY_END, ui::DomCode::END, ui::EF_NONE, ui::DomKey::END, 0}},
// Search+Alt+Up -> Alt+Up
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_UP, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN},
- {ui::VKEY_UP, ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_UP,
+ ui::DomCode::ARROW_UP,
+ ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::ARROW_UP,
+ 0},
+ {ui::VKEY_UP,
+ ui::DomCode::ARROW_UP,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ARROW_UP,
+ 0}},
// Search+Alt+Down -> Alt+Down
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_DOWN, ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN},
- {ui::VKEY_DOWN, ui::EF_ALT_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_DOWN,
+ ui::DomCode::ARROW_DOWN,
+ ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN,
+ ui::DomKey::ARROW_DOWN,
+ 0},
+ {ui::VKEY_DOWN,
+ ui::DomCode::ARROW_DOWN,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ARROW_DOWN,
+ 0}},
// Search+Ctrl+Alt+Up -> Search+Ctrl+Alt+Up
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_UP,
+ ui::DomCode::ARROW_UP,
+ ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::ARROW_UP,
+ 0},
{ui::VKEY_UP,
- ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN},
- {ui::VKEY_UP, ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN}},
+ ui::DomCode::ARROW_UP,
+ ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::ARROW_UP,
+ 0}},
// Search+Ctrl+Alt+Down -> Ctrl+Alt+Down
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_DOWN,
+ ui::DomCode::ARROW_DOWN,
+ ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::ARROW_DOWN,
+ 0},
{ui::VKEY_DOWN,
- ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN},
- {ui::VKEY_DOWN, ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN}},
+ ui::DomCode::ARROW_DOWN,
+ ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::ARROW_DOWN,
+ 0}},
// Period -> Period
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_OEM_PERIOD, ui::EF_NONE},
- {ui::VKEY_OEM_PERIOD, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_OEM_PERIOD,
+ ui::DomCode::PERIOD,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '.'},
+ {ui::VKEY_OEM_PERIOD,
+ ui::DomCode::PERIOD,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '.'}},
// Search+Backspace -> Delete
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_BACK, ui::EF_COMMAND_DOWN},
- {ui::VKEY_DELETE, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_BACK,
+ ui::DomCode::BACKSPACE,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::BACKSPACE,
+ 0},
+ {ui::VKEY_DELETE, ui::DomCode::DEL, ui::EF_NONE, ui::DomKey::DEL, 0}},
// Search+Up -> Prior
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_UP, ui::EF_COMMAND_DOWN},
- {ui::VKEY_PRIOR, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_UP,
+ ui::DomCode::ARROW_UP,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::ARROW_UP,
+ 0},
+ {ui::VKEY_PRIOR,
+ ui::DomCode::PAGE_UP,
+ ui::EF_NONE,
+ ui::DomKey::PAGE_UP,
+ 0}},
// Search+Down -> Next
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_DOWN, ui::EF_COMMAND_DOWN},
- {ui::VKEY_NEXT, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_DOWN,
+ ui::DomCode::ARROW_DOWN,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::ARROW_DOWN,
+ 0},
+ {ui::VKEY_NEXT,
+ ui::DomCode::PAGE_DOWN,
+ ui::EF_NONE,
+ ui::DomKey::PAGE_DOWN,
+ 0}},
// Search+Left -> Home
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LEFT, ui::EF_COMMAND_DOWN},
- {ui::VKEY_HOME, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LEFT,
+ ui::DomCode::ARROW_LEFT,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::ARROW_LEFT,
+ 0},
+ {ui::VKEY_HOME, ui::DomCode::HOME, ui::EF_NONE, ui::DomKey::HOME, 0}},
// Control+Search+Left -> Home
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_LEFT, ui::EF_COMMAND_DOWN | ui::EF_CONTROL_DOWN},
- {ui::VKEY_HOME, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_LEFT,
+ ui::DomCode::ARROW_LEFT,
+ ui::EF_COMMAND_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::ARROW_LEFT,
+ 0},
+ {ui::VKEY_HOME,
+ ui::DomCode::HOME,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::HOME,
+ 0}},
// Search+Right -> End
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_RIGHT, ui::EF_COMMAND_DOWN},
- {ui::VKEY_END, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_RIGHT,
+ ui::DomCode::ARROW_RIGHT,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::ARROW_RIGHT,
+ 0},
+ {ui::VKEY_END, ui::DomCode::END, ui::EF_NONE, ui::DomKey::END, 0}},
// Control+Search+Right -> End
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_RIGHT, ui::EF_COMMAND_DOWN | ui::EF_CONTROL_DOWN},
- {ui::VKEY_END, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_RIGHT,
+ ui::DomCode::ARROW_RIGHT,
+ ui::EF_COMMAND_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::ARROW_RIGHT,
+ 0},
+ {ui::VKEY_END,
+ ui::DomCode::END,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::END,
+ 0}},
// Search+Period -> Insert
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_OEM_PERIOD, ui::EF_COMMAND_DOWN},
- {ui::VKEY_INSERT, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_OEM_PERIOD,
+ ui::DomCode::PERIOD,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '.'},
+ {ui::VKEY_INSERT,
+ ui::DomCode::INSERT,
+ ui::EF_NONE,
+ ui::DomKey::INSERT,
+ 0}},
// Control+Search+Period -> Control+Insert
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_OEM_PERIOD, ui::EF_COMMAND_DOWN | ui::EF_CONTROL_DOWN},
- {ui::VKEY_INSERT, ui::EF_CONTROL_DOWN}}};
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_OEM_PERIOD,
+ ui::DomCode::PERIOD,
+ ui::EF_COMMAND_DOWN | ui::EF_CONTROL_DOWN,
+ ui::DomKey::CHARACTER,
+ '.'},
+ {ui::VKEY_INSERT,
+ ui::DomCode::INSERT,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::INSERT,
+ 0}}};
for (size_t i = 0; i < arraysize(tests); ++i) {
SCOPED_TRACE(i);
@@ -1348,319 +2205,614 @@ TEST_F(EventRewriterTest, TestRewriteFunctionKeys) {
rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard");
rewriter.set_pref_service_for_testing(&prefs);
- FunctionKeyTestCase tests[] = {
+ KeyTestCase tests[] = {
// F1 -> Back
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F1, ui::EF_NONE},
- {ui::VKEY_BROWSER_BACK, ui::EF_NONE},
- {ui::VKEY_BROWSER_BACK, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F1, ui::EF_CONTROL_DOWN},
- {ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN},
- {ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F1, ui::EF_ALT_DOWN},
- {ui::VKEY_BROWSER_BACK, ui::EF_ALT_DOWN},
- {ui::VKEY_BROWSER_BACK, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F1, ui::DomCode::F1, ui::EF_NONE, ui::DomKey::F1, 0},
+ {ui::VKEY_BROWSER_BACK,
+ ui::DomCode::BROWSER_BACK,
+ ui::EF_NONE,
+ ui::DomKey::BROWSER_BACK,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F1, ui::DomCode::F1, ui::EF_CONTROL_DOWN, ui::DomKey::F1, 0},
+ {ui::VKEY_BROWSER_BACK,
+ ui::DomCode::BROWSER_BACK,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::BROWSER_BACK,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F1, ui::DomCode::F1, ui::EF_ALT_DOWN, ui::DomKey::F1, 0},
+ {ui::VKEY_BROWSER_BACK,
+ ui::DomCode::BROWSER_BACK,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::BROWSER_BACK,
+ 0}},
// F2 -> Forward
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F2, ui::EF_NONE},
- {ui::VKEY_BROWSER_FORWARD, ui::EF_NONE},
- {ui::VKEY_BROWSER_FORWARD, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F2, ui::EF_CONTROL_DOWN},
- {ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN},
- {ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F2, ui::EF_ALT_DOWN},
- {ui::VKEY_BROWSER_FORWARD, ui::EF_ALT_DOWN},
- {ui::VKEY_BROWSER_FORWARD, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F2, ui::DomCode::F2, ui::EF_NONE, ui::DomKey::F2, 0},
+ {ui::VKEY_BROWSER_FORWARD,
+ ui::DomCode::BROWSER_FORWARD,
+ ui::EF_NONE,
+ ui::DomKey::BROWSER_FORWARD,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F2, ui::DomCode::F2, ui::EF_CONTROL_DOWN, ui::DomKey::F2, 0},
+ {ui::VKEY_BROWSER_FORWARD,
+ ui::DomCode::BROWSER_FORWARD,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::BROWSER_FORWARD,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F2, ui::DomCode::F2, ui::EF_ALT_DOWN, ui::DomKey::F2, 0},
+ {ui::VKEY_BROWSER_FORWARD,
+ ui::DomCode::BROWSER_FORWARD,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::BROWSER_FORWARD,
+ 0}},
// F3 -> Refresh
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F3, ui::EF_NONE},
- {ui::VKEY_BROWSER_REFRESH, ui::EF_NONE},
- {ui::VKEY_BROWSER_REFRESH, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F3, ui::EF_CONTROL_DOWN},
- {ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN},
- {ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F3, ui::EF_ALT_DOWN},
- {ui::VKEY_BROWSER_REFRESH, ui::EF_ALT_DOWN},
- {ui::VKEY_BROWSER_REFRESH, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F3, ui::DomCode::F3, ui::EF_NONE, ui::DomKey::F3, 0},
+ {ui::VKEY_BROWSER_REFRESH,
+ ui::DomCode::BROWSER_REFRESH,
+ ui::EF_NONE,
+ ui::DomKey::BROWSER_REFRESH,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F3, ui::DomCode::F3, ui::EF_CONTROL_DOWN, ui::DomKey::F3, 0},
+ {ui::VKEY_BROWSER_REFRESH,
+ ui::DomCode::BROWSER_REFRESH,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::BROWSER_REFRESH,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F3, ui::DomCode::F3, ui::EF_ALT_DOWN, ui::DomKey::F3, 0},
+ {ui::VKEY_BROWSER_REFRESH,
+ ui::DomCode::BROWSER_REFRESH,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::BROWSER_REFRESH,
+ 0}},
// F4 -> Launch App 2
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F4, ui::EF_NONE},
- {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE},
- {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F4, ui::EF_CONTROL_DOWN},
- {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_CONTROL_DOWN},
- {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F4, ui::EF_ALT_DOWN},
- {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_ALT_DOWN},
- {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F4, ui::DomCode::F4, ui::EF_NONE, ui::DomKey::F4, 0},
+ {ui::VKEY_MEDIA_LAUNCH_APP2,
+ ui::DomCode::ZOOM_TOGGLE,
+ ui::EF_NONE,
+ ui::DomKey::ZOOM_TOGGLE,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F4, ui::DomCode::F4, ui::EF_CONTROL_DOWN, ui::DomKey::F4, 0},
+ {ui::VKEY_MEDIA_LAUNCH_APP2,
+ ui::DomCode::ZOOM_TOGGLE,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::ZOOM_TOGGLE,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F4, ui::DomCode::F4, ui::EF_ALT_DOWN, ui::DomKey::F4, 0},
+ {ui::VKEY_MEDIA_LAUNCH_APP2,
+ ui::DomCode::ZOOM_TOGGLE,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::ZOOM_TOGGLE,
+ 0}},
// F5 -> Launch App 1
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F5, ui::EF_NONE},
- {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE},
- {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F5, ui::EF_CONTROL_DOWN},
- {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN},
- {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F5, ui::EF_ALT_DOWN},
- {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_ALT_DOWN},
- {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F5, ui::DomCode::F5, ui::EF_NONE, ui::DomKey::F5, 0},
+ {ui::VKEY_MEDIA_LAUNCH_APP1,
+ ui::DomCode::SELECT_TASK,
+ ui::EF_NONE,
+ ui::DomKey::LAUNCH_MY_COMPUTER,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F5, ui::DomCode::F5, ui::EF_CONTROL_DOWN, ui::DomKey::F5, 0},
+ {ui::VKEY_MEDIA_LAUNCH_APP1,
+ ui::DomCode::SELECT_TASK,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::LAUNCH_MY_COMPUTER,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F5, ui::DomCode::F5, ui::EF_ALT_DOWN, ui::DomKey::F5, 0},
+ {ui::VKEY_MEDIA_LAUNCH_APP1,
+ ui::DomCode::SELECT_TASK,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::LAUNCH_MY_COMPUTER,
+ 0}},
// F6 -> Brightness down
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F6, ui::EF_NONE},
- {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE},
- {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F6, ui::EF_CONTROL_DOWN},
- {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN},
- {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F6, ui::EF_ALT_DOWN},
- {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_ALT_DOWN},
- {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F6, ui::DomCode::F6, ui::EF_NONE, ui::DomKey::F6, 0},
+ {ui::VKEY_BRIGHTNESS_DOWN,
+ ui::DomCode::BRIGHTNESS_DOWN,
+ ui::EF_NONE,
+ ui::DomKey::BRIGHTNESS_DOWN,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F6, ui::DomCode::F6, ui::EF_CONTROL_DOWN, ui::DomKey::F6, 0},
+ {ui::VKEY_BRIGHTNESS_DOWN,
+ ui::DomCode::BRIGHTNESS_DOWN,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::BRIGHTNESS_DOWN,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F6, ui::DomCode::F6, ui::EF_ALT_DOWN, ui::DomKey::F6, 0},
+ {ui::VKEY_BRIGHTNESS_DOWN,
+ ui::DomCode::BRIGHTNESS_DOWN,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::BRIGHTNESS_DOWN,
+ 0}},
// F7 -> Brightness up
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F7, ui::EF_NONE},
- {ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE},
- {ui::VKEY_BRIGHTNESS_UP, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F7, ui::EF_CONTROL_DOWN},
- {ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN},
- {ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F7, ui::EF_ALT_DOWN},
- {ui::VKEY_BRIGHTNESS_UP, ui::EF_ALT_DOWN},
- {ui::VKEY_BRIGHTNESS_UP, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F7, ui::DomCode::F7, ui::EF_NONE, ui::DomKey::F7, 0},
+ {ui::VKEY_BRIGHTNESS_UP,
+ ui::DomCode::BRIGHTNESS_UP,
+ ui::EF_NONE,
+ ui::DomKey::BRIGHTNESS_UP,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F7, ui::DomCode::F7, ui::EF_CONTROL_DOWN, ui::DomKey::F7, 0},
+ {ui::VKEY_BRIGHTNESS_UP,
+ ui::DomCode::BRIGHTNESS_UP,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::BRIGHTNESS_UP,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F7, ui::DomCode::F7, ui::EF_ALT_DOWN, ui::DomKey::F7, 0},
+ {ui::VKEY_BRIGHTNESS_UP,
+ ui::DomCode::BRIGHTNESS_UP,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::BRIGHTNESS_UP,
+ 0}},
// F8 -> Volume Mute
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F8, ui::EF_NONE},
- {ui::VKEY_VOLUME_MUTE, ui::EF_NONE},
- {ui::VKEY_VOLUME_MUTE, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F8, ui::EF_CONTROL_DOWN},
- {ui::VKEY_VOLUME_MUTE, ui::EF_CONTROL_DOWN},
- {ui::VKEY_VOLUME_MUTE, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F8, ui::EF_ALT_DOWN},
- {ui::VKEY_VOLUME_MUTE, ui::EF_ALT_DOWN},
- {ui::VKEY_VOLUME_MUTE, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F8, ui::DomCode::F8, ui::EF_NONE, ui::DomKey::F8, 0},
+ {ui::VKEY_VOLUME_MUTE,
+ ui::DomCode::VOLUME_MUTE,
+ ui::EF_NONE,
+ ui::DomKey::VOLUME_MUTE,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F8, ui::DomCode::F8, ui::EF_CONTROL_DOWN, ui::DomKey::F8, 0},
+ {ui::VKEY_VOLUME_MUTE,
+ ui::DomCode::VOLUME_MUTE,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::VOLUME_MUTE,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F8, ui::DomCode::F8, ui::EF_ALT_DOWN, ui::DomKey::F8, 0},
+ {ui::VKEY_VOLUME_MUTE,
+ ui::DomCode::VOLUME_MUTE,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::VOLUME_MUTE,
+ 0}},
// F9 -> Volume Down
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F9, ui::EF_NONE},
- {ui::VKEY_VOLUME_DOWN, ui::EF_NONE},
- {ui::VKEY_VOLUME_DOWN, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F9, ui::EF_CONTROL_DOWN},
- {ui::VKEY_VOLUME_DOWN, ui::EF_CONTROL_DOWN},
- {ui::VKEY_VOLUME_DOWN, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F9, ui::EF_ALT_DOWN},
- {ui::VKEY_VOLUME_DOWN, ui::EF_ALT_DOWN},
- {ui::VKEY_VOLUME_DOWN, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F9, ui::DomCode::F9, ui::EF_NONE, ui::DomKey::F9, 0},
+ {ui::VKEY_VOLUME_DOWN,
+ ui::DomCode::VOLUME_DOWN,
+ ui::EF_NONE,
+ ui::DomKey::VOLUME_DOWN,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F9, ui::DomCode::F9, ui::EF_CONTROL_DOWN, ui::DomKey::F9, 0},
+ {ui::VKEY_VOLUME_DOWN,
+ ui::DomCode::VOLUME_DOWN,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::VOLUME_DOWN,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F9, ui::DomCode::F9, ui::EF_ALT_DOWN, ui::DomKey::F9, 0},
+ {ui::VKEY_VOLUME_DOWN,
+ ui::DomCode::VOLUME_DOWN,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::VOLUME_DOWN,
+ 0}},
// F10 -> Volume Up
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F10, ui::EF_NONE},
- {ui::VKEY_VOLUME_UP, ui::EF_NONE},
- {ui::VKEY_VOLUME_UP, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F10, ui::EF_CONTROL_DOWN},
- {ui::VKEY_VOLUME_UP, ui::EF_CONTROL_DOWN},
- {ui::VKEY_VOLUME_UP, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F10, ui::EF_ALT_DOWN},
- {ui::VKEY_VOLUME_UP, ui::EF_ALT_DOWN},
- {ui::VKEY_VOLUME_UP, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F10, ui::DomCode::F10, ui::EF_NONE, ui::DomKey::F10, 0},
+ {ui::VKEY_VOLUME_UP,
+ ui::DomCode::VOLUME_UP,
+ ui::EF_NONE,
+ ui::DomKey::VOLUME_UP,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F10,
+ ui::DomCode::F10,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::F10,
+ 0},
+ {ui::VKEY_VOLUME_UP,
+ ui::DomCode::VOLUME_UP,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::VOLUME_UP,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F10, ui::DomCode::F10, ui::EF_ALT_DOWN, ui::DomKey::F10, 0},
+ {ui::VKEY_VOLUME_UP,
+ ui::DomCode::VOLUME_UP,
+ ui::EF_ALT_DOWN,
+ ui::DomKey::VOLUME_UP,
+ 0}},
// F11 -> F11
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F11, ui::EF_NONE},
- {ui::VKEY_F11, ui::EF_NONE},
- {ui::VKEY_F11, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F11, ui::EF_CONTROL_DOWN},
- {ui::VKEY_F11, ui::EF_CONTROL_DOWN},
- {ui::VKEY_F11, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F11, ui::EF_ALT_DOWN},
- {ui::VKEY_F11, ui::EF_ALT_DOWN},
- {ui::VKEY_F11, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F11, ui::DomCode::F11, ui::EF_NONE, ui::DomKey::F11, 0},
+ {ui::VKEY_F11, ui::DomCode::F11, ui::EF_NONE, ui::DomKey::F11, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F11,
+ ui::DomCode::F11,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::F11,
+ 0},
+ {ui::VKEY_F11,
+ ui::DomCode::F11,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::F11,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F11, ui::DomCode::F11, ui::EF_ALT_DOWN, ui::DomKey::F11, 0},
+ {ui::VKEY_F11, ui::DomCode::F11, ui::EF_ALT_DOWN, ui::DomKey::F11, 0}},
// F12 -> F12
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F12, ui::EF_NONE},
- {ui::VKEY_F12, ui::EF_NONE},
- {ui::VKEY_F12, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F12, ui::EF_CONTROL_DOWN},
- {ui::VKEY_F12, ui::EF_CONTROL_DOWN},
- {ui::VKEY_F12, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F12, ui::EF_ALT_DOWN},
- {ui::VKEY_F12, ui::EF_ALT_DOWN},
- {ui::VKEY_F12, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F12, ui::DomCode::F12, ui::EF_NONE, ui::DomKey::F12, 0},
+ {ui::VKEY_F12, ui::DomCode::F12, ui::EF_NONE, ui::DomKey::F12, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F12,
+ ui::DomCode::F12,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::F12,
+ 0},
+ {ui::VKEY_F12,
+ ui::DomCode::F12,
+ ui::EF_CONTROL_DOWN,
+ ui::DomKey::F12,
+ 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F12, ui::DomCode::F12, ui::EF_ALT_DOWN, ui::DomKey::F12, 0},
+ {ui::VKEY_F12, ui::DomCode::F12, ui::EF_ALT_DOWN, ui::DomKey::F12, 0}},
// The number row should not be rewritten without Search key.
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_1, ui::EF_NONE},
- {ui::VKEY_1, ui::EF_NONE},
- {ui::VKEY_1, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_2, ui::EF_NONE},
- {ui::VKEY_2, ui::EF_NONE},
- {ui::VKEY_2, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_3, ui::EF_NONE},
- {ui::VKEY_3, ui::EF_NONE},
- {ui::VKEY_3, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_4, ui::EF_NONE},
- {ui::VKEY_4, ui::EF_NONE},
- {ui::VKEY_4, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_5, ui::EF_NONE},
- {ui::VKEY_5, ui::EF_NONE},
- {ui::VKEY_5, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_6, ui::EF_NONE},
- {ui::VKEY_6, ui::EF_NONE},
- {ui::VKEY_6, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_7, ui::EF_NONE},
- {ui::VKEY_7, ui::EF_NONE},
- {ui::VKEY_7, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_8, ui::EF_NONE},
- {ui::VKEY_8, ui::EF_NONE},
- {ui::VKEY_8, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_9, ui::EF_NONE},
- {ui::VKEY_9, ui::EF_NONE},
- {ui::VKEY_9, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_0, ui::EF_NONE},
- {ui::VKEY_0, ui::EF_NONE},
- {ui::VKEY_0, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_OEM_MINUS, ui::EF_NONE},
- {ui::VKEY_OEM_MINUS, ui::EF_NONE},
- {ui::VKEY_OEM_MINUS, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_OEM_PLUS, ui::EF_NONE},
- {ui::VKEY_OEM_PLUS, ui::EF_NONE},
- {ui::VKEY_OEM_PLUS, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_1,
+ ui::DomCode::DIGIT1,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '1'},
+ {ui::VKEY_1,
+ ui::DomCode::DIGIT1,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '1'}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_2,
+ ui::DomCode::DIGIT2,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '2'},
+ {ui::VKEY_2,
+ ui::DomCode::DIGIT2,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '2'}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_3,
+ ui::DomCode::DIGIT3,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '3'},
+ {ui::VKEY_3,
+ ui::DomCode::DIGIT3,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '3'}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_4,
+ ui::DomCode::DIGIT4,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '4'},
+ {ui::VKEY_4,
+ ui::DomCode::DIGIT4,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '4'}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_5,
+ ui::DomCode::DIGIT5,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '5'},
+ {ui::VKEY_5,
+ ui::DomCode::DIGIT5,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '5'}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_6,
+ ui::DomCode::DIGIT6,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '6'},
+ {ui::VKEY_6,
+ ui::DomCode::DIGIT6,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '6'}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_7,
+ ui::DomCode::DIGIT7,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '7'},
+ {ui::VKEY_7,
+ ui::DomCode::DIGIT7,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '7'}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_8,
+ ui::DomCode::DIGIT8,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '8'},
+ {ui::VKEY_8,
+ ui::DomCode::DIGIT8,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '8'}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_9,
+ ui::DomCode::DIGIT9,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '9'},
+ {ui::VKEY_9,
+ ui::DomCode::DIGIT9,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '9'}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_0,
+ ui::DomCode::DIGIT0,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '0'},
+ {ui::VKEY_0,
+ ui::DomCode::DIGIT0,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '0'}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_OEM_MINUS,
+ ui::DomCode::MINUS,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '-'},
+ {ui::VKEY_OEM_MINUS,
+ ui::DomCode::MINUS,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '-'}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_OEM_PLUS,
+ ui::DomCode::EQUAL,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '='},
+ {ui::VKEY_OEM_PLUS,
+ ui::DomCode::EQUAL,
+ ui::EF_NONE,
+ ui::DomKey::CHARACTER,
+ '='}},
// The number row should be rewritten as the F<number> row with Search
// key.
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_1, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F1, ui::EF_NONE},
- {ui::VKEY_F1, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_2, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F2, ui::EF_NONE},
- {ui::VKEY_F2, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_3, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F3, ui::EF_NONE},
- {ui::VKEY_F3, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_4, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F4, ui::EF_NONE},
- {ui::VKEY_F4, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_5, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F5, ui::EF_NONE},
- {ui::VKEY_F5, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_6, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F6, ui::EF_NONE},
- {ui::VKEY_F6, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_7, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F7, ui::EF_NONE},
- {ui::VKEY_F7, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_8, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F8, ui::EF_NONE},
- {ui::VKEY_F8, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_9, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F9, ui::EF_NONE},
- {ui::VKEY_F9, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_0, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F10, ui::EF_NONE},
- {ui::VKEY_F10, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_OEM_MINUS, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F11, ui::EF_NONE},
- {ui::VKEY_F11, ui::EF_NONE}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_OEM_PLUS, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F12, ui::EF_NONE},
- {ui::VKEY_F12, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_1,
+ ui::DomCode::DIGIT1,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '1'},
+ {ui::VKEY_F1, ui::DomCode::F1, ui::EF_NONE, ui::DomKey::F1, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_2,
+ ui::DomCode::DIGIT2,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '2'},
+ {ui::VKEY_F2, ui::DomCode::F2, ui::EF_NONE, ui::DomKey::F2, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_3,
+ ui::DomCode::DIGIT3,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '3'},
+ {ui::VKEY_F3, ui::DomCode::F3, ui::EF_NONE, ui::DomKey::F3, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_4,
+ ui::DomCode::DIGIT4,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '4'},
+ {ui::VKEY_F4, ui::DomCode::F4, ui::EF_NONE, ui::DomKey::F4, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_5,
+ ui::DomCode::DIGIT5,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '5'},
+ {ui::VKEY_F5, ui::DomCode::F5, ui::EF_NONE, ui::DomKey::F5, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_6,
+ ui::DomCode::DIGIT6,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '6'},
+ {ui::VKEY_F6, ui::DomCode::F6, ui::EF_NONE, ui::DomKey::F6, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_7,
+ ui::DomCode::DIGIT7,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '7'},
+ {ui::VKEY_F7, ui::DomCode::F7, ui::EF_NONE, ui::DomKey::F7, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_8,
+ ui::DomCode::DIGIT8,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '8'},
+ {ui::VKEY_F8, ui::DomCode::F8, ui::EF_NONE, ui::DomKey::F8, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_9,
+ ui::DomCode::DIGIT9,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '9'},
+ {ui::VKEY_F9, ui::DomCode::F9, ui::EF_NONE, ui::DomKey::F9, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_0,
+ ui::DomCode::DIGIT0,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '0'},
+ {ui::VKEY_F10, ui::DomCode::F10, ui::EF_NONE, ui::DomKey::F10, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_OEM_MINUS,
+ ui::DomCode::MINUS,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '-'},
+ {ui::VKEY_F11, ui::DomCode::F11, ui::EF_NONE, ui::DomKey::F11, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_OEM_PLUS,
+ ui::DomCode::EQUAL,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::CHARACTER,
+ '='},
+ {ui::VKEY_F12, ui::DomCode::F12, ui::EF_NONE, ui::DomKey::F12, 0}},
// The function keys should not be rewritten with Search key pressed.
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F1, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F1, ui::EF_NONE},
- {ui::VKEY_F1, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F2, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F2, ui::EF_NONE},
- {ui::VKEY_F2, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F3, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F3, ui::EF_NONE},
- {ui::VKEY_F3, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F4, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F4, ui::EF_NONE},
- {ui::VKEY_F4, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F5, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F5, ui::EF_NONE},
- {ui::VKEY_F5, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F6, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F6, ui::EF_NONE},
- {ui::VKEY_F6, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F7, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F7, ui::EF_NONE},
- {ui::VKEY_F7, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F8, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F8, ui::EF_NONE},
- {ui::VKEY_F8, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F9, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F9, ui::EF_NONE},
- {ui::VKEY_F9, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F10, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F10, ui::EF_NONE},
- {ui::VKEY_F10, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F11, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F11, ui::EF_NONE},
- {ui::VKEY_F11, ui::EF_FUNCTION_KEY}},
- {ui::ET_KEY_PRESSED,
- {ui::VKEY_F12, ui::EF_COMMAND_DOWN},
- {ui::VKEY_F12, ui::EF_NONE},
- {ui::VKEY_F12, ui::EF_FUNCTION_KEY}},
- };
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F1, ui::DomCode::F1, ui::EF_COMMAND_DOWN, ui::DomKey::F1, 0},
+ {ui::VKEY_F1, ui::DomCode::F1, ui::EF_NONE, ui::DomKey::F1, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F2, ui::DomCode::F2, ui::EF_COMMAND_DOWN, ui::DomKey::F2, 0},
+ {ui::VKEY_F2, ui::DomCode::F2, ui::EF_NONE, ui::DomKey::F2, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F3, ui::DomCode::F3, ui::EF_COMMAND_DOWN, ui::DomKey::F3, 0},
+ {ui::VKEY_F3, ui::DomCode::F3, ui::EF_NONE, ui::DomKey::F3, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F4, ui::DomCode::F4, ui::EF_COMMAND_DOWN, ui::DomKey::F4, 0},
+ {ui::VKEY_F4, ui::DomCode::F4, ui::EF_NONE, ui::DomKey::F4, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F5, ui::DomCode::F5, ui::EF_COMMAND_DOWN, ui::DomKey::F5, 0},
+ {ui::VKEY_F5, ui::DomCode::F5, ui::EF_NONE, ui::DomKey::F5, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F6, ui::DomCode::F6, ui::EF_COMMAND_DOWN, ui::DomKey::F6, 0},
+ {ui::VKEY_F6, ui::DomCode::F6, ui::EF_NONE, ui::DomKey::F6, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F7, ui::DomCode::F7, ui::EF_COMMAND_DOWN, ui::DomKey::F7, 0},
+ {ui::VKEY_F7, ui::DomCode::F7, ui::EF_NONE, ui::DomKey::F7, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F8, ui::DomCode::F8, ui::EF_COMMAND_DOWN, ui::DomKey::F8, 0},
+ {ui::VKEY_F8, ui::DomCode::F8, ui::EF_NONE, ui::DomKey::F8, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F9, ui::DomCode::F9, ui::EF_COMMAND_DOWN, ui::DomKey::F9, 0},
+ {ui::VKEY_F9, ui::DomCode::F9, ui::EF_NONE, ui::DomKey::F9, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F10,
+ ui::DomCode::F10,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::F10,
+ 0},
+ {ui::VKEY_F10, ui::DomCode::F10, ui::EF_NONE, ui::DomKey::F10, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F11,
+ ui::DomCode::F11,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::F11,
+ 0},
+ {ui::VKEY_F11, ui::DomCode::F11, ui::EF_NONE, ui::DomKey::F11, 0}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_F12,
+ ui::DomCode::F12,
+ ui::EF_COMMAND_DOWN,
+ ui::DomKey::F12,
+ 0},
+ {ui::VKEY_F12, ui::DomCode::F12, ui::EF_NONE, ui::DomKey::F12, 0}}};
for (size_t i = 0; i < arraysize(tests); ++i) {
SCOPED_TRACE(i);
- CheckFunctionKeyTestCase(&rewriter, tests[i]);
+ CheckKeyTestCase(&rewriter, tests[i]);
}
}
@@ -1683,15 +2835,24 @@ TEST_F(EventRewriterTest, TestRewriteExtendedKeysWithSearchRemapped) {
KeyTestCase tests[] = {
// Alt+Search+Down -> End
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
- {ui::VKEY_DOWN, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN},
- {ui::VKEY_END, ui::EF_NONE}},
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
+ {ui::VKEY_DOWN,
+ ui::DomCode::ARROW_DOWN,
+ ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::ARROW_DOWN,
+ 0},
+ {ui::VKEY_END, ui::DomCode::END, ui::EF_NONE, ui::DomKey::END, 0}},
// Shift+Alt+Search+Down -> Shift+End
- {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED,
+ {KeyTestCase::TEST_ALL,
+ ui::ET_KEY_PRESSED,
{ui::VKEY_DOWN,
- ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN},
- {ui::VKEY_END, ui::EF_SHIFT_DOWN}},
+ ui::DomCode::ARROW_DOWN,
+ ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
+ ui::DomKey::ARROW_DOWN,
+ 0},
+ {ui::VKEY_END, ui::DomCode::END, ui::EF_SHIFT_DOWN, ui::DomKey::END, 0}},
};
for (size_t i = 0; i < arraysize(tests); ++i) {
@@ -1716,8 +2877,9 @@ TEST_F(EventRewriterTest, TestRewriteKeyEventSentByXSendEvent) {
// Send left control press.
{
- ui::KeyEvent keyevent(
- ui::ET_KEY_PRESSED, ui::VKEY_CONTROL, ui::EF_FINAL);
+ ui::KeyEvent keyevent(ui::ET_KEY_PRESSED, ui::VKEY_CONTROL,
+ ui::DomCode::CONTROL_LEFT, ui::EF_FINAL,
+ ui::DomKey::CONTROL, 0, ui::EventTimeForNow());
scoped_ptr<ui::Event> new_event;
// Control should NOT be remapped to Alt if EF_FINAL is set.
EXPECT_EQ(ui::EVENT_REWRITE_CONTINUE,
@@ -1757,8 +2919,8 @@ TEST_F(EventRewriterTest, TestRewriteNonNativeEvent) {
const int kTouchId = 2;
gfx::Point location(0, 0);
- ui::TouchEvent press(
- ui::ET_TOUCH_PRESSED, location, kTouchId, base::TimeDelta());
+ ui::TouchEvent press(ui::ET_TOUCH_PRESSED, location, kTouchId,
+ base::TimeDelta());
press.set_flags(ui::EF_CONTROL_DOWN);
#if defined(USE_X11)
ui::UpdateX11EventForFlags(&press);
@@ -1835,23 +2997,29 @@ class EventRewriterAshTest : public ash::test::AshTestBase {
return source_.Send(event);
}
- void SendKeyEvent(ui::EventType type, ui::KeyboardCode key_code) {
- ui::KeyEvent press(type, key_code, ui::EF_NONE);
+ void SendKeyEvent(ui::EventType type,
+ ui::KeyboardCode key_code,
+ ui::DomCode code,
+ ui::DomKey key,
+ base::char16 character) {
+ ui::KeyEvent press(type, key_code, code, ui::EF_NONE, key, character,
+ ui::EventTimeForNow());
ui::EventDispatchDetails details = Send(&press);
CHECK(!details.dispatcher_destroyed);
}
- void SendActivateStickyKeyPattern(ui::KeyboardCode key_code) {
- SendKeyEvent(ui::ET_KEY_PRESSED, key_code);
- SendKeyEvent(ui::ET_KEY_RELEASED, key_code);
+ void SendActivateStickyKeyPattern(ui::KeyboardCode key_code,
+ ui::DomCode code,
+ ui::DomKey key,
+ base::char16 character) {
+ SendKeyEvent(ui::ET_KEY_PRESSED, key_code, code, key, character);
+ SendKeyEvent(ui::ET_KEY_RELEASED, key_code, code, key, character);
}
protected:
TestingPrefServiceSyncable* prefs() { return &prefs_; }
- void PopEvents(ScopedVector<ui::Event>* events) {
- buffer_.PopEvents(events);
- }
+ void PopEvents(ScopedVector<ui::Event>* events) { buffer_.PopEvents(events); }
void SetUp() override {
AshTestBase::SetUp();
@@ -1895,7 +3063,8 @@ TEST_F(EventRewriterAshTest, TopRowKeysAreFunctionKeys) {
ScopedVector<ui::Event> events;
// Create a simulated keypress of F1 targetted at the window.
- ui::KeyEvent press_f1(ui::ET_KEY_PRESSED, ui::VKEY_F1, ui::EF_NONE);
+ ui::KeyEvent press_f1(ui::ET_KEY_PRESSED, ui::VKEY_F1, ui::DomCode::F1,
+ ui::EF_NONE, ui::DomKey::F1, 0, ui::EventTimeForNow());
// Simulate an apps v2 window that has requested top row keys as function
// keys. The event should not be rewritten.
@@ -1904,9 +3073,10 @@ TEST_F(EventRewriterAshTest, TopRowKeysAreFunctionKeys) {
ASSERT_FALSE(details.dispatcher_destroyed);
PopEvents(&events);
EXPECT_EQ(1u, events.size());
- EXPECT_EQ(
- GetExpectedResultAsString(ui::VKEY_F1, ui::EF_NONE, ui::ET_KEY_PRESSED),
- GetKeyEventAsString(*static_cast<ui::KeyEvent*>(events[0])));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_F1,
+ ui::DomCode::F1, ui::EF_NONE,
+ ui::DomKey::F1, 0),
+ GetKeyEventAsString(*static_cast<ui::KeyEvent*>(events[0])));
// The event should also not be rewritten if the send-function-keys pref is
// additionally set, for both apps v2 and regular windows.
@@ -1918,9 +3088,10 @@ TEST_F(EventRewriterAshTest, TopRowKeysAreFunctionKeys) {
ASSERT_FALSE(details.dispatcher_destroyed);
PopEvents(&events);
EXPECT_EQ(1u, events.size());
- EXPECT_EQ(
- GetExpectedResultAsString(ui::VKEY_F1, ui::EF_NONE, ui::ET_KEY_PRESSED),
- GetKeyEventAsString(*static_cast<ui::KeyEvent*>(events[0])));
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_F1,
+ ui::DomCode::F1, ui::EF_NONE,
+ ui::DomKey::F1, 0),
+ GetKeyEventAsString(*static_cast<ui::KeyEvent*>(events[0])));
// If the pref isn't set when an event is sent to a regular window, F1 is
// rewritten to the back key.
@@ -1929,12 +3100,14 @@ TEST_F(EventRewriterAshTest, TopRowKeysAreFunctionKeys) {
ASSERT_FALSE(details.dispatcher_destroyed);
PopEvents(&events);
EXPECT_EQ(1u, events.size());
- EXPECT_EQ(GetExpectedResultAsString(
- ui::VKEY_BROWSER_BACK, ui::EF_NONE, ui::ET_KEY_PRESSED),
+ EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_BROWSER_BACK,
+ ui::DomCode::BROWSER_BACK, ui::EF_NONE,
+ ui::DomKey::BROWSER_BACK, 0),
GetKeyEventAsString(*static_cast<ui::KeyEvent*>(events[0])));
}
TEST_F(EventRewriterTest, TestRewrittenModifierClick) {
+#if defined(USE_X11)
std::vector<int> device_list;
device_list.push_back(10);
ui::TouchFactory::GetInstance()->SetPointerDeviceForTest(device_list);
@@ -1953,9 +3126,7 @@ TEST_F(EventRewriterTest, TestRewrittenModifierClick) {
// Check that Control + Left Button is converted (via Search + Left Button)
// to Right Button.
ui::ScopedXI2Event xev;
- xev.InitGenericButtonEvent(10,
- ui::ET_MOUSE_PRESSED,
- gfx::Point(),
+ xev.InitGenericButtonEvent(10, ui::ET_MOUSE_PRESSED, gfx::Point(),
ui::EF_LEFT_MOUSE_BUTTON | ui::EF_CONTROL_DOWN);
ui::MouseEvent press(xev);
// Sanity check.
@@ -1969,15 +3140,18 @@ TEST_F(EventRewriterTest, TestRewrittenModifierClick) {
EXPECT_FALSE(ui::EF_CONTROL_DOWN & result->flags());
EXPECT_FALSE(ui::EF_COMMAND_DOWN & result->flags());
EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags());
+#endif
}
TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) {
- // TODO(kpschoedel): pending changes for crbug.com/360377
- // to |chromeos::EventRewriter::RewriteLocatedEvent()
+// TODO(kpschoedel): pending changes for crbug.com/360377
+// to |chromeos::EventRewriter::RewriteLocatedEvent()
+#if defined(USE_X11)
std::vector<int> device_list;
device_list.push_back(10);
device_list.push_back(11);
ui::TouchFactory::GetInstance()->SetPointerDeviceForTest(device_list);
+#endif
TestingPrefServiceSyncable prefs;
EventRewriter rewriter(NULL);
rewriter.set_pref_service_for_testing(&prefs);
@@ -2073,8 +3247,8 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) {
// No SEARCH in first click, using XI2 native events.
{
ui::ScopedXI2Event xev;
- xev.InitGenericButtonEvent(
- 10, ui::ET_MOUSE_PRESSED, gfx::Point(), ui::EF_LEFT_MOUSE_BUTTON);
+ xev.InitGenericButtonEvent(10, ui::ET_MOUSE_PRESSED, gfx::Point(),
+ ui::EF_LEFT_MOUSE_BUTTON);
ui::MouseEvent press(xev);
scoped_ptr<ui::Event> new_event;
const ui::MouseEvent* result =
@@ -2178,7 +3352,8 @@ TEST_F(EventRewriterAshTest, StickyKeyEventDispatchImpl) {
// Test the actual key event dispatch implementation.
ScopedVector<ui::Event> events;
- SendActivateStickyKeyPattern(ui::VKEY_CONTROL);
+ SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
+ ui::DomKey::CONTROL, 0);
PopEvents(&events);
EXPECT_EQ(1u, events.size());
EXPECT_EQ(ui::ET_KEY_PRESSED, events[0]->type());
@@ -2187,7 +3362,9 @@ TEST_F(EventRewriterAshTest, StickyKeyEventDispatchImpl) {
// Test key press event is correctly modified and modifier release
// event is sent.
- ui::KeyEvent press(ui::ET_KEY_PRESSED, ui::VKEY_C, ui::EF_NONE);
+ ui::KeyEvent press(ui::ET_KEY_PRESSED, ui::VKEY_C, ui::DomCode::KEY_C,
+ ui::EF_NONE, ui::DomKey::CHARACTER, 'c',
+ ui::EventTimeForNow());
ui::EventDispatchDetails details = Send(&press);
PopEvents(&events);
EXPECT_EQ(2u, events.size());
@@ -2199,7 +3376,9 @@ TEST_F(EventRewriterAshTest, StickyKeyEventDispatchImpl) {
static_cast<ui::KeyEvent*>(events[1])->key_code());
// Test key release event is not modified.
- ui::KeyEvent release(ui::ET_KEY_RELEASED, ui::VKEY_C, ui::EF_NONE);
+ ui::KeyEvent release(ui::ET_KEY_RELEASED, ui::VKEY_C, ui::DomCode::KEY_C,
+ ui::EF_NONE, ui::DomKey::CHARACTER, 'c',
+ ui::EventTimeForNow());
details = Send(&release);
ASSERT_FALSE(details.dispatcher_destroyed);
PopEvents(&events);
@@ -2212,7 +3391,8 @@ TEST_F(EventRewriterAshTest, StickyKeyEventDispatchImpl) {
TEST_F(EventRewriterAshTest, MouseEventDispatchImpl) {
ScopedVector<ui::Event> events;
- SendActivateStickyKeyPattern(ui::VKEY_CONTROL);
+ SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
+ ui::DomKey::CONTROL, 0);
PopEvents(&events);
// Test mouse press event is correctly modified.
@@ -2248,7 +3428,8 @@ TEST_F(EventRewriterAshTest, MouseWheelEventDispatchImpl) {
// Test positive mouse wheel event is correctly modified and modifier release
// event is sent.
- SendActivateStickyKeyPattern(ui::VKEY_CONTROL);
+ SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
+ ui::DomKey::CONTROL, 0);
PopEvents(&events);
gfx::Point location(0, 0);
ui::MouseEvent mev(ui::ET_MOUSEWHEEL, location, location,
@@ -2267,7 +3448,8 @@ TEST_F(EventRewriterAshTest, MouseWheelEventDispatchImpl) {
// Test negative mouse wheel event is correctly modified and modifier release
// event is sent.
- SendActivateStickyKeyPattern(ui::VKEY_CONTROL);
+ SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
+ ui::DomKey::CONTROL, 0);
PopEvents(&events);
ui::MouseWheelEvent negative(mev, 0, -ui::MouseWheelEvent::kWheelDelta);
details = Send(&negative);
@@ -2302,13 +3484,15 @@ TEST_F(StickyKeysOverlayTest, OneModifierEnabled) {
overlay_->GetModifierKeyState(ui::EF_CONTROL_DOWN));
// Pressing modifier key should show overlay.
- SendActivateStickyKeyPattern(ui::VKEY_CONTROL);
+ SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
+ ui::DomKey::CONTROL, 0);
EXPECT_TRUE(overlay_->is_visible());
EXPECT_EQ(ash::STICKY_KEY_STATE_ENABLED,
overlay_->GetModifierKeyState(ui::EF_CONTROL_DOWN));
// Pressing a normal key should hide overlay.
- SendActivateStickyKeyPattern(ui::VKEY_T);
+ SendActivateStickyKeyPattern(ui::VKEY_T, ui::DomCode::KEY_T,
+ ui::DomKey::CHARACTER, 't');
EXPECT_FALSE(overlay_->is_visible());
EXPECT_EQ(ash::STICKY_KEY_STATE_DISABLED,
overlay_->GetModifierKeyState(ui::EF_CONTROL_DOWN));
@@ -2322,8 +3506,10 @@ TEST_F(StickyKeysOverlayTest, TwoModifiersEnabled) {
overlay_->GetModifierKeyState(ui::EF_SHIFT_DOWN));
// Pressing two modifiers should show overlay.
- SendActivateStickyKeyPattern(ui::VKEY_SHIFT);
- SendActivateStickyKeyPattern(ui::VKEY_CONTROL);
+ SendActivateStickyKeyPattern(ui::VKEY_SHIFT, ui::DomCode::SHIFT_LEFT,
+ ui::DomKey::SHIFT, 0);
+ SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
+ ui::DomKey::CONTROL, 0);
EXPECT_TRUE(overlay_->is_visible());
EXPECT_EQ(ash::STICKY_KEY_STATE_ENABLED,
overlay_->GetModifierKeyState(ui::EF_SHIFT_DOWN));
@@ -2331,7 +3517,8 @@ TEST_F(StickyKeysOverlayTest, TwoModifiersEnabled) {
overlay_->GetModifierKeyState(ui::EF_CONTROL_DOWN));
// Pressing a normal key should hide overlay.
- SendActivateStickyKeyPattern(ui::VKEY_N);
+ SendActivateStickyKeyPattern(ui::VKEY_N, ui::DomCode::KEY_N,
+ ui::DomKey::CHARACTER, 'n');
EXPECT_FALSE(overlay_->is_visible());
EXPECT_EQ(ash::STICKY_KEY_STATE_DISABLED,
overlay_->GetModifierKeyState(ui::EF_CONTROL_DOWN));
@@ -2345,14 +3532,17 @@ TEST_F(StickyKeysOverlayTest, LockedModifier) {
overlay_->GetModifierKeyState(ui::EF_ALT_DOWN));
// Pressing a modifier key twice should lock modifier and show overlay.
- SendActivateStickyKeyPattern(ui::VKEY_LMENU);
- SendActivateStickyKeyPattern(ui::VKEY_LMENU);
+ SendActivateStickyKeyPattern(ui::VKEY_LMENU, ui::DomCode::ALT_LEFT,
+ ui::DomKey::ALT, 0);
+ SendActivateStickyKeyPattern(ui::VKEY_LMENU, ui::DomCode::ALT_LEFT,
+ ui::DomKey::ALT, 0);
EXPECT_TRUE(overlay_->is_visible());
EXPECT_EQ(ash::STICKY_KEY_STATE_LOCKED,
overlay_->GetModifierKeyState(ui::EF_ALT_DOWN));
// Pressing a normal key should not hide overlay.
- SendActivateStickyKeyPattern(ui::VKEY_D);
+ SendActivateStickyKeyPattern(ui::VKEY_D, ui::DomCode::KEY_D,
+ ui::DomKey::CHARACTER, 'd');
EXPECT_TRUE(overlay_->is_visible());
EXPECT_EQ(ash::STICKY_KEY_STATE_LOCKED,
overlay_->GetModifierKeyState(ui::EF_ALT_DOWN));
@@ -2366,14 +3556,17 @@ TEST_F(StickyKeysOverlayTest, LockedAndNormalModifier) {
overlay_->GetModifierKeyState(ui::EF_SHIFT_DOWN));
// Pressing a modifier key twice should lock modifier and show overlay.
- SendActivateStickyKeyPattern(ui::VKEY_CONTROL);
- SendActivateStickyKeyPattern(ui::VKEY_CONTROL);
+ SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
+ ui::DomKey::CONTROL, 0);
+ SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
+ ui::DomKey::CONTROL, 0);
EXPECT_TRUE(overlay_->is_visible());
EXPECT_EQ(ash::STICKY_KEY_STATE_LOCKED,
overlay_->GetModifierKeyState(ui::EF_CONTROL_DOWN));
// Pressing another modifier key should still show overlay.
- SendActivateStickyKeyPattern(ui::VKEY_SHIFT);
+ SendActivateStickyKeyPattern(ui::VKEY_SHIFT, ui::DomCode::SHIFT_LEFT,
+ ui::DomKey::SHIFT, 0);
EXPECT_TRUE(overlay_->is_visible());
EXPECT_EQ(ash::STICKY_KEY_STATE_LOCKED,
overlay_->GetModifierKeyState(ui::EF_CONTROL_DOWN));
@@ -2381,7 +3574,8 @@ TEST_F(StickyKeysOverlayTest, LockedAndNormalModifier) {
overlay_->GetModifierKeyState(ui::EF_SHIFT_DOWN));
// Pressing a normal key should not hide overlay but disable normal modifier.
- SendActivateStickyKeyPattern(ui::VKEY_D);
+ SendActivateStickyKeyPattern(ui::VKEY_D, ui::DomCode::KEY_D,
+ ui::DomKey::CHARACTER, 'd');
EXPECT_TRUE(overlay_->is_visible());
EXPECT_EQ(ash::STICKY_KEY_STATE_LOCKED,
overlay_->GetModifierKeyState(ui::EF_CONTROL_DOWN));
@@ -2401,12 +3595,18 @@ TEST_F(StickyKeysOverlayTest, ModifiersDisabled) {
overlay_->GetModifierKeyState(ui::EF_COMMAND_DOWN));
// Enable modifiers.
- SendActivateStickyKeyPattern(ui::VKEY_CONTROL);
- SendActivateStickyKeyPattern(ui::VKEY_SHIFT);
- SendActivateStickyKeyPattern(ui::VKEY_SHIFT);
- SendActivateStickyKeyPattern(ui::VKEY_LMENU);
- SendActivateStickyKeyPattern(ui::VKEY_COMMAND);
- SendActivateStickyKeyPattern(ui::VKEY_COMMAND);
+ SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
+ ui::DomKey::CONTROL, 0);
+ SendActivateStickyKeyPattern(ui::VKEY_SHIFT, ui::DomCode::SHIFT_LEFT,
+ ui::DomKey::SHIFT, 0);
+ SendActivateStickyKeyPattern(ui::VKEY_SHIFT, ui::DomCode::SHIFT_LEFT,
+ ui::DomKey::SHIFT, 0);
+ SendActivateStickyKeyPattern(ui::VKEY_LMENU, ui::DomCode::ALT_LEFT,
+ ui::DomKey::ALT, 0);
+ SendActivateStickyKeyPattern(ui::VKEY_COMMAND, ui::DomCode::OS_LEFT,
+ ui::DomKey::OS, 0);
+ SendActivateStickyKeyPattern(ui::VKEY_COMMAND, ui::DomCode::OS_LEFT,
+ ui::DomKey::OS, 0);
EXPECT_TRUE(overlay_->is_visible());
EXPECT_EQ(ash::STICKY_KEY_STATE_ENABLED,
@@ -2419,12 +3619,18 @@ TEST_F(StickyKeysOverlayTest, ModifiersDisabled) {
overlay_->GetModifierKeyState(ui::EF_COMMAND_DOWN));
// Disable modifiers and overlay should be hidden.
- SendActivateStickyKeyPattern(ui::VKEY_CONTROL);
- SendActivateStickyKeyPattern(ui::VKEY_CONTROL);
- SendActivateStickyKeyPattern(ui::VKEY_SHIFT);
- SendActivateStickyKeyPattern(ui::VKEY_LMENU);
- SendActivateStickyKeyPattern(ui::VKEY_LMENU);
- SendActivateStickyKeyPattern(ui::VKEY_COMMAND);
+ SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
+ ui::DomKey::CONTROL, 0);
+ SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
+ ui::DomKey::CONTROL, 0);
+ SendActivateStickyKeyPattern(ui::VKEY_SHIFT, ui::DomCode::SHIFT_LEFT,
+ ui::DomKey::SHIFT, 0);
+ SendActivateStickyKeyPattern(ui::VKEY_LMENU, ui::DomCode::ALT_LEFT,
+ ui::DomKey::ALT, 0);
+ SendActivateStickyKeyPattern(ui::VKEY_LMENU, ui::DomCode::ALT_LEFT,
+ ui::DomKey::ALT, 0);
+ SendActivateStickyKeyPattern(ui::VKEY_COMMAND, ui::DomCode::OS_LEFT,
+ ui::DomKey::OS, 0);
EXPECT_FALSE(overlay_->is_visible());
EXPECT_EQ(ash::STICKY_KEY_STATE_DISABLED,
« no previous file with comments | « chrome/browser/chromeos/events/event_rewriter.cc ('k') | content/browser/renderer_host/input/web_input_event_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698