diff options
Diffstat (limited to 'tests/basic/keypress.cpp')
-rw-r--r-- | tests/basic/keypress.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/basic/keypress.cpp b/tests/basic/keypress.cpp index 4424e8696..2bb029d88 100644 --- a/tests/basic/keypress.cpp +++ b/tests/basic/keypress.cpp | |||
@@ -85,4 +85,40 @@ TEST_F(KeyPress, LeftShiftIsReportedCorrectly) { | |||
85 | release_key(3, 0); | 85 | release_key(3, 0); |
86 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); | 86 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); |
87 | keyboard_task(); | 87 | keyboard_task(); |
88 | } | ||
89 | |||
90 | TEST_F(KeyPress, PressLeftShiftAndControl) { | ||
91 | TestDriver driver; | ||
92 | press_key(3, 0); | ||
93 | press_key(5, 0); | ||
94 | // Unfortunately modifiers are also processed in the wrong order | ||
95 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); | ||
96 | keyboard_task(); | ||
97 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_LCTRL))); | ||
98 | keyboard_task(); | ||
99 | } | ||
100 | |||
101 | TEST_F(KeyPress, LeftAndRightShiftCanBePressedAtTheSameTime) { | ||
102 | TestDriver driver; | ||
103 | press_key(3, 0); | ||
104 | press_key(4, 0); | ||
105 | // Unfortunately modifiers are also processed in the wrong order | ||
106 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))); | ||
107 | keyboard_task(); | ||
108 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_RSFT))); | ||
109 | keyboard_task(); | ||
110 | } | ||
111 | |||
112 | TEST_F(KeyPress, RightShiftLeftControlAndCharWithTheSameKey) { | ||
113 | TestDriver driver; | ||
114 | press_key(6, 0); | ||
115 | // BUG: The press is split into two reports | ||
116 | // BUG: It reports RSFT instead of LSFT | ||
117 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RSFT, KC_RCTRL))); | ||
118 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RSFT, KC_RCTRL, KC_O))); | ||
119 | keyboard_task(); | ||
120 | release_key(6, 0); | ||
121 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RSFT, KC_RCTRL))); | ||
122 | EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); | ||
123 | keyboard_task(); | ||
88 | } \ No newline at end of file | 124 | } \ No newline at end of file |