KeyboardInputMapper_test: send SYN_REPORTs
KeyboardInputMapper happens to be implemented in such a way that it acts
on key events immediately, without waiting for SYN_REPORTs, so many of
its tests don't send SYN_REPORTs at all. However, they really should,
both to avoid depending on that implementation detail of
KeyboardInputMapper, and to provide more realistic input.
Test: atest --host \
frameworks/native/services/inputflinger/tests/KeyboardInputMapper_test.cpp
Bug: 245989146
Flag: TEST_ONLY
Change-Id: Ib7bee2d2203c5bdab67fdaf6df1e260ddb48dc95
diff --git a/services/inputflinger/tests/KeyboardInputMapper_test.cpp b/services/inputflinger/tests/KeyboardInputMapper_test.cpp
index 787d17e..10f1d55 100644
--- a/services/inputflinger/tests/KeyboardInputMapper_test.cpp
+++ b/services/inputflinger/tests/KeyboardInputMapper_test.cpp
@@ -176,16 +176,22 @@
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 @@
.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 @@
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 @@
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 @@
// 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 @@
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 @@
// 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 @@
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 @@
// 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, 0);
+ argsList += process(ARBITRARY_TIME, /*readTime=*/15, EV_SYN, SYN_REPORT, 0);
ASSERT_EQ(15, expectSingleKeyArg(argsList).readTime);
}
@@ -360,22 +365,22 @@
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 @@
// 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 @@
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 @@
// ^--- 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
}
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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);
}