OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/events/event_rewriter.h" | 5 #include "chrome/browser/chromeos/events/event_rewriter.h" |
6 | 6 |
7 #include <X11/keysym.h> | 7 #include <X11/keysym.h> |
8 #include <X11/XF86keysym.h> | 8 #include <X11/XF86keysym.h> |
9 #include <X11/Xlib.h> | 9 #include <X11/Xlib.h> |
10 #undef Bool | 10 #undef Bool |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 // and check that it also matches the rewritten event. | 128 // and check that it also matches the rewritten event. |
129 ui::KeyEvent from_native_event(rewritten_key_event.native_event(), | 129 ui::KeyEvent from_native_event(rewritten_key_event.native_event(), |
130 false); | 130 false); |
131 EXPECT_EQ(expected, id + GetKeyEventAsString(from_native_event)); | 131 EXPECT_EQ(expected, id + GetKeyEventAsString(from_native_event)); |
132 } | 132 } |
133 } | 133 } |
134 } | 134 } |
135 #endif | 135 #endif |
136 } | 136 } |
137 | 137 |
| 138 // Table entry for simple single function key event rewriting tests. |
| 139 struct FunctionKeyTestCase { |
| 140 ui::EventType type; |
| 141 struct { |
| 142 ui::KeyboardCode key_code; |
| 143 int flags; |
| 144 } input, vkey_expected, native_expected; |
| 145 }; |
| 146 |
| 147 // Tests a single stateless function key rewrite operation. |
| 148 // |i| is a an identifying number to locate failing tests in the tables. |
| 149 // Function key mapping differs from the other key mappings because the |
| 150 // EF_FUNCTION_KEY flag is set during ui::KeyEvent construction when passing in |
| 151 // a native X11 event and the flag is not set when using other constructors. |
| 152 void CheckFunctionKeyTestCase(size_t i, |
| 153 chromeos::EventRewriter* rewriter, |
| 154 const FunctionKeyTestCase& test) { |
| 155 std::string id = base::StringPrintf("(%zu) ", i); |
| 156 std::string vkey_expected = |
| 157 id + GetExpectedResultAsString( |
| 158 test.vkey_expected.key_code, |
| 159 test.vkey_expected.flags, |
| 160 test.type); |
| 161 // Check rewriting of a non-native-based key event. |
| 162 EXPECT_EQ( |
| 163 vkey_expected, |
| 164 id + GetRewrittenEventAsString( |
| 165 rewriter, test.input.key_code, test.input.flags, test.type)); |
| 166 |
| 167 #if defined(USE_X11) |
| 168 ui::ScopedXI2Event xev; |
| 169 xev.InitKeyEvent(test.type, test.input.key_code, test.input.flags); |
| 170 XEvent* xevent = xev; |
| 171 if (xevent->xkey.keycode) { |
| 172 ui::KeyEvent xkey_event(xevent, false); |
| 173 // Rewrite the event and check the result. |
| 174 scoped_ptr<ui::Event> new_event; |
| 175 rewriter->RewriteEvent(xkey_event, &new_event); |
| 176 ui::KeyEvent& rewritten_key_event = |
| 177 new_event ? *static_cast<ui::KeyEvent*>(new_event.get()) : xkey_event; |
| 178 std::string native_expected = |
| 179 id + GetExpectedResultAsString( |
| 180 test.native_expected.key_code, |
| 181 test.native_expected.flags, |
| 182 test.type); |
| 183 EXPECT_EQ(native_expected, id + GetKeyEventAsString(rewritten_key_event)); |
| 184 } |
| 185 #endif |
| 186 } |
| 187 |
138 } // namespace | 188 } // namespace |
139 | 189 |
140 namespace chromeos { | 190 namespace chromeos { |
141 | 191 |
142 class EventRewriterTest : public ash::test::AshTestBase { | 192 class EventRewriterTest : public ash::test::AshTestBase { |
143 public: | 193 public: |
144 EventRewriterTest() | 194 EventRewriterTest() |
145 : display_(gfx::GetXDisplay()), | 195 : display_(gfx::GetXDisplay()), |
146 mock_user_manager_(new chromeos::MockUserManager), | 196 mock_user_manager_(new chromeos::MockUserManager), |
147 user_manager_enabler_(mock_user_manager_), | 197 user_manager_enabler_(mock_user_manager_), |
(...skipping 999 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1147 CheckKeyTestCase(1000 + i, &rewriter, tests[i]); | 1197 CheckKeyTestCase(1000 + i, &rewriter, tests[i]); |
1148 } | 1198 } |
1149 } | 1199 } |
1150 | 1200 |
1151 TEST_F(EventRewriterTest, TestRewriteFunctionKeys) { | 1201 TEST_F(EventRewriterTest, TestRewriteFunctionKeys) { |
1152 TestingPrefServiceSyncable prefs; | 1202 TestingPrefServiceSyncable prefs; |
1153 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); | 1203 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
1154 EventRewriter rewriter; | 1204 EventRewriter rewriter; |
1155 rewriter.set_pref_service_for_testing(&prefs); | 1205 rewriter.set_pref_service_for_testing(&prefs); |
1156 | 1206 |
1157 KeyTestCase tests[] = { | 1207 FunctionKeyTestCase tests[] = { |
1158 // F1 -> Back | 1208 // F1 -> Back |
1159 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1209 {ui::ET_KEY_PRESSED, |
1160 {ui::VKEY_F1, ui::EF_NONE}, | 1210 {ui::VKEY_F1, ui::EF_NONE}, |
1161 {ui::VKEY_BROWSER_BACK, ui::EF_NONE}}, | 1211 {ui::VKEY_BROWSER_BACK, ui::EF_NONE}, |
1162 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1212 {ui::VKEY_BROWSER_BACK, ui::EF_FUNCTION_KEY}}, |
| 1213 {ui::ET_KEY_PRESSED, |
1163 {ui::VKEY_F1, ui::EF_CONTROL_DOWN}, | 1214 {ui::VKEY_F1, ui::EF_CONTROL_DOWN}, |
1164 {ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN}}, | 1215 {ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN}, |
1165 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1216 {ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1217 {ui::ET_KEY_PRESSED, |
1166 {ui::VKEY_F1, ui::EF_ALT_DOWN}, | 1218 {ui::VKEY_F1, ui::EF_ALT_DOWN}, |
1167 {ui::VKEY_BROWSER_BACK, ui::EF_ALT_DOWN}}, | 1219 {ui::VKEY_BROWSER_BACK, ui::EF_ALT_DOWN}, |
| 1220 {ui::VKEY_BROWSER_BACK, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
1168 // F2 -> Forward | 1221 // F2 -> Forward |
1169 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1222 {ui::ET_KEY_PRESSED, |
1170 {ui::VKEY_F2, ui::EF_NONE}, | 1223 {ui::VKEY_F2, ui::EF_NONE}, |
1171 {ui::VKEY_BROWSER_FORWARD, ui::EF_NONE}}, | 1224 {ui::VKEY_BROWSER_FORWARD, ui::EF_NONE}, |
1172 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1225 {ui::VKEY_BROWSER_FORWARD, ui::EF_FUNCTION_KEY}}, |
| 1226 {ui::ET_KEY_PRESSED, |
1173 {ui::VKEY_F2, ui::EF_CONTROL_DOWN}, | 1227 {ui::VKEY_F2, ui::EF_CONTROL_DOWN}, |
1174 {ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN}}, | 1228 {ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN}, |
1175 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1229 {ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1230 {ui::ET_KEY_PRESSED, |
1176 {ui::VKEY_F2, ui::EF_ALT_DOWN}, | 1231 {ui::VKEY_F2, ui::EF_ALT_DOWN}, |
1177 {ui::VKEY_BROWSER_FORWARD, ui::EF_ALT_DOWN}}, | 1232 {ui::VKEY_BROWSER_FORWARD, ui::EF_ALT_DOWN}, |
| 1233 {ui::VKEY_BROWSER_FORWARD, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
1178 // F3 -> Refresh | 1234 // F3 -> Refresh |
1179 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1235 {ui::ET_KEY_PRESSED, |
1180 {ui::VKEY_F3, ui::EF_NONE}, | 1236 {ui::VKEY_F3, ui::EF_NONE}, |
1181 {ui::VKEY_BROWSER_REFRESH, ui::EF_NONE}}, | 1237 {ui::VKEY_BROWSER_REFRESH, ui::EF_NONE}, |
1182 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1238 {ui::VKEY_BROWSER_REFRESH, ui::EF_FUNCTION_KEY}}, |
| 1239 {ui::ET_KEY_PRESSED, |
1183 {ui::VKEY_F3, ui::EF_CONTROL_DOWN}, | 1240 {ui::VKEY_F3, ui::EF_CONTROL_DOWN}, |
1184 {ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN}}, | 1241 {ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN}, |
1185 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1242 {ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1243 {ui::ET_KEY_PRESSED, |
1186 {ui::VKEY_F3, ui::EF_ALT_DOWN}, | 1244 {ui::VKEY_F3, ui::EF_ALT_DOWN}, |
1187 {ui::VKEY_BROWSER_REFRESH, ui::EF_ALT_DOWN}}, | 1245 {ui::VKEY_BROWSER_REFRESH, ui::EF_ALT_DOWN}, |
| 1246 {ui::VKEY_BROWSER_REFRESH, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
1188 // F4 -> Launch App 2 | 1247 // F4 -> Launch App 2 |
1189 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1248 {ui::ET_KEY_PRESSED, |
1190 {ui::VKEY_F4, ui::EF_NONE}, | 1249 {ui::VKEY_F4, ui::EF_NONE}, |
1191 {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE}}, | 1250 {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE}, |
1192 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1251 {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_FUNCTION_KEY}}, |
| 1252 {ui::ET_KEY_PRESSED, |
1193 {ui::VKEY_F4, ui::EF_CONTROL_DOWN}, | 1253 {ui::VKEY_F4, ui::EF_CONTROL_DOWN}, |
1194 {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_CONTROL_DOWN}}, | 1254 {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_CONTROL_DOWN}, |
1195 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1255 {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1256 {ui::ET_KEY_PRESSED, |
1196 {ui::VKEY_F4, ui::EF_ALT_DOWN}, | 1257 {ui::VKEY_F4, ui::EF_ALT_DOWN}, |
1197 {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_ALT_DOWN}}, | 1258 {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_ALT_DOWN}, |
| 1259 {ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
1198 // F5 -> Launch App 1 | 1260 // F5 -> Launch App 1 |
1199 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1261 {ui::ET_KEY_PRESSED, |
1200 {ui::VKEY_F5, ui::EF_NONE}, | 1262 {ui::VKEY_F5, ui::EF_NONE}, |
1201 {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE}}, | 1263 {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE}, |
1202 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1264 {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_FUNCTION_KEY}}, |
| 1265 {ui::ET_KEY_PRESSED, |
1203 {ui::VKEY_F5, ui::EF_CONTROL_DOWN}, | 1266 {ui::VKEY_F5, ui::EF_CONTROL_DOWN}, |
1204 {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN}}, | 1267 {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN}, |
1205 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1268 {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1269 {ui::ET_KEY_PRESSED, |
1206 {ui::VKEY_F5, ui::EF_ALT_DOWN}, | 1270 {ui::VKEY_F5, ui::EF_ALT_DOWN}, |
1207 {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_ALT_DOWN}}, | 1271 {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_ALT_DOWN}, |
| 1272 {ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
1208 // F6 -> Brightness down | 1273 // F6 -> Brightness down |
1209 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1274 {ui::ET_KEY_PRESSED, |
1210 {ui::VKEY_F6, ui::EF_NONE}, | 1275 {ui::VKEY_F6, ui::EF_NONE}, |
1211 {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE}}, | 1276 {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE}, |
1212 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1277 {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_FUNCTION_KEY}}, |
| 1278 {ui::ET_KEY_PRESSED, |
1213 {ui::VKEY_F6, ui::EF_CONTROL_DOWN}, | 1279 {ui::VKEY_F6, ui::EF_CONTROL_DOWN}, |
1214 {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN}}, | 1280 {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN}, |
1215 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1281 {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1282 {ui::ET_KEY_PRESSED, |
1216 {ui::VKEY_F6, ui::EF_ALT_DOWN}, | 1283 {ui::VKEY_F6, ui::EF_ALT_DOWN}, |
1217 {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_ALT_DOWN}}, | 1284 {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_ALT_DOWN}, |
| 1285 {ui::VKEY_BRIGHTNESS_DOWN, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
1218 // F7 -> Brightness up | 1286 // F7 -> Brightness up |
1219 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1287 {ui::ET_KEY_PRESSED, |
1220 {ui::VKEY_F7, ui::EF_NONE}, | 1288 {ui::VKEY_F7, ui::EF_NONE}, |
1221 {ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE}}, | 1289 {ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE}, |
1222 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1290 {ui::VKEY_BRIGHTNESS_UP, ui::EF_FUNCTION_KEY}}, |
| 1291 {ui::ET_KEY_PRESSED, |
1223 {ui::VKEY_F7, ui::EF_CONTROL_DOWN}, | 1292 {ui::VKEY_F7, ui::EF_CONTROL_DOWN}, |
1224 {ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN}}, | 1293 {ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN}, |
1225 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1294 {ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1295 {ui::ET_KEY_PRESSED, |
1226 {ui::VKEY_F7, ui::EF_ALT_DOWN}, | 1296 {ui::VKEY_F7, ui::EF_ALT_DOWN}, |
1227 {ui::VKEY_BRIGHTNESS_UP, ui::EF_ALT_DOWN}}, | 1297 {ui::VKEY_BRIGHTNESS_UP, ui::EF_ALT_DOWN}, |
| 1298 {ui::VKEY_BRIGHTNESS_UP, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
1228 // F8 -> Volume Mute | 1299 // F8 -> Volume Mute |
1229 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1300 {ui::ET_KEY_PRESSED, |
1230 {ui::VKEY_F8, ui::EF_NONE}, | 1301 {ui::VKEY_F8, ui::EF_NONE}, |
1231 {ui::VKEY_VOLUME_MUTE, ui::EF_NONE}}, | 1302 {ui::VKEY_VOLUME_MUTE, ui::EF_NONE}, |
1232 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1303 {ui::VKEY_VOLUME_MUTE, ui::EF_FUNCTION_KEY}}, |
| 1304 {ui::ET_KEY_PRESSED, |
1233 {ui::VKEY_F8, ui::EF_CONTROL_DOWN}, | 1305 {ui::VKEY_F8, ui::EF_CONTROL_DOWN}, |
1234 {ui::VKEY_VOLUME_MUTE, ui::EF_CONTROL_DOWN}}, | 1306 {ui::VKEY_VOLUME_MUTE, ui::EF_CONTROL_DOWN}, |
1235 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1307 {ui::VKEY_VOLUME_MUTE, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1308 {ui::ET_KEY_PRESSED, |
1236 {ui::VKEY_F8, ui::EF_ALT_DOWN}, | 1309 {ui::VKEY_F8, ui::EF_ALT_DOWN}, |
1237 {ui::VKEY_VOLUME_MUTE, ui::EF_ALT_DOWN}}, | 1310 {ui::VKEY_VOLUME_MUTE, ui::EF_ALT_DOWN}, |
| 1311 {ui::VKEY_VOLUME_MUTE, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
1238 // F9 -> Volume Down | 1312 // F9 -> Volume Down |
1239 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1313 {ui::ET_KEY_PRESSED, |
1240 {ui::VKEY_F9, ui::EF_NONE}, | 1314 {ui::VKEY_F9, ui::EF_NONE}, |
1241 {ui::VKEY_VOLUME_DOWN, ui::EF_NONE}}, | 1315 {ui::VKEY_VOLUME_DOWN, ui::EF_NONE}, |
1242 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1316 {ui::VKEY_VOLUME_DOWN, ui::EF_FUNCTION_KEY}}, |
| 1317 {ui::ET_KEY_PRESSED, |
1243 {ui::VKEY_F9, ui::EF_CONTROL_DOWN}, | 1318 {ui::VKEY_F9, ui::EF_CONTROL_DOWN}, |
1244 {ui::VKEY_VOLUME_DOWN, ui::EF_CONTROL_DOWN}}, | 1319 {ui::VKEY_VOLUME_DOWN, ui::EF_CONTROL_DOWN}, |
1245 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1320 {ui::VKEY_VOLUME_DOWN, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1321 {ui::ET_KEY_PRESSED, |
1246 {ui::VKEY_F9, ui::EF_ALT_DOWN}, | 1322 {ui::VKEY_F9, ui::EF_ALT_DOWN}, |
1247 {ui::VKEY_VOLUME_DOWN, ui::EF_ALT_DOWN}}, | 1323 {ui::VKEY_VOLUME_DOWN, ui::EF_ALT_DOWN}, |
| 1324 {ui::VKEY_VOLUME_DOWN, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
1248 // F10 -> Volume Up | 1325 // F10 -> Volume Up |
1249 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1326 {ui::ET_KEY_PRESSED, |
1250 {ui::VKEY_F10, ui::EF_NONE}, | 1327 {ui::VKEY_F10, ui::EF_NONE}, |
1251 {ui::VKEY_VOLUME_UP, ui::EF_NONE}}, | 1328 {ui::VKEY_VOLUME_UP, ui::EF_NONE}, |
1252 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1329 {ui::VKEY_VOLUME_UP, ui::EF_FUNCTION_KEY}}, |
| 1330 {ui::ET_KEY_PRESSED, |
1253 {ui::VKEY_F10, ui::EF_CONTROL_DOWN}, | 1331 {ui::VKEY_F10, ui::EF_CONTROL_DOWN}, |
1254 {ui::VKEY_VOLUME_UP, ui::EF_CONTROL_DOWN}}, | 1332 {ui::VKEY_VOLUME_UP, ui::EF_CONTROL_DOWN}, |
1255 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1333 {ui::VKEY_VOLUME_UP, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1334 {ui::ET_KEY_PRESSED, |
1256 {ui::VKEY_F10, ui::EF_ALT_DOWN}, | 1335 {ui::VKEY_F10, ui::EF_ALT_DOWN}, |
1257 {ui::VKEY_VOLUME_UP, ui::EF_ALT_DOWN}}, | 1336 {ui::VKEY_VOLUME_UP, ui::EF_ALT_DOWN}, |
| 1337 {ui::VKEY_VOLUME_UP, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
1258 // F11 -> F11 | 1338 // F11 -> F11 |
1259 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1339 {ui::ET_KEY_PRESSED, |
| 1340 {ui::VKEY_F11, ui::EF_NONE}, |
| 1341 {ui::VKEY_F11, ui::EF_NONE}, |
| 1342 {ui::VKEY_F11, ui::EF_FUNCTION_KEY}}, |
| 1343 {ui::ET_KEY_PRESSED, |
| 1344 {ui::VKEY_F11, ui::EF_CONTROL_DOWN}, |
| 1345 {ui::VKEY_F11, ui::EF_CONTROL_DOWN}, |
| 1346 {ui::VKEY_F11, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1347 {ui::ET_KEY_PRESSED, |
| 1348 {ui::VKEY_F11, ui::EF_ALT_DOWN}, |
| 1349 {ui::VKEY_F11, ui::EF_ALT_DOWN}, |
| 1350 {ui::VKEY_F11, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1351 // F12 -> F12 |
| 1352 {ui::ET_KEY_PRESSED, |
| 1353 {ui::VKEY_F12, ui::EF_NONE}, |
| 1354 {ui::VKEY_F12, ui::EF_NONE}, |
| 1355 {ui::VKEY_F12, ui::EF_FUNCTION_KEY}}, |
| 1356 {ui::ET_KEY_PRESSED, |
| 1357 {ui::VKEY_F12, ui::EF_CONTROL_DOWN}, |
| 1358 {ui::VKEY_F12, ui::EF_CONTROL_DOWN}, |
| 1359 {ui::VKEY_F12, ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1360 {ui::ET_KEY_PRESSED, |
| 1361 {ui::VKEY_F12, ui::EF_ALT_DOWN}, |
| 1362 {ui::VKEY_F12, ui::EF_ALT_DOWN}, |
| 1363 {ui::VKEY_F12, ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}}, |
| 1364 |
| 1365 // The number row should not be rewritten without Search key. |
| 1366 {ui::ET_KEY_PRESSED, |
| 1367 {ui::VKEY_1, ui::EF_NONE}, |
| 1368 {ui::VKEY_1, ui::EF_NONE}, |
| 1369 {ui::VKEY_1, ui::EF_NONE}}, |
| 1370 {ui::ET_KEY_PRESSED, |
| 1371 {ui::VKEY_2, ui::EF_NONE}, |
| 1372 {ui::VKEY_2, ui::EF_NONE}, |
| 1373 {ui::VKEY_2, ui::EF_NONE}}, |
| 1374 {ui::ET_KEY_PRESSED, |
| 1375 {ui::VKEY_3, ui::EF_NONE}, |
| 1376 {ui::VKEY_3, ui::EF_NONE}, |
| 1377 {ui::VKEY_3, ui::EF_NONE}}, |
| 1378 {ui::ET_KEY_PRESSED, |
| 1379 {ui::VKEY_4, ui::EF_NONE}, |
| 1380 {ui::VKEY_4, ui::EF_NONE}, |
| 1381 {ui::VKEY_4, ui::EF_NONE}}, |
| 1382 {ui::ET_KEY_PRESSED, |
| 1383 {ui::VKEY_5, ui::EF_NONE}, |
| 1384 {ui::VKEY_5, ui::EF_NONE}, |
| 1385 {ui::VKEY_5, ui::EF_NONE}}, |
| 1386 {ui::ET_KEY_PRESSED, |
| 1387 {ui::VKEY_6, ui::EF_NONE}, |
| 1388 {ui::VKEY_6, ui::EF_NONE}, |
| 1389 {ui::VKEY_6, ui::EF_NONE}}, |
| 1390 {ui::ET_KEY_PRESSED, |
| 1391 {ui::VKEY_7, ui::EF_NONE}, |
| 1392 {ui::VKEY_7, ui::EF_NONE}, |
| 1393 {ui::VKEY_7, ui::EF_NONE}}, |
| 1394 {ui::ET_KEY_PRESSED, |
| 1395 {ui::VKEY_8, ui::EF_NONE}, |
| 1396 {ui::VKEY_8, ui::EF_NONE}, |
| 1397 {ui::VKEY_8, ui::EF_NONE}}, |
| 1398 {ui::ET_KEY_PRESSED, |
| 1399 {ui::VKEY_9, ui::EF_NONE}, |
| 1400 {ui::VKEY_9, ui::EF_NONE}, |
| 1401 {ui::VKEY_9, ui::EF_NONE}}, |
| 1402 {ui::ET_KEY_PRESSED, |
| 1403 {ui::VKEY_0, ui::EF_NONE}, |
| 1404 {ui::VKEY_0, ui::EF_NONE}, |
| 1405 {ui::VKEY_0, ui::EF_NONE}}, |
| 1406 {ui::ET_KEY_PRESSED, |
| 1407 {ui::VKEY_OEM_MINUS, ui::EF_NONE}, |
| 1408 {ui::VKEY_OEM_MINUS, ui::EF_NONE}, |
| 1409 {ui::VKEY_OEM_MINUS, ui::EF_NONE}}, |
| 1410 {ui::ET_KEY_PRESSED, |
| 1411 {ui::VKEY_OEM_PLUS, ui::EF_NONE}, |
| 1412 {ui::VKEY_OEM_PLUS, ui::EF_NONE}, |
| 1413 {ui::VKEY_OEM_PLUS, ui::EF_NONE}}, |
| 1414 |
| 1415 // The number row should be rewritten as the F<number> row with Search |
| 1416 // key. |
| 1417 {ui::ET_KEY_PRESSED, |
| 1418 {ui::VKEY_1, ui::EF_COMMAND_DOWN}, |
| 1419 {ui::VKEY_F1, ui::EF_NONE}, |
| 1420 {ui::VKEY_F1, ui::EF_NONE}}, |
| 1421 {ui::ET_KEY_PRESSED, |
| 1422 {ui::VKEY_2, ui::EF_COMMAND_DOWN}, |
| 1423 {ui::VKEY_F2, ui::EF_NONE}, |
| 1424 {ui::VKEY_F2, ui::EF_NONE}}, |
| 1425 {ui::ET_KEY_PRESSED, |
| 1426 {ui::VKEY_3, ui::EF_COMMAND_DOWN}, |
| 1427 {ui::VKEY_F3, ui::EF_NONE}, |
| 1428 {ui::VKEY_F3, ui::EF_NONE}}, |
| 1429 {ui::ET_KEY_PRESSED, |
| 1430 {ui::VKEY_4, ui::EF_COMMAND_DOWN}, |
| 1431 {ui::VKEY_F4, ui::EF_NONE}, |
| 1432 {ui::VKEY_F4, ui::EF_NONE}}, |
| 1433 {ui::ET_KEY_PRESSED, |
| 1434 {ui::VKEY_5, ui::EF_COMMAND_DOWN}, |
| 1435 {ui::VKEY_F5, ui::EF_NONE}, |
| 1436 {ui::VKEY_F5, ui::EF_NONE}}, |
| 1437 {ui::ET_KEY_PRESSED, |
| 1438 {ui::VKEY_6, ui::EF_COMMAND_DOWN}, |
| 1439 {ui::VKEY_F6, ui::EF_NONE}, |
| 1440 {ui::VKEY_F6, ui::EF_NONE}}, |
| 1441 {ui::ET_KEY_PRESSED, |
| 1442 {ui::VKEY_7, ui::EF_COMMAND_DOWN}, |
| 1443 {ui::VKEY_F7, ui::EF_NONE}, |
| 1444 {ui::VKEY_F7, ui::EF_NONE}}, |
| 1445 {ui::ET_KEY_PRESSED, |
| 1446 {ui::VKEY_8, ui::EF_COMMAND_DOWN}, |
| 1447 {ui::VKEY_F8, ui::EF_NONE}, |
| 1448 {ui::VKEY_F8, ui::EF_NONE}}, |
| 1449 {ui::ET_KEY_PRESSED, |
| 1450 {ui::VKEY_9, ui::EF_COMMAND_DOWN}, |
| 1451 {ui::VKEY_F9, ui::EF_NONE}, |
| 1452 {ui::VKEY_F9, ui::EF_NONE}}, |
| 1453 {ui::ET_KEY_PRESSED, |
| 1454 {ui::VKEY_0, ui::EF_COMMAND_DOWN}, |
| 1455 {ui::VKEY_F10, ui::EF_NONE}, |
| 1456 {ui::VKEY_F10, ui::EF_NONE}}, |
| 1457 {ui::ET_KEY_PRESSED, |
| 1458 {ui::VKEY_OEM_MINUS, ui::EF_COMMAND_DOWN}, |
1260 {ui::VKEY_F11, ui::EF_NONE}, | 1459 {ui::VKEY_F11, ui::EF_NONE}, |
1261 {ui::VKEY_F11, ui::EF_NONE}}, | 1460 {ui::VKEY_F11, ui::EF_NONE}}, |
1262 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1461 {ui::ET_KEY_PRESSED, |
1263 {ui::VKEY_F11, ui::EF_CONTROL_DOWN}, | 1462 {ui::VKEY_OEM_PLUS, ui::EF_COMMAND_DOWN}, |
1264 {ui::VKEY_F11, ui::EF_CONTROL_DOWN}}, | |
1265 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1266 {ui::VKEY_F11, ui::EF_ALT_DOWN}, | |
1267 {ui::VKEY_F11, ui::EF_ALT_DOWN}}, | |
1268 // F12 -> F12 | |
1269 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1270 {ui::VKEY_F12, ui::EF_NONE}, | 1463 {ui::VKEY_F12, ui::EF_NONE}, |
1271 {ui::VKEY_F12, ui::EF_NONE}}, | 1464 {ui::VKEY_F12, ui::EF_NONE}}, |
1272 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1273 {ui::VKEY_F12, ui::EF_CONTROL_DOWN}, | |
1274 {ui::VKEY_F12, ui::EF_CONTROL_DOWN}}, | |
1275 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1276 {ui::VKEY_F12, ui::EF_ALT_DOWN}, | |
1277 {ui::VKEY_F12, ui::EF_ALT_DOWN}}, | |
1278 | |
1279 // The number row should not be rewritten without Search key. | |
1280 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1281 {ui::VKEY_1, ui::EF_NONE}, | |
1282 {ui::VKEY_1, ui::EF_NONE}}, | |
1283 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1284 {ui::VKEY_2, ui::EF_NONE}, | |
1285 {ui::VKEY_2, ui::EF_NONE}}, | |
1286 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1287 {ui::VKEY_3, ui::EF_NONE}, | |
1288 {ui::VKEY_3, ui::EF_NONE}}, | |
1289 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1290 {ui::VKEY_4, ui::EF_NONE}, | |
1291 {ui::VKEY_4, ui::EF_NONE}}, | |
1292 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1293 {ui::VKEY_5, ui::EF_NONE}, | |
1294 {ui::VKEY_5, ui::EF_NONE}}, | |
1295 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1296 {ui::VKEY_6, ui::EF_NONE}, | |
1297 {ui::VKEY_6, ui::EF_NONE}}, | |
1298 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1299 {ui::VKEY_7, ui::EF_NONE}, | |
1300 {ui::VKEY_7, ui::EF_NONE}}, | |
1301 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1302 {ui::VKEY_8, ui::EF_NONE}, | |
1303 {ui::VKEY_8, ui::EF_NONE}}, | |
1304 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1305 {ui::VKEY_9, ui::EF_NONE}, | |
1306 {ui::VKEY_9, ui::EF_NONE}}, | |
1307 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1308 {ui::VKEY_0, ui::EF_NONE}, | |
1309 {ui::VKEY_0, ui::EF_NONE}}, | |
1310 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1311 {ui::VKEY_OEM_MINUS, ui::EF_NONE}, | |
1312 {ui::VKEY_OEM_MINUS, ui::EF_NONE}}, | |
1313 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1314 {ui::VKEY_OEM_PLUS, ui::EF_NONE}, | |
1315 {ui::VKEY_OEM_PLUS, ui::EF_NONE}}, | |
1316 | |
1317 // The number row should be rewritten as the F<number> row with Search | |
1318 // key. | |
1319 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1320 {ui::VKEY_1, ui::EF_COMMAND_DOWN}, | |
1321 {ui::VKEY_F1, ui::EF_NONE}}, | |
1322 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1323 {ui::VKEY_2, ui::EF_COMMAND_DOWN}, | |
1324 {ui::VKEY_F2, ui::EF_NONE}}, | |
1325 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1326 {ui::VKEY_3, ui::EF_COMMAND_DOWN}, | |
1327 {ui::VKEY_F3, ui::EF_NONE}}, | |
1328 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1329 {ui::VKEY_4, ui::EF_COMMAND_DOWN}, | |
1330 {ui::VKEY_F4, ui::EF_NONE}}, | |
1331 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1332 {ui::VKEY_5, ui::EF_COMMAND_DOWN}, | |
1333 {ui::VKEY_F5, ui::EF_NONE}}, | |
1334 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1335 {ui::VKEY_6, ui::EF_COMMAND_DOWN}, | |
1336 {ui::VKEY_F6, ui::EF_NONE}}, | |
1337 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1338 {ui::VKEY_7, ui::EF_COMMAND_DOWN}, | |
1339 {ui::VKEY_F7, ui::EF_NONE}}, | |
1340 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1341 {ui::VKEY_8, ui::EF_COMMAND_DOWN}, | |
1342 {ui::VKEY_F8, ui::EF_NONE}}, | |
1343 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1344 {ui::VKEY_9, ui::EF_COMMAND_DOWN}, | |
1345 {ui::VKEY_F9, ui::EF_NONE}}, | |
1346 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1347 {ui::VKEY_0, ui::EF_COMMAND_DOWN}, | |
1348 {ui::VKEY_F10, ui::EF_NONE}}, | |
1349 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1350 {ui::VKEY_OEM_MINUS, ui::EF_COMMAND_DOWN}, | |
1351 {ui::VKEY_F11, ui::EF_NONE}}, | |
1352 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | |
1353 {ui::VKEY_OEM_PLUS, ui::EF_COMMAND_DOWN}, | |
1354 {ui::VKEY_F12, ui::EF_NONE}}, | |
1355 | 1465 |
1356 // The function keys should not be rewritten with Search key pressed. | 1466 // The function keys should not be rewritten with Search key pressed. |
1357 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1467 {ui::ET_KEY_PRESSED, |
1358 {ui::VKEY_F1, ui::EF_COMMAND_DOWN}, | 1468 {ui::VKEY_F1, ui::EF_COMMAND_DOWN}, |
1359 {ui::VKEY_F1, ui::EF_NONE}}, | 1469 {ui::VKEY_F1, ui::EF_NONE}, |
1360 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1470 {ui::VKEY_F1, ui::EF_FUNCTION_KEY}}, |
| 1471 {ui::ET_KEY_PRESSED, |
1361 {ui::VKEY_F2, ui::EF_COMMAND_DOWN}, | 1472 {ui::VKEY_F2, ui::EF_COMMAND_DOWN}, |
1362 {ui::VKEY_F2, ui::EF_NONE}}, | 1473 {ui::VKEY_F2, ui::EF_NONE}, |
1363 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1474 {ui::VKEY_F2, ui::EF_FUNCTION_KEY}}, |
| 1475 {ui::ET_KEY_PRESSED, |
1364 {ui::VKEY_F3, ui::EF_COMMAND_DOWN}, | 1476 {ui::VKEY_F3, ui::EF_COMMAND_DOWN}, |
1365 {ui::VKEY_F3, ui::EF_NONE}}, | 1477 {ui::VKEY_F3, ui::EF_NONE}, |
1366 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1478 {ui::VKEY_F3, ui::EF_FUNCTION_KEY}}, |
| 1479 {ui::ET_KEY_PRESSED, |
1367 {ui::VKEY_F4, ui::EF_COMMAND_DOWN}, | 1480 {ui::VKEY_F4, ui::EF_COMMAND_DOWN}, |
1368 {ui::VKEY_F4, ui::EF_NONE}}, | 1481 {ui::VKEY_F4, ui::EF_NONE}, |
1369 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1482 {ui::VKEY_F4, ui::EF_FUNCTION_KEY}}, |
| 1483 {ui::ET_KEY_PRESSED, |
1370 {ui::VKEY_F5, ui::EF_COMMAND_DOWN}, | 1484 {ui::VKEY_F5, ui::EF_COMMAND_DOWN}, |
1371 {ui::VKEY_F5, ui::EF_NONE}}, | 1485 {ui::VKEY_F5, ui::EF_NONE}, |
1372 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1486 {ui::VKEY_F5, ui::EF_FUNCTION_KEY}}, |
| 1487 {ui::ET_KEY_PRESSED, |
1373 {ui::VKEY_F6, ui::EF_COMMAND_DOWN}, | 1488 {ui::VKEY_F6, ui::EF_COMMAND_DOWN}, |
1374 {ui::VKEY_F6, ui::EF_NONE}}, | 1489 {ui::VKEY_F6, ui::EF_NONE}, |
1375 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1490 {ui::VKEY_F6, ui::EF_FUNCTION_KEY}}, |
| 1491 {ui::ET_KEY_PRESSED, |
1376 {ui::VKEY_F7, ui::EF_COMMAND_DOWN}, | 1492 {ui::VKEY_F7, ui::EF_COMMAND_DOWN}, |
1377 {ui::VKEY_F7, ui::EF_NONE}}, | 1493 {ui::VKEY_F7, ui::EF_NONE}, |
1378 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1494 {ui::VKEY_F7, ui::EF_FUNCTION_KEY}}, |
| 1495 {ui::ET_KEY_PRESSED, |
1379 {ui::VKEY_F8, ui::EF_COMMAND_DOWN}, | 1496 {ui::VKEY_F8, ui::EF_COMMAND_DOWN}, |
1380 {ui::VKEY_F8, ui::EF_NONE}}, | 1497 {ui::VKEY_F8, ui::EF_NONE}, |
1381 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1498 {ui::VKEY_F8, ui::EF_FUNCTION_KEY}}, |
| 1499 {ui::ET_KEY_PRESSED, |
1382 {ui::VKEY_F9, ui::EF_COMMAND_DOWN}, | 1500 {ui::VKEY_F9, ui::EF_COMMAND_DOWN}, |
1383 {ui::VKEY_F9, ui::EF_NONE}}, | 1501 {ui::VKEY_F9, ui::EF_NONE}, |
1384 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1502 {ui::VKEY_F9, ui::EF_FUNCTION_KEY}}, |
| 1503 {ui::ET_KEY_PRESSED, |
1385 {ui::VKEY_F10, ui::EF_COMMAND_DOWN}, | 1504 {ui::VKEY_F10, ui::EF_COMMAND_DOWN}, |
1386 {ui::VKEY_F10, ui::EF_NONE}}, | 1505 {ui::VKEY_F10, ui::EF_NONE}, |
1387 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1506 {ui::VKEY_F10, ui::EF_FUNCTION_KEY}}, |
| 1507 {ui::ET_KEY_PRESSED, |
1388 {ui::VKEY_F11, ui::EF_COMMAND_DOWN}, | 1508 {ui::VKEY_F11, ui::EF_COMMAND_DOWN}, |
1389 {ui::VKEY_F11, ui::EF_NONE}}, | 1509 {ui::VKEY_F11, ui::EF_NONE}, |
1390 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 1510 {ui::VKEY_F11, ui::EF_FUNCTION_KEY}}, |
| 1511 {ui::ET_KEY_PRESSED, |
1391 {ui::VKEY_F12, ui::EF_COMMAND_DOWN}, | 1512 {ui::VKEY_F12, ui::EF_COMMAND_DOWN}, |
1392 {ui::VKEY_F12, ui::EF_NONE}}, | 1513 {ui::VKEY_F12, ui::EF_NONE}, |
| 1514 {ui::VKEY_F12, ui::EF_FUNCTION_KEY}}, |
1393 }; | 1515 }; |
1394 | 1516 |
1395 for (size_t i = 0; i < arraysize(tests); ++i) { | 1517 for (size_t i = 0; i < arraysize(tests); ++i) { |
1396 CheckKeyTestCase(1000 + i, &rewriter, tests[i]); | 1518 CheckFunctionKeyTestCase(1000 + i, &rewriter, tests[i]); |
1397 } | 1519 } |
1398 } | 1520 } |
1399 | 1521 |
1400 TEST_F(EventRewriterTest, TestRewriteExtendedKeysWithSearchRemapped) { | 1522 TEST_F(EventRewriterTest, TestRewriteExtendedKeysWithSearchRemapped) { |
1401 const CommandLine original_cl(*CommandLine::ForCurrentProcess()); | 1523 const CommandLine original_cl(*CommandLine::ForCurrentProcess()); |
1402 | 1524 |
1403 // Remap Search to Control. | 1525 // Remap Search to Control. |
1404 TestingPrefServiceSyncable prefs; | 1526 TestingPrefServiceSyncable prefs; |
1405 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); | 1527 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
1406 IntegerPrefMember search; | 1528 IntegerPrefMember search; |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1666 ui::ScopedXI2Event xev; | 1788 ui::ScopedXI2Event xev; |
1667 xev.InitGenericButtonEvent( | 1789 xev.InitGenericButtonEvent( |
1668 11, ui::ET_MOUSE_RELEASED, gfx::Point(), kLeftAndAltFlag); | 1790 11, ui::ET_MOUSE_RELEASED, gfx::Point(), kLeftAndAltFlag); |
1669 ui::MouseEvent release(xev); | 1791 ui::MouseEvent release(xev); |
1670 int flags = RewriteMouseEvent(&rewriter, release); | 1792 int flags = RewriteMouseEvent(&rewriter, release); |
1671 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & flags); | 1793 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & flags); |
1672 } | 1794 } |
1673 } | 1795 } |
1674 | 1796 |
1675 } // namespace chromeos | 1797 } // namespace chromeos |
OLD | NEW |