diff options
| -rw-r--r-- | services/inputflinger/tests/KeyboardInputMapper_test.cpp | 221 |
1 files changed, 116 insertions, 105 deletions
diff --git a/services/inputflinger/tests/KeyboardInputMapper_test.cpp b/services/inputflinger/tests/KeyboardInputMapper_test.cpp index 17acdd49cf..10f1d55d7e 100644 --- a/services/inputflinger/tests/KeyboardInputMapper_test.cpp +++ b/services/inputflinger/tests/KeyboardInputMapper_test.cpp @@ -176,16 +176,22 @@ protected: return std::get<NotifyKeyArgs>(args.front()); } + std::list<NotifyArgs> processKeyAndSync(nsecs_t when, int32_t code, int32_t value) { + std::list<NotifyArgs> argsList = process(when, EV_KEY, code, value); + argsList += process(when, EV_SYN, SYN_REPORT, 0); + return argsList; + } + void testDPadKeyRotation(int32_t originalEvdevCode, int32_t originalKeyCode, int32_t rotatedKeyCode, ui::LogicalDisplayId displayId = DISPLAY_ID) { - std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_KEY, originalEvdevCode, 1); + std::list<NotifyArgs> argsList = processKeyAndSync(ARBITRARY_TIME, originalEvdevCode, 1); NotifyKeyArgs args = expectSingleKeyArg(argsList); ASSERT_EQ(AKEY_EVENT_ACTION_DOWN, args.action); ASSERT_EQ(originalEvdevCode, args.scanCode); ASSERT_EQ(rotatedKeyCode, args.keyCode); ASSERT_EQ(displayId, args.displayId); - argsList = process(ARBITRARY_TIME, EV_KEY, originalEvdevCode, 0); + argsList = processKeyAndSync(ARBITRARY_TIME, originalEvdevCode, 0); args = expectSingleKeyArg(argsList); ASSERT_EQ(AKEY_EVENT_ACTION_UP, args.action); ASSERT_EQ(originalEvdevCode, args.scanCode); @@ -205,23 +211,16 @@ TEST_F(KeyboardInputMapperUnitTest, KeyPressTimestampRecorded) { .With(Args<0>(when)) .Times(keyCodes.size()); for (int32_t keyCode : keyCodes) { - process(when, EV_KEY, keyCode, 1); - process(when, EV_SYN, SYN_REPORT, 0); - process(when, EV_KEY, keyCode, 0); - process(when, EV_SYN, SYN_REPORT, 0); + processKeyAndSync(when, keyCode, 1); + processKeyAndSync(when, keyCode, 0); } } TEST_F(KeyboardInputMapperUnitTest, RepeatEventsDiscarded) { std::list<NotifyArgs> args; - args += process(ARBITRARY_TIME, EV_KEY, KEY_0, 1); - args += process(ARBITRARY_TIME, EV_SYN, SYN_REPORT, 0); - - args += process(ARBITRARY_TIME, EV_KEY, KEY_0, 2); - args += process(ARBITRARY_TIME, EV_SYN, SYN_REPORT, 0); - - args += process(ARBITRARY_TIME, EV_KEY, KEY_0, 0); - args += process(ARBITRARY_TIME, EV_SYN, SYN_REPORT, 0); + args += processKeyAndSync(ARBITRARY_TIME, KEY_0, 1); + args += processKeyAndSync(ARBITRARY_TIME, KEY_0, 2); + args += processKeyAndSync(ARBITRARY_TIME, KEY_0, 0); EXPECT_THAT(args, ElementsAre(VariantWith<NotifyKeyArgs>(AllOf(WithKeyAction(AKEY_EVENT_ACTION_DOWN), @@ -241,7 +240,7 @@ TEST_F(KeyboardInputMapperUnitTest, Process_SimpleKeyPress) { ASSERT_EQ(AMETA_NONE, mMapper->getMetaState()); // Key down by evdev code. - std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_KEY, KEY_HOME, 1); + std::list<NotifyArgs> argsList = processKeyAndSync(ARBITRARY_TIME, KEY_HOME, 1); NotifyKeyArgs args = expectSingleKeyArg(argsList); ASSERT_EQ(DEVICE_ID, args.deviceId); ASSERT_EQ(AINPUT_SOURCE_KEYBOARD, args.source); @@ -255,7 +254,7 @@ TEST_F(KeyboardInputMapperUnitTest, Process_SimpleKeyPress) { ASSERT_EQ(ARBITRARY_TIME, args.downTime); // Key up by evdev code. - argsList = process(ARBITRARY_TIME + 1, EV_KEY, KEY_HOME, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 1, KEY_HOME, 0); args = expectSingleKeyArg(argsList); ASSERT_EQ(DEVICE_ID, args.deviceId); ASSERT_EQ(AINPUT_SOURCE_KEYBOARD, args.source); @@ -271,6 +270,7 @@ TEST_F(KeyboardInputMapperUnitTest, Process_SimpleKeyPress) { // Key down by usage code. argsList = process(ARBITRARY_TIME, EV_MSC, MSC_SCAN, USAGE_A); argsList += process(ARBITRARY_TIME, EV_KEY, 0, 1); + argsList += process(ARBITRARY_TIME, EV_SYN, SYN_REPORT, 0); args = expectSingleKeyArg(argsList); ASSERT_EQ(DEVICE_ID, args.deviceId); ASSERT_EQ(AINPUT_SOURCE_KEYBOARD, args.source); @@ -284,8 +284,9 @@ TEST_F(KeyboardInputMapperUnitTest, Process_SimpleKeyPress) { ASSERT_EQ(ARBITRARY_TIME, args.downTime); // Key up by usage code. - argsList = process(ARBITRARY_TIME, EV_MSC, MSC_SCAN, USAGE_A); + argsList = process(ARBITRARY_TIME + 1, EV_MSC, MSC_SCAN, USAGE_A); argsList += process(ARBITRARY_TIME + 1, EV_KEY, 0, 0); + argsList += process(ARBITRARY_TIME + 1, EV_SYN, SYN_REPORT, 0); args = expectSingleKeyArg(argsList); ASSERT_EQ(DEVICE_ID, args.deviceId); ASSERT_EQ(AINPUT_SOURCE_KEYBOARD, args.source); @@ -307,6 +308,7 @@ TEST_F(KeyboardInputMapperUnitTest, Process_UnknownKey) { // Key down with unknown scan code or usage code. std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_MSC, MSC_SCAN, USAGE_UNKNOWN); argsList += process(ARBITRARY_TIME, EV_KEY, KEY_UNKNOWN, 1); + argsList += process(ARBITRARY_TIME, EV_SYN, SYN_REPORT, 0); NotifyKeyArgs args = expectSingleKeyArg(argsList); ASSERT_EQ(DEVICE_ID, args.deviceId); ASSERT_EQ(AINPUT_SOURCE_KEYBOARD, args.source); @@ -320,8 +322,9 @@ TEST_F(KeyboardInputMapperUnitTest, Process_UnknownKey) { ASSERT_EQ(ARBITRARY_TIME, args.downTime); // Key up with unknown scan code or usage code. - argsList = process(ARBITRARY_TIME, EV_MSC, MSC_SCAN, USAGE_UNKNOWN); + argsList = process(ARBITRARY_TIME + 1, EV_MSC, MSC_SCAN, USAGE_UNKNOWN); argsList += process(ARBITRARY_TIME + 1, EV_KEY, KEY_UNKNOWN, 0); + argsList += process(ARBITRARY_TIME + 1, EV_SYN, SYN_REPORT, 0); args = expectSingleKeyArg(argsList); ASSERT_EQ(DEVICE_ID, args.deviceId); ASSERT_EQ(AINPUT_SOURCE_KEYBOARD, args.source); @@ -343,10 +346,12 @@ TEST_F(KeyboardInputMapperUnitTest, Process_SendsReadTime) { // Key down std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, /*readTime=*/12, EV_KEY, KEY_HOME, 1); + argsList += process(ARBITRARY_TIME, /*readTime=*/12, EV_SYN, SYN_REPORT, 0); ASSERT_EQ(12, expectSingleKeyArg(argsList).readTime); // Key up - argsList = process(ARBITRARY_TIME, /*readTime=*/15, EV_KEY, KEY_HOME, 1); + argsList = process(ARBITRARY_TIME, /*readTime=*/15, EV_KEY, KEY_HOME, 0); + argsList += process(ARBITRARY_TIME, /*readTime=*/15, EV_SYN, SYN_REPORT, 0); ASSERT_EQ(15, expectSingleKeyArg(argsList).readTime); } @@ -360,22 +365,22 @@ TEST_F(KeyboardInputMapperUnitTest, Process_ShouldUpdateMetaState) { ASSERT_EQ(AMETA_NONE, mMapper->getMetaState()); // Metakey down. - std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_KEY, KEY_LEFTSHIFT, 1); + std::list<NotifyArgs> argsList = processKeyAndSync(ARBITRARY_TIME, KEY_LEFTSHIFT, 1); ASSERT_EQ(AMETA_SHIFT_LEFT_ON | AMETA_SHIFT_ON, expectSingleKeyArg(argsList).metaState); ASSERT_EQ(AMETA_SHIFT_LEFT_ON | AMETA_SHIFT_ON, mMapper->getMetaState()); // Key down. - argsList = process(ARBITRARY_TIME + 1, EV_KEY, KEY_A, 1); + argsList = processKeyAndSync(ARBITRARY_TIME + 1, KEY_A, 1); ASSERT_EQ(AMETA_SHIFT_LEFT_ON | AMETA_SHIFT_ON, expectSingleKeyArg(argsList).metaState); ASSERT_EQ(AMETA_SHIFT_LEFT_ON | AMETA_SHIFT_ON, mMapper->getMetaState()); // Key up. - argsList = process(ARBITRARY_TIME + 2, EV_KEY, KEY_A, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 2, KEY_A, 0); ASSERT_EQ(AMETA_SHIFT_LEFT_ON | AMETA_SHIFT_ON, expectSingleKeyArg(argsList).metaState); ASSERT_EQ(AMETA_SHIFT_LEFT_ON | AMETA_SHIFT_ON, mMapper->getMetaState()); // Metakey up. - argsList = process(ARBITRARY_TIME + 3, EV_KEY, KEY_LEFTSHIFT, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 3, KEY_LEFTSHIFT, 0); ASSERT_EQ(AMETA_NONE, expectSingleKeyArg(argsList).metaState); ASSERT_EQ(AMETA_NONE, mMapper->getMetaState()); } @@ -434,14 +439,14 @@ TEST_F(KeyboardInputMapperUnitTest, Process_WhenOrientationAware_ShouldRotateDPa // Special case: if orientation changes while key is down, we still emit the same keycode // in the key up as we did in the key down. setDisplayOrientation(ui::ROTATION_270); - std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_KEY, KEY_UP, 1); + std::list<NotifyArgs> argsList = processKeyAndSync(ARBITRARY_TIME, KEY_UP, 1); NotifyKeyArgs args = expectSingleKeyArg(argsList); ASSERT_EQ(AKEY_EVENT_ACTION_DOWN, args.action); ASSERT_EQ(KEY_UP, args.scanCode); ASSERT_EQ(AKEYCODE_DPAD_RIGHT, args.keyCode); setDisplayOrientation(ui::ROTATION_180); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_UP, 0); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_UP, 0); args = expectSingleKeyArg(argsList); ASSERT_EQ(AKEY_EVENT_ACTION_UP, args.action); ASSERT_EQ(KEY_UP, args.scanCode); @@ -454,9 +459,9 @@ TEST_F(KeyboardInputMapperUnitTest, DisplayIdConfigurationChange_NotOrientationA addKeyByEvdevCode(KEY_UP, AKEYCODE_DPAD_UP); // Display id should be LogicalDisplayId::INVALID without any display configuration. - std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_KEY, KEY_UP, 1); + std::list<NotifyArgs> argsList = processKeyAndSync(ARBITRARY_TIME, KEY_UP, 1); ASSERT_GT(argsList.size(), 0u); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_UP, 0); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_UP, 0); ASSERT_GT(argsList.size(), 0u); ASSERT_EQ(ui::LogicalDisplayId::INVALID, std::get<NotifyKeyArgs>(argsList.front()).displayId); } @@ -474,9 +479,9 @@ TEST_F(KeyboardInputMapperUnitTest, DisplayIdConfigurationChange_OrientationAwar // ^--- already checked by the previous test setDisplayOrientation(ui::ROTATION_0); - std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_KEY, KEY_UP, 1); + std::list<NotifyArgs> argsList = processKeyAndSync(ARBITRARY_TIME, KEY_UP, 1); ASSERT_GT(argsList.size(), 0u); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_UP, 0); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_UP, 0); ASSERT_GT(argsList.size(), 0u); ASSERT_EQ(DISPLAY_ID, std::get<NotifyKeyArgs>(argsList.front()).displayId); @@ -487,9 +492,9 @@ TEST_F(KeyboardInputMapperUnitTest, DisplayIdConfigurationChange_OrientationAwar argsList = mMapper->reconfigure(ARBITRARY_TIME, mReaderConfiguration, InputReaderConfiguration::Change::DISPLAY_INFO); ASSERT_EQ(0u, argsList.size()); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_UP, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_UP, 1); ASSERT_GT(argsList.size(), 0u); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_UP, 0); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_UP, 0); ASSERT_GT(argsList.size(), 0u); ASSERT_EQ(newDisplayId, std::get<NotifyKeyArgs>(argsList.front()).displayId); } @@ -565,48 +570,48 @@ TEST_F(KeyboardInputMapperUnitTest, Process_LockedKeysShouldToggleMetaStateAndLe ASSERT_FALSE(scrollLockLed); // Toggle caps lock on. - std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_KEY, KEY_CAPSLOCK, 1); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_CAPSLOCK, 0); + std::list<NotifyArgs> argsList = processKeyAndSync(ARBITRARY_TIME, KEY_CAPSLOCK, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_CAPSLOCK, 0); ASSERT_TRUE(capsLockLed); ASSERT_FALSE(numLockLed); ASSERT_FALSE(scrollLockLed); ASSERT_EQ(AMETA_CAPS_LOCK_ON, mMapper->getMetaState()); // Toggle num lock on. - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_NUMLOCK, 1); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_NUMLOCK, 0); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_NUMLOCK, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_NUMLOCK, 0); ASSERT_TRUE(capsLockLed); ASSERT_TRUE(numLockLed); ASSERT_FALSE(scrollLockLed); ASSERT_EQ(AMETA_CAPS_LOCK_ON | AMETA_NUM_LOCK_ON, mMapper->getMetaState()); // Toggle caps lock off. - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_CAPSLOCK, 1); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_CAPSLOCK, 0); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_CAPSLOCK, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_CAPSLOCK, 0); ASSERT_FALSE(capsLockLed); ASSERT_TRUE(numLockLed); ASSERT_FALSE(scrollLockLed); ASSERT_EQ(AMETA_NUM_LOCK_ON, mMapper->getMetaState()); // Toggle scroll lock on. - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_SCROLLLOCK, 1); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_SCROLLLOCK, 0); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_SCROLLLOCK, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_SCROLLLOCK, 0); ASSERT_FALSE(capsLockLed); ASSERT_TRUE(numLockLed); ASSERT_TRUE(scrollLockLed); ASSERT_EQ(AMETA_NUM_LOCK_ON | AMETA_SCROLL_LOCK_ON, mMapper->getMetaState()); // Toggle num lock off. - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_NUMLOCK, 1); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_NUMLOCK, 0); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_NUMLOCK, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_NUMLOCK, 0); ASSERT_FALSE(capsLockLed); ASSERT_FALSE(numLockLed); ASSERT_TRUE(scrollLockLed); ASSERT_EQ(AMETA_SCROLL_LOCK_ON, mMapper->getMetaState()); // Toggle scroll lock off. - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_SCROLLLOCK, 1); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_SCROLLLOCK, 0); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_SCROLLLOCK, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_SCROLLLOCK, 0); ASSERT_FALSE(capsLockLed); ASSERT_FALSE(numLockLed); ASSERT_FALSE(scrollLockLed); @@ -618,8 +623,8 @@ TEST_F(KeyboardInputMapperUnitTest, DisablingDeviceResetsPressedKeys) { addKeyByEvdevCode(KEY_HOME, AKEYCODE_HOME, POLICY_FLAG_WAKE); addKeyByUsageCode(USAGE_A, AKEYCODE_A, POLICY_FLAG_WAKE); - // Key down by scan code. - std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_KEY, KEY_HOME, 1); + // Key down by evdev code. + std::list<NotifyArgs> argsList = processKeyAndSync(ARBITRARY_TIME, KEY_HOME, 1); NotifyKeyArgs args = expectSingleKeyArg(argsList); ASSERT_EQ(DEVICE_ID, args.deviceId); ASSERT_EQ(AINPUT_SOURCE_KEYBOARD, args.source); @@ -685,7 +690,7 @@ TEST_F(KeyboardInputMapperUnitTest, Process_GestureEventToSetFlagKeepTouchMode) addKeyByEvdevCode(KEY_LEFT, AKEYCODE_DPAD_LEFT, POLICY_FLAG_GESTURE); // Key down - std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_KEY, KEY_LEFT, 1); + std::list<NotifyArgs> argsList = processKeyAndSync(ARBITRARY_TIME, KEY_LEFT, 1); ASSERT_EQ(AKEY_EVENT_FLAG_FROM_SYSTEM | AKEY_EVENT_FLAG_KEEP_TOUCH_MODE, expectSingleKeyArg(argsList).flags); } @@ -699,22 +704,22 @@ TEST_F_WITH_FLAGS(KeyboardInputMapperUnitTest, WakeBehavior_AlphabeticKeyboard, addKeyByEvdevCode(KEY_HOME, AKEYCODE_HOME); addKeyByEvdevCode(KEY_PLAYPAUSE, AKEYCODE_MEDIA_PLAY_PAUSE); - std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_KEY, KEY_A, 1); + std::list<NotifyArgs> argsList = processKeyAndSync(ARBITRARY_TIME, KEY_A, 1); ASSERT_EQ(POLICY_FLAG_WAKE, expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME + 1, EV_KEY, KEY_A, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 1, KEY_A, 0); ASSERT_EQ(uint32_t(0), expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_HOME, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_HOME, 1); ASSERT_EQ(POLICY_FLAG_WAKE, expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME + 1, EV_KEY, KEY_HOME, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 1, KEY_HOME, 0); ASSERT_EQ(uint32_t(0), expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_PLAYPAUSE, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_PLAYPAUSE, 1); ASSERT_EQ(POLICY_FLAG_WAKE, expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME + 1, EV_KEY, KEY_PLAYPAUSE, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 1, KEY_PLAYPAUSE, 0); ASSERT_EQ(uint32_t(0), expectSingleKeyArg(argsList).policyFlags); } @@ -730,28 +735,34 @@ protected: } const std::string UNIQUE_ID = "local:0"; - void testDPadKeyRotation(KeyboardInputMapper& mapper, int32_t originalScanCode, + void testDPadKeyRotation(KeyboardInputMapper& mapper, int32_t originalEvdevCode, int32_t originalKeyCode, int32_t rotatedKeyCode, ui::LogicalDisplayId displayId = ui::LogicalDisplayId::INVALID); + + void processKeyAndSync(InputMapper& mapper, nsecs_t when, nsecs_t readTime, int32_t code, + int32_t value) { + process(mapper, when, readTime, EV_KEY, code, value); + process(mapper, when, readTime, EV_SYN, SYN_REPORT, 0); + } }; void KeyboardInputMapperTest::testDPadKeyRotation(KeyboardInputMapper& mapper, - int32_t originalScanCode, int32_t originalKeyCode, - int32_t rotatedKeyCode, + int32_t originalEvdevCode, + int32_t originalKeyCode, int32_t rotatedKeyCode, ui::LogicalDisplayId displayId) { NotifyKeyArgs args; - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, originalScanCode, 1); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, originalEvdevCode, 1); ASSERT_NO_FATAL_FAILURE(mFakeListener->assertNotifyKeyWasCalled(&args)); ASSERT_EQ(AKEY_EVENT_ACTION_DOWN, args.action); - ASSERT_EQ(originalScanCode, args.scanCode); + ASSERT_EQ(originalEvdevCode, args.scanCode); ASSERT_EQ(rotatedKeyCode, args.keyCode); ASSERT_EQ(displayId, args.displayId); - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, originalScanCode, 0); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, originalEvdevCode, 0); ASSERT_NO_FATAL_FAILURE(mFakeListener->assertNotifyKeyWasCalled(&args)); ASSERT_EQ(AKEY_EVENT_ACTION_UP, args.action); - ASSERT_EQ(originalScanCode, args.scanCode); + ASSERT_EQ(originalEvdevCode, args.scanCode); ASSERT_EQ(rotatedKeyCode, args.keyCode); ASSERT_EQ(displayId, args.displayId); } @@ -857,20 +868,20 @@ TEST_F(KeyboardInputMapperTest, Process_LockedKeysShouldToggleAfterReattach) { ASSERT_FALSE(mFakeEventHub->getLedState(EVENTHUB_ID, LED_SCROLLL)); // Toggle caps lock on. - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_CAPSLOCK, 1); - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_CAPSLOCK, 0); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, KEY_CAPSLOCK, 1); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, KEY_CAPSLOCK, 0); ASSERT_TRUE(mFakeEventHub->getLedState(EVENTHUB_ID, LED_CAPSL)); ASSERT_EQ(AMETA_CAPS_LOCK_ON, mapper.getMetaState()); // Toggle num lock on. - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_NUMLOCK, 1); - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_NUMLOCK, 0); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, KEY_NUMLOCK, 1); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, KEY_NUMLOCK, 0); ASSERT_TRUE(mFakeEventHub->getLedState(EVENTHUB_ID, LED_NUML)); ASSERT_EQ(AMETA_CAPS_LOCK_ON | AMETA_NUM_LOCK_ON, mapper.getMetaState()); // Toggle scroll lock on. - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_SCROLLLOCK, 1); - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_SCROLLLOCK, 0); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, KEY_SCROLLLOCK, 1); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, KEY_SCROLLLOCK, 0); ASSERT_TRUE(mFakeEventHub->getLedState(EVENTHUB_ID, LED_SCROLLL)); ASSERT_EQ(AMETA_CAPS_LOCK_ON | AMETA_NUM_LOCK_ON | AMETA_SCROLL_LOCK_ON, mapper.getMetaState()); @@ -937,16 +948,16 @@ TEST_F(KeyboardInputMapperTest, Process_ResetLockedModifierState) { ASSERT_EQ(AMETA_NONE, mapper.getMetaState()); // Toggle caps lock on. - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_CAPSLOCK, 1); - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_CAPSLOCK, 0); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, KEY_CAPSLOCK, 1); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, KEY_CAPSLOCK, 0); // Toggle num lock on. - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_NUMLOCK, 1); - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_NUMLOCK, 0); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, KEY_NUMLOCK, 1); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, KEY_NUMLOCK, 0); // Toggle scroll lock on. - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_SCROLLLOCK, 1); - process(mapper, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_SCROLLLOCK, 0); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, KEY_SCROLLLOCK, 1); + processKeyAndSync(mapper, ARBITRARY_TIME, READ_TIME, KEY_SCROLLLOCK, 0); ASSERT_EQ(AMETA_CAPS_LOCK_ON | AMETA_NUM_LOCK_ON | AMETA_SCROLL_LOCK_ON, mapper.getMetaState()); mReader->resetLockedModifierState(); @@ -996,40 +1007,40 @@ TEST_F(KeyboardInputMapperTest, Process_LockedKeysShouldToggleInMultiDevices) { ASSERT_EQ(AMETA_NONE, mapper2.getMetaState()); // Toggle num lock on and off. - process(mapper1, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_NUMLOCK, 1); - process(mapper1, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_NUMLOCK, 0); + processKeyAndSync(mapper1, ARBITRARY_TIME, READ_TIME, KEY_NUMLOCK, 1); + processKeyAndSync(mapper1, ARBITRARY_TIME, READ_TIME, KEY_NUMLOCK, 0); ASSERT_TRUE(mFakeEventHub->getLedState(EVENTHUB_ID, LED_NUML)); ASSERT_EQ(AMETA_NUM_LOCK_ON, mapper1.getMetaState()); ASSERT_EQ(AMETA_NUM_LOCK_ON, mapper2.getMetaState()); - process(mapper1, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_NUMLOCK, 1); - process(mapper1, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_NUMLOCK, 0); + processKeyAndSync(mapper1, ARBITRARY_TIME, READ_TIME, KEY_NUMLOCK, 1); + processKeyAndSync(mapper1, ARBITRARY_TIME, READ_TIME, KEY_NUMLOCK, 0); ASSERT_FALSE(mFakeEventHub->getLedState(EVENTHUB_ID, LED_NUML)); ASSERT_EQ(AMETA_NONE, mapper1.getMetaState()); ASSERT_EQ(AMETA_NONE, mapper2.getMetaState()); // Toggle caps lock on and off. - process(mapper1, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_CAPSLOCK, 1); - process(mapper1, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_CAPSLOCK, 0); + processKeyAndSync(mapper1, ARBITRARY_TIME, READ_TIME, KEY_CAPSLOCK, 1); + processKeyAndSync(mapper1, ARBITRARY_TIME, READ_TIME, KEY_CAPSLOCK, 0); ASSERT_TRUE(mFakeEventHub->getLedState(EVENTHUB_ID, LED_CAPSL)); ASSERT_EQ(AMETA_CAPS_LOCK_ON, mapper1.getMetaState()); ASSERT_EQ(AMETA_CAPS_LOCK_ON, mapper2.getMetaState()); - process(mapper1, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_CAPSLOCK, 1); - process(mapper1, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_CAPSLOCK, 0); + processKeyAndSync(mapper1, ARBITRARY_TIME, READ_TIME, KEY_CAPSLOCK, 1); + processKeyAndSync(mapper1, ARBITRARY_TIME, READ_TIME, KEY_CAPSLOCK, 0); ASSERT_FALSE(mFakeEventHub->getLedState(EVENTHUB_ID, LED_CAPSL)); ASSERT_EQ(AMETA_NONE, mapper1.getMetaState()); ASSERT_EQ(AMETA_NONE, mapper2.getMetaState()); // Toggle scroll lock on and off. - process(mapper1, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_SCROLLLOCK, 1); - process(mapper1, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_SCROLLLOCK, 0); + processKeyAndSync(mapper1, ARBITRARY_TIME, READ_TIME, KEY_SCROLLLOCK, 1); + processKeyAndSync(mapper1, ARBITRARY_TIME, READ_TIME, KEY_SCROLLLOCK, 0); ASSERT_TRUE(mFakeEventHub->getLedState(EVENTHUB_ID, LED_SCROLLL)); ASSERT_EQ(AMETA_SCROLL_LOCK_ON, mapper1.getMetaState()); ASSERT_EQ(AMETA_SCROLL_LOCK_ON, mapper2.getMetaState()); - process(mapper1, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_SCROLLLOCK, 1); - process(mapper1, ARBITRARY_TIME, READ_TIME, EV_KEY, KEY_SCROLLLOCK, 0); + processKeyAndSync(mapper1, ARBITRARY_TIME, READ_TIME, KEY_SCROLLLOCK, 1); + processKeyAndSync(mapper1, ARBITRARY_TIME, READ_TIME, KEY_SCROLLLOCK, 0); ASSERT_FALSE(mFakeEventHub->getLedState(EVENTHUB_ID, LED_SCROLLL)); ASSERT_EQ(AMETA_NONE, mapper1.getMetaState()); ASSERT_EQ(AMETA_NONE, mapper2.getMetaState()); @@ -1048,10 +1059,10 @@ TEST_F(KeyboardInputMapperTest, UsesSharedKeyboardSource) { KeyboardInputMapper& keyboardMapper = constructAndAddMapper<KeyboardInputMapper>(AINPUT_SOURCE_KEYBOARD); - process(keyboardMapper, ARBITRARY_TIME, 0, EV_KEY, KEY_HOME, 1); + processKeyAndSync(keyboardMapper, ARBITRARY_TIME, 0, KEY_HOME, 1); ASSERT_NO_FATAL_FAILURE( mFakeListener->assertNotifyKeyWasCalled(WithSource(AINPUT_SOURCE_KEYBOARD))); - process(keyboardMapper, ARBITRARY_TIME, 0, EV_KEY, KEY_HOME, 0); + processKeyAndSync(keyboardMapper, ARBITRARY_TIME, 0, KEY_HOME, 0); ASSERT_NO_FATAL_FAILURE( mFakeListener->assertNotifyKeyWasCalled(WithSource(AINPUT_SOURCE_KEYBOARD))); @@ -1059,10 +1070,10 @@ TEST_F(KeyboardInputMapperTest, UsesSharedKeyboardSource) { KeyboardInputMapper& dpadMapper = constructAndAddMapper<KeyboardInputMapper>(AINPUT_SOURCE_DPAD); for (auto* mapper : {&keyboardMapper, &dpadMapper}) { - process(*mapper, ARBITRARY_TIME, 0, EV_KEY, KEY_HOME, 1); + processKeyAndSync(*mapper, ARBITRARY_TIME, 0, KEY_HOME, 1); ASSERT_NO_FATAL_FAILURE(mFakeListener->assertNotifyKeyWasCalled( WithSource(AINPUT_SOURCE_KEYBOARD | AINPUT_SOURCE_DPAD))); - process(*mapper, ARBITRARY_TIME, 0, EV_KEY, KEY_HOME, 0); + processKeyAndSync(*mapper, ARBITRARY_TIME, 0, KEY_HOME, 0); ASSERT_NO_FATAL_FAILURE(mFakeListener->assertNotifyKeyWasCalled( WithSource(AINPUT_SOURCE_KEYBOARD | AINPUT_SOURCE_DPAD))); } @@ -1071,10 +1082,10 @@ TEST_F(KeyboardInputMapperTest, UsesSharedKeyboardSource) { KeyboardInputMapper& gamepadMapper = constructAndAddMapper<KeyboardInputMapper>(AINPUT_SOURCE_GAMEPAD); for (auto* mapper : {&keyboardMapper, &dpadMapper, &gamepadMapper}) { - process(*mapper, ARBITRARY_TIME, 0, EV_KEY, KEY_HOME, 1); + processKeyAndSync(*mapper, ARBITRARY_TIME, 0, KEY_HOME, 1); ASSERT_NO_FATAL_FAILURE(mFakeListener->assertNotifyKeyWasCalled( WithSource(AINPUT_SOURCE_KEYBOARD | AINPUT_SOURCE_DPAD | AINPUT_SOURCE_GAMEPAD))); - process(*mapper, ARBITRARY_TIME, 0, EV_KEY, KEY_HOME, 0); + processKeyAndSync(*mapper, ARBITRARY_TIME, 0, KEY_HOME, 0); ASSERT_NO_FATAL_FAILURE(mFakeListener->assertNotifyKeyWasCalled( WithSource(AINPUT_SOURCE_KEYBOARD | AINPUT_SOURCE_DPAD | AINPUT_SOURCE_GAMEPAD))); } @@ -1119,22 +1130,22 @@ TEST_F(KeyboardInputMapperTest_ExternalAlphabeticDevice, WakeBehavior_Alphabetic addKeyByEvdevCode(KEY_PLAY, AKEYCODE_MEDIA_PLAY); addKeyByEvdevCode(KEY_PLAYPAUSE, AKEYCODE_MEDIA_PLAY_PAUSE, POLICY_FLAG_WAKE); - std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_KEY, KEY_HOME, 1); + std::list<NotifyArgs> argsList = processKeyAndSync(ARBITRARY_TIME, KEY_HOME, 1); ASSERT_EQ(POLICY_FLAG_WAKE, expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME + 1, EV_KEY, KEY_HOME, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 1, KEY_HOME, 0); ASSERT_EQ(uint32_t(0), expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_PLAY, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_PLAY, 1); ASSERT_EQ(POLICY_FLAG_WAKE, expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME + 1, EV_KEY, KEY_PLAY, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 1, KEY_PLAY, 0); ASSERT_EQ(uint32_t(0), expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_PLAYPAUSE, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_PLAYPAUSE, 1); ASSERT_EQ(POLICY_FLAG_WAKE, expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME + 1, EV_KEY, KEY_PLAYPAUSE, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 1, KEY_PLAYPAUSE, 0); ASSERT_EQ(POLICY_FLAG_WAKE, expectSingleKeyArg(argsList).policyFlags); } @@ -1145,16 +1156,16 @@ TEST_F(KeyboardInputMapperTest_ExternalNonAlphabeticDevice, WakeBehavior_NonAlph addKeyByEvdevCode(KEY_PLAY, AKEYCODE_MEDIA_PLAY); addKeyByEvdevCode(KEY_PLAYPAUSE, AKEYCODE_MEDIA_PLAY_PAUSE, POLICY_FLAG_WAKE); - std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_KEY, KEY_PLAY, 1); + std::list<NotifyArgs> argsList = processKeyAndSync(ARBITRARY_TIME, KEY_PLAY, 1); ASSERT_EQ(uint32_t(0), expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME + 1, EV_KEY, KEY_PLAY, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 1, KEY_PLAY, 0); ASSERT_EQ(uint32_t(0), expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_PLAYPAUSE, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_PLAYPAUSE, 1); ASSERT_EQ(POLICY_FLAG_WAKE, expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME + 1, EV_KEY, KEY_PLAYPAUSE, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 1, KEY_PLAYPAUSE, 0); ASSERT_EQ(POLICY_FLAG_WAKE, expectSingleKeyArg(argsList).policyFlags); } @@ -1169,22 +1180,22 @@ TEST_F(KeyboardInputMapperTest_ExternalAlphabeticDevice, DoNotWakeByDefaultBehav mMapper = createInputMapper<KeyboardInputMapper>(*mDeviceContext, mReaderConfiguration, AINPUT_SOURCE_KEYBOARD); - std::list<NotifyArgs> argsList = process(ARBITRARY_TIME, EV_KEY, KEY_HOME, 1); + std::list<NotifyArgs> argsList = processKeyAndSync(ARBITRARY_TIME, KEY_HOME, 1); ASSERT_EQ(POLICY_FLAG_WAKE, expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME + 1, EV_KEY, KEY_HOME, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 1, KEY_HOME, 0); ASSERT_EQ(POLICY_FLAG_WAKE, expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_DOWN, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_DOWN, 1); ASSERT_EQ(uint32_t(0), expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME + 1, EV_KEY, KEY_DOWN, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 1, KEY_DOWN, 0); ASSERT_EQ(uint32_t(0), expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME, EV_KEY, KEY_PLAY, 1); + argsList = processKeyAndSync(ARBITRARY_TIME, KEY_PLAY, 1); ASSERT_EQ(POLICY_FLAG_WAKE, expectSingleKeyArg(argsList).policyFlags); - argsList = process(ARBITRARY_TIME + 1, EV_KEY, KEY_PLAY, 0); + argsList = processKeyAndSync(ARBITRARY_TIME + 1, KEY_PLAY, 0); ASSERT_EQ(POLICY_FLAG_WAKE, expectSingleKeyArg(argsList).policyFlags); } |