| 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 1168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1179 EventRewriter rewriter; | 1179 EventRewriter rewriter; |
| 1180 rewriter.set_pref_service_for_testing(&prefs); | 1180 rewriter.set_pref_service_for_testing(&prefs); |
| 1181 | 1181 |
| 1182 struct { | 1182 struct { |
| 1183 ui::KeyboardCode input; | 1183 ui::KeyboardCode input; |
| 1184 unsigned int input_mods; | 1184 unsigned int input_mods; |
| 1185 ui::KeyboardCode output; | 1185 ui::KeyboardCode output; |
| 1186 unsigned int output_mods; | 1186 unsigned int output_mods; |
| 1187 } tests[] = { | 1187 } tests[] = { |
| 1188 // F1 -> Back | 1188 // F1 -> Back |
| 1189 {ui::VKEY_F1, ui::EF_NONE, ui::VKEY_BROWSER_BACK, ui::EF_NONE}, | 1189 {ui::VKEY_F1, ui::EF_NONE, ui::VKEY_BROWSER_BACK, ui::EF_FUNCTION_KEY}, |
| 1190 {ui::VKEY_F1, ui::EF_CONTROL_DOWN, ui::VKEY_BROWSER_BACK, | 1190 {ui::VKEY_F1, ui::EF_CONTROL_DOWN, ui::VKEY_BROWSER_BACK, |
| 1191 ui::EF_CONTROL_DOWN}, | 1191 ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}, |
| 1192 {ui::VKEY_F1, ui::EF_ALT_DOWN, ui::VKEY_BROWSER_BACK, ui::EF_ALT_DOWN}, | 1192 {ui::VKEY_F1, ui::EF_ALT_DOWN, ui::VKEY_BROWSER_BACK, |
| 1193 ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}, |
| 1193 // F2 -> Forward | 1194 // F2 -> Forward |
| 1194 {ui::VKEY_F2, ui::EF_NONE, ui::VKEY_BROWSER_FORWARD, ui::EF_NONE}, | 1195 {ui::VKEY_F2, ui::EF_NONE, ui::VKEY_BROWSER_FORWARD, |
| 1196 ui::EF_FUNCTION_KEY}, |
| 1195 {ui::VKEY_F2, ui::EF_CONTROL_DOWN, ui::VKEY_BROWSER_FORWARD, | 1197 {ui::VKEY_F2, ui::EF_CONTROL_DOWN, ui::VKEY_BROWSER_FORWARD, |
| 1196 ui::EF_CONTROL_DOWN}, | 1198 ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}, |
| 1197 {ui::VKEY_F2, ui::EF_ALT_DOWN, ui::VKEY_BROWSER_FORWARD, | 1199 {ui::VKEY_F2, ui::EF_ALT_DOWN, ui::VKEY_BROWSER_FORWARD, |
| 1198 ui::EF_ALT_DOWN}, | 1200 ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}, |
| 1199 // F3 -> Refresh | 1201 // F3 -> Refresh |
| 1200 {ui::VKEY_F3, ui::EF_NONE, ui::VKEY_BROWSER_REFRESH, ui::EF_NONE}, | 1202 {ui::VKEY_F3, ui::EF_NONE, ui::VKEY_BROWSER_REFRESH, |
| 1203 ui::EF_FUNCTION_KEY}, |
| 1201 {ui::VKEY_F3, ui::EF_CONTROL_DOWN, ui::VKEY_BROWSER_REFRESH, | 1204 {ui::VKEY_F3, ui::EF_CONTROL_DOWN, ui::VKEY_BROWSER_REFRESH, |
| 1202 ui::EF_CONTROL_DOWN}, | 1205 ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}, |
| 1203 {ui::VKEY_F3, ui::EF_ALT_DOWN, ui::VKEY_BROWSER_REFRESH, | 1206 {ui::VKEY_F3, ui::EF_ALT_DOWN, ui::VKEY_BROWSER_REFRESH, |
| 1204 ui::EF_ALT_DOWN}, | 1207 ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}, |
| 1205 // F4 -> Launch App 2 | 1208 // F4 -> Launch App 2 |
| 1206 {ui::VKEY_F4, ui::EF_NONE, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE}, | 1209 {ui::VKEY_F4, ui::EF_NONE, ui::VKEY_MEDIA_LAUNCH_APP2, |
| 1210 ui::EF_FUNCTION_KEY}, |
| 1207 {ui::VKEY_F4, ui::EF_CONTROL_DOWN, ui::VKEY_MEDIA_LAUNCH_APP2, | 1211 {ui::VKEY_F4, ui::EF_CONTROL_DOWN, ui::VKEY_MEDIA_LAUNCH_APP2, |
| 1208 ui::EF_CONTROL_DOWN}, | 1212 ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}, |
| 1209 {ui::VKEY_F4, ui::EF_ALT_DOWN, ui::VKEY_MEDIA_LAUNCH_APP2, | 1213 {ui::VKEY_F4, ui::EF_ALT_DOWN, ui::VKEY_MEDIA_LAUNCH_APP2, |
| 1210 ui::EF_ALT_DOWN}, | 1214 ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}, |
| 1211 // F5 -> Launch App 1 | 1215 // F5 -> Launch App 1 |
| 1212 {ui::VKEY_F5, ui::EF_NONE, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE}, | 1216 {ui::VKEY_F5, ui::EF_NONE, ui::VKEY_MEDIA_LAUNCH_APP1, |
| 1217 ui::EF_FUNCTION_KEY}, |
| 1213 {ui::VKEY_F5, ui::EF_CONTROL_DOWN, ui::VKEY_MEDIA_LAUNCH_APP1, | 1218 {ui::VKEY_F5, ui::EF_CONTROL_DOWN, ui::VKEY_MEDIA_LAUNCH_APP1, |
| 1214 ui::EF_CONTROL_DOWN}, | 1219 ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}, |
| 1215 {ui::VKEY_F5, ui::EF_ALT_DOWN, ui::VKEY_MEDIA_LAUNCH_APP1, | 1220 {ui::VKEY_F5, ui::EF_ALT_DOWN, ui::VKEY_MEDIA_LAUNCH_APP1, |
| 1216 ui::EF_ALT_DOWN}, | 1221 ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}, |
| 1217 // F6 -> Brightness down | 1222 // F6 -> Brightness down |
| 1218 {ui::VKEY_F6, ui::EF_NONE, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE}, | 1223 {ui::VKEY_F6, ui::EF_NONE, ui::VKEY_BRIGHTNESS_DOWN, |
| 1224 ui::EF_FUNCTION_KEY}, |
| 1219 {ui::VKEY_F6, ui::EF_CONTROL_DOWN, ui::VKEY_BRIGHTNESS_DOWN, | 1225 {ui::VKEY_F6, ui::EF_CONTROL_DOWN, ui::VKEY_BRIGHTNESS_DOWN, |
| 1220 ui::EF_CONTROL_DOWN}, | 1226 ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}, |
| 1221 {ui::VKEY_F6, ui::EF_ALT_DOWN, ui::VKEY_BRIGHTNESS_DOWN, | 1227 {ui::VKEY_F6, ui::EF_ALT_DOWN, ui::VKEY_BRIGHTNESS_DOWN, |
| 1222 ui::EF_ALT_DOWN}, | 1228 ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}, |
| 1223 // F7 -> Brightness up | 1229 // F7 -> Brightness up |
| 1224 {ui::VKEY_F7, ui::EF_NONE, ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE}, | 1230 {ui::VKEY_F7, ui::EF_NONE, ui::VKEY_BRIGHTNESS_UP, ui::EF_FUNCTION_KEY}, |
| 1225 {ui::VKEY_F7, ui::EF_CONTROL_DOWN, ui::VKEY_BRIGHTNESS_UP, | 1231 {ui::VKEY_F7, ui::EF_CONTROL_DOWN, ui::VKEY_BRIGHTNESS_UP, |
| 1226 ui::EF_CONTROL_DOWN}, | 1232 ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}, |
| 1227 {ui::VKEY_F7, ui::EF_ALT_DOWN, ui::VKEY_BRIGHTNESS_UP, ui::EF_ALT_DOWN}, | 1233 {ui::VKEY_F7, ui::EF_ALT_DOWN, ui::VKEY_BRIGHTNESS_UP, |
| 1234 ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}, |
| 1228 // F8 -> Volume Mute | 1235 // F8 -> Volume Mute |
| 1229 {ui::VKEY_F8, ui::EF_NONE, ui::VKEY_VOLUME_MUTE, ui::EF_NONE}, | 1236 {ui::VKEY_F8, ui::EF_NONE, ui::VKEY_VOLUME_MUTE, ui::EF_FUNCTION_KEY}, |
| 1230 {ui::VKEY_F8, ui::EF_CONTROL_DOWN, ui::VKEY_VOLUME_MUTE, | 1237 {ui::VKEY_F8, ui::EF_CONTROL_DOWN, ui::VKEY_VOLUME_MUTE, |
| 1231 ui::EF_CONTROL_DOWN}, | 1238 ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}, |
| 1232 {ui::VKEY_F8, ui::EF_ALT_DOWN, ui::VKEY_VOLUME_MUTE, ui::EF_ALT_DOWN}, | 1239 {ui::VKEY_F8, ui::EF_ALT_DOWN, ui::VKEY_VOLUME_MUTE, |
| 1240 ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}, |
| 1233 // F9 -> Volume Down | 1241 // F9 -> Volume Down |
| 1234 {ui::VKEY_F9, ui::EF_NONE, ui::VKEY_VOLUME_DOWN, ui::EF_NONE}, | 1242 {ui::VKEY_F9, ui::EF_NONE, ui::VKEY_VOLUME_DOWN, ui::EF_FUNCTION_KEY}, |
| 1235 {ui::VKEY_F9, ui::EF_CONTROL_DOWN, ui::VKEY_VOLUME_DOWN, | 1243 {ui::VKEY_F9, ui::EF_CONTROL_DOWN, ui::VKEY_VOLUME_DOWN, |
| 1236 ui::EF_CONTROL_DOWN}, | 1244 ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}, |
| 1237 {ui::VKEY_F9, ui::EF_ALT_DOWN, ui::VKEY_VOLUME_DOWN, ui::EF_ALT_DOWN}, | 1245 {ui::VKEY_F9, ui::EF_ALT_DOWN, ui::VKEY_VOLUME_DOWN, |
| 1246 ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}, |
| 1238 // F10 -> Volume Up | 1247 // F10 -> Volume Up |
| 1239 {ui::VKEY_F10, ui::EF_NONE, ui::VKEY_VOLUME_UP, ui::EF_NONE}, | 1248 {ui::VKEY_F10, ui::EF_NONE, ui::VKEY_VOLUME_UP, ui::EF_FUNCTION_KEY}, |
| 1240 {ui::VKEY_F10, ui::EF_CONTROL_DOWN, ui::VKEY_VOLUME_UP, | 1249 {ui::VKEY_F10, ui::EF_CONTROL_DOWN, ui::VKEY_VOLUME_UP, |
| 1241 ui::EF_CONTROL_DOWN}, | 1250 ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}, |
| 1242 {ui::VKEY_F10, ui::EF_ALT_DOWN, ui::VKEY_VOLUME_UP, ui::EF_ALT_DOWN}, | 1251 {ui::VKEY_F10, ui::EF_ALT_DOWN, ui::VKEY_VOLUME_UP, |
| 1252 ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}, |
| 1243 // F11 -> F11 | 1253 // F11 -> F11 |
| 1244 {ui::VKEY_F11, ui::EF_NONE, ui::VKEY_F11, ui::EF_NONE}, | 1254 {ui::VKEY_F11, ui::EF_NONE, ui::VKEY_F11, ui::EF_FUNCTION_KEY}, |
| 1245 {ui::VKEY_F11, ui::EF_CONTROL_DOWN, ui::VKEY_F11, ui::EF_CONTROL_DOWN}, | 1255 {ui::VKEY_F11, ui::EF_CONTROL_DOWN, ui::VKEY_F11, |
| 1246 {ui::VKEY_F11, ui::EF_ALT_DOWN, ui::VKEY_F11, ui::EF_ALT_DOWN}, | 1256 ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}, |
| 1257 {ui::VKEY_F11, ui::EF_ALT_DOWN, ui::VKEY_F11, |
| 1258 ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}, |
| 1247 // F12 -> F12 | 1259 // F12 -> F12 |
| 1248 {ui::VKEY_F12, ui::EF_NONE, ui::VKEY_F12, ui::EF_NONE}, | 1260 {ui::VKEY_F12, ui::EF_NONE, ui::VKEY_F12, ui::EF_FUNCTION_KEY}, |
| 1249 {ui::VKEY_F12, ui::EF_CONTROL_DOWN, ui::VKEY_F12, ui::EF_CONTROL_DOWN}, | 1261 {ui::VKEY_F12, ui::EF_CONTROL_DOWN, ui::VKEY_F12, |
| 1250 {ui::VKEY_F12, ui::EF_ALT_DOWN, ui::VKEY_F12, ui::EF_ALT_DOWN}, | 1262 ui::EF_CONTROL_DOWN | ui::EF_FUNCTION_KEY}, |
| 1263 {ui::VKEY_F12, ui::EF_ALT_DOWN, ui::VKEY_F12, |
| 1264 ui::EF_ALT_DOWN | ui::EF_FUNCTION_KEY}, |
| 1251 | 1265 |
| 1252 // The number row should not be rewritten without Search key. | 1266 // The number row should not be rewritten without Search key. |
| 1253 {ui::VKEY_1, ui::EF_NONE, ui::VKEY_1, ui::EF_NONE}, | 1267 {ui::VKEY_1, ui::EF_NONE, ui::VKEY_1, ui::EF_NONE}, |
| 1254 {ui::VKEY_2, ui::EF_NONE, ui::VKEY_2, ui::EF_NONE}, | 1268 {ui::VKEY_2, ui::EF_NONE, ui::VKEY_2, ui::EF_NONE}, |
| 1255 {ui::VKEY_3, ui::EF_NONE, ui::VKEY_3, ui::EF_NONE}, | 1269 {ui::VKEY_3, ui::EF_NONE, ui::VKEY_3, ui::EF_NONE}, |
| 1256 {ui::VKEY_4, ui::EF_NONE, ui::VKEY_4, ui::EF_NONE}, | 1270 {ui::VKEY_4, ui::EF_NONE, ui::VKEY_4, ui::EF_NONE}, |
| 1257 {ui::VKEY_5, ui::EF_NONE, ui::VKEY_5, ui::EF_NONE}, | 1271 {ui::VKEY_5, ui::EF_NONE, ui::VKEY_5, ui::EF_NONE}, |
| 1258 {ui::VKEY_6, ui::EF_NONE, ui::VKEY_6, ui::EF_NONE}, | 1272 {ui::VKEY_6, ui::EF_NONE, ui::VKEY_6, ui::EF_NONE}, |
| 1259 {ui::VKEY_7, ui::EF_NONE, ui::VKEY_7, ui::EF_NONE}, | 1273 {ui::VKEY_7, ui::EF_NONE, ui::VKEY_7, ui::EF_NONE}, |
| 1260 {ui::VKEY_8, ui::EF_NONE, ui::VKEY_8, ui::EF_NONE}, | 1274 {ui::VKEY_8, ui::EF_NONE, ui::VKEY_8, ui::EF_NONE}, |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1272 {ui::VKEY_5, ui::EF_COMMAND_DOWN, ui::VKEY_F5, ui::EF_NONE}, | 1286 {ui::VKEY_5, ui::EF_COMMAND_DOWN, ui::VKEY_F5, ui::EF_NONE}, |
| 1273 {ui::VKEY_6, ui::EF_COMMAND_DOWN, ui::VKEY_F6, ui::EF_NONE}, | 1287 {ui::VKEY_6, ui::EF_COMMAND_DOWN, ui::VKEY_F6, ui::EF_NONE}, |
| 1274 {ui::VKEY_7, ui::EF_COMMAND_DOWN, ui::VKEY_F7, ui::EF_NONE}, | 1288 {ui::VKEY_7, ui::EF_COMMAND_DOWN, ui::VKEY_F7, ui::EF_NONE}, |
| 1275 {ui::VKEY_8, ui::EF_COMMAND_DOWN, ui::VKEY_F8, ui::EF_NONE}, | 1289 {ui::VKEY_8, ui::EF_COMMAND_DOWN, ui::VKEY_F8, ui::EF_NONE}, |
| 1276 {ui::VKEY_9, ui::EF_COMMAND_DOWN, ui::VKEY_F9, ui::EF_NONE}, | 1290 {ui::VKEY_9, ui::EF_COMMAND_DOWN, ui::VKEY_F9, ui::EF_NONE}, |
| 1277 {ui::VKEY_0, ui::EF_COMMAND_DOWN, ui::VKEY_F10, ui::EF_NONE}, | 1291 {ui::VKEY_0, ui::EF_COMMAND_DOWN, ui::VKEY_F10, ui::EF_NONE}, |
| 1278 {ui::VKEY_OEM_MINUS, ui::EF_COMMAND_DOWN, ui::VKEY_F11, ui::EF_NONE}, | 1292 {ui::VKEY_OEM_MINUS, ui::EF_COMMAND_DOWN, ui::VKEY_F11, ui::EF_NONE}, |
| 1279 {ui::VKEY_OEM_PLUS, ui::EF_COMMAND_DOWN, ui::VKEY_F12, ui::EF_NONE}, | 1293 {ui::VKEY_OEM_PLUS, ui::EF_COMMAND_DOWN, ui::VKEY_F12, ui::EF_NONE}, |
| 1280 | 1294 |
| 1281 // The function keys should not be rewritten with Search key pressed. | 1295 // The function keys should not be rewritten with Search key pressed. |
| 1282 {ui::VKEY_F1, ui::EF_COMMAND_DOWN, ui::VKEY_F1, ui::EF_NONE}, | 1296 {ui::VKEY_F1, ui::EF_COMMAND_DOWN, ui::VKEY_F1, ui::EF_FUNCTION_KEY}, |
| 1283 {ui::VKEY_F2, ui::EF_COMMAND_DOWN, ui::VKEY_F2, ui::EF_NONE}, | 1297 {ui::VKEY_F2, ui::EF_COMMAND_DOWN, ui::VKEY_F2, ui::EF_FUNCTION_KEY}, |
| 1284 {ui::VKEY_F3, ui::EF_COMMAND_DOWN, ui::VKEY_F3, ui::EF_NONE}, | 1298 {ui::VKEY_F3, ui::EF_COMMAND_DOWN, ui::VKEY_F3, ui::EF_FUNCTION_KEY}, |
| 1285 {ui::VKEY_F4, ui::EF_COMMAND_DOWN, ui::VKEY_F4, ui::EF_NONE}, | 1299 {ui::VKEY_F4, ui::EF_COMMAND_DOWN, ui::VKEY_F4, ui::EF_FUNCTION_KEY}, |
| 1286 {ui::VKEY_F5, ui::EF_COMMAND_DOWN, ui::VKEY_F5, ui::EF_NONE}, | 1300 {ui::VKEY_F5, ui::EF_COMMAND_DOWN, ui::VKEY_F5, ui::EF_FUNCTION_KEY}, |
| 1287 {ui::VKEY_F6, ui::EF_COMMAND_DOWN, ui::VKEY_F6, ui::EF_NONE}, | 1301 {ui::VKEY_F6, ui::EF_COMMAND_DOWN, ui::VKEY_F6, ui::EF_FUNCTION_KEY}, |
| 1288 {ui::VKEY_F7, ui::EF_COMMAND_DOWN, ui::VKEY_F7, ui::EF_NONE}, | 1302 {ui::VKEY_F7, ui::EF_COMMAND_DOWN, ui::VKEY_F7, ui::EF_FUNCTION_KEY}, |
| 1289 {ui::VKEY_F8, ui::EF_COMMAND_DOWN, ui::VKEY_F8, ui::EF_NONE}, | 1303 {ui::VKEY_F8, ui::EF_COMMAND_DOWN, ui::VKEY_F8, ui::EF_FUNCTION_KEY}, |
| 1290 {ui::VKEY_F9, ui::EF_COMMAND_DOWN, ui::VKEY_F9, ui::EF_NONE}, | 1304 {ui::VKEY_F9, ui::EF_COMMAND_DOWN, ui::VKEY_F9, ui::EF_FUNCTION_KEY}, |
| 1291 {ui::VKEY_F10, ui::EF_COMMAND_DOWN, ui::VKEY_F10, ui::EF_NONE}, | 1305 {ui::VKEY_F10, ui::EF_COMMAND_DOWN, ui::VKEY_F10, ui::EF_FUNCTION_KEY}, |
| 1292 {ui::VKEY_F11, ui::EF_COMMAND_DOWN, ui::VKEY_F11, ui::EF_NONE}, | 1306 {ui::VKEY_F11, ui::EF_COMMAND_DOWN, ui::VKEY_F11, ui::EF_FUNCTION_KEY}, |
| 1293 {ui::VKEY_F12, ui::EF_COMMAND_DOWN, ui::VKEY_F12, ui::EF_NONE}, | 1307 {ui::VKEY_F12, ui::EF_COMMAND_DOWN, ui::VKEY_F12, ui::EF_FUNCTION_KEY}, |
| 1294 }; | 1308 }; |
| 1295 | 1309 |
| 1296 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { | 1310 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { |
| 1297 EXPECT_EQ(GetExpectedResultNumbered( | 1311 EXPECT_EQ(GetExpectedResultNumbered( |
| 1298 i, tests[i].output, tests[i].output_mods, ui::ET_KEY_PRESSED), | 1312 i, tests[i].output, tests[i].output_mods, ui::ET_KEY_PRESSED), |
| 1299 GetRewrittenEventNumbered(i, | 1313 GetRewrittenEventNumbered(i, |
| 1300 &rewriter, | 1314 &rewriter, |
| 1301 tests[i].input, | 1315 tests[i].input, |
| 1302 tests[i].input_mods, | 1316 tests[i].input_mods, |
| 1303 ui::ET_KEY_PRESSED)); | 1317 ui::ET_KEY_PRESSED)); |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1439 // Create a simulated keypress of F1 targetted at the window. | 1453 // Create a simulated keypress of F1 targetted at the window. |
| 1440 ui::KeyEvent press_f1(ui::ET_KEY_PRESSED, ui::VKEY_F1, 0, false); | 1454 ui::KeyEvent press_f1(ui::ET_KEY_PRESSED, ui::VKEY_F1, 0, false); |
| 1441 | 1455 |
| 1442 // Simulate an apps v2 window that has requested top row keys as function | 1456 // Simulate an apps v2 window that has requested top row keys as function |
| 1443 // keys. The event should not be rewritten. | 1457 // keys. The event should not be rewritten. |
| 1444 window_state->set_top_row_keys_are_function_keys(true); | 1458 window_state->set_top_row_keys_are_function_keys(true); |
| 1445 scoped_ptr<ui::Event> rewritten_event; | 1459 scoped_ptr<ui::Event> rewritten_event; |
| 1446 ASSERT_FALSE(RewriteFunctionKeys(press_f1, &rewritten_event)); | 1460 ASSERT_FALSE(RewriteFunctionKeys(press_f1, &rewritten_event)); |
| 1447 ASSERT_FALSE(rewritten_event); | 1461 ASSERT_FALSE(rewritten_event); |
| 1448 EXPECT_EQ( | 1462 EXPECT_EQ( |
| 1449 GetExpectedResultAsString(ui::VKEY_F1, ui::EF_NONE, ui::ET_KEY_PRESSED), | 1463 GetExpectedResultAsString(ui::VKEY_F1, ui::EF_FUNCTION_KEY, |
| 1464 ui::ET_KEY_PRESSED), |
| 1450 GetKeyEventAsString(press_f1)); | 1465 GetKeyEventAsString(press_f1)); |
| 1451 | 1466 |
| 1452 // The event should also not be rewritten if the send-function-keys pref is | 1467 // The event should also not be rewritten if the send-function-keys pref is |
| 1453 // additionally set, for both apps v2 and regular windows. | 1468 // additionally set, for both apps v2 and regular windows. |
| 1454 BooleanPrefMember send_function_keys_pref; | 1469 BooleanPrefMember send_function_keys_pref; |
| 1455 send_function_keys_pref.Init(prefs::kLanguageSendFunctionKeys, &prefs_); | 1470 send_function_keys_pref.Init(prefs::kLanguageSendFunctionKeys, &prefs_); |
| 1456 send_function_keys_pref.SetValue(true); | 1471 send_function_keys_pref.SetValue(true); |
| 1457 window_state->set_top_row_keys_are_function_keys(false); | 1472 window_state->set_top_row_keys_are_function_keys(false); |
| 1458 ASSERT_FALSE(RewriteFunctionKeys(press_f1, &rewritten_event)); | 1473 ASSERT_FALSE(RewriteFunctionKeys(press_f1, &rewritten_event)); |
| 1459 ASSERT_FALSE(rewritten_event); | 1474 ASSERT_FALSE(rewritten_event); |
| 1460 EXPECT_EQ( | 1475 EXPECT_EQ( |
| 1461 GetExpectedResultAsString(ui::VKEY_F1, ui::EF_NONE, ui::ET_KEY_PRESSED), | 1476 GetExpectedResultAsString(ui::VKEY_F1, ui::EF_FUNCTION_KEY, |
| 1477 ui::ET_KEY_PRESSED), |
| 1462 GetKeyEventAsString(press_f1)); | 1478 GetKeyEventAsString(press_f1)); |
| 1463 | 1479 |
| 1464 // If the pref isn't set when an event is sent to a regular window, F1 is | 1480 // If the pref isn't set when an event is sent to a regular window, F1 is |
| 1465 // rewritten to the back key. | 1481 // rewritten to the back key. |
| 1466 send_function_keys_pref.SetValue(false); | 1482 send_function_keys_pref.SetValue(false); |
| 1467 ASSERT_TRUE(RewriteFunctionKeys(press_f1, &rewritten_event)); | 1483 ASSERT_TRUE(RewriteFunctionKeys(press_f1, &rewritten_event)); |
| 1468 ASSERT_TRUE(rewritten_event); | 1484 ASSERT_TRUE(rewritten_event); |
| 1469 EXPECT_EQ(GetExpectedResultAsString( | 1485 EXPECT_EQ(GetExpectedResultAsString( |
| 1470 ui::VKEY_BROWSER_BACK, ui::EF_NONE, ui::ET_KEY_PRESSED), | 1486 ui::VKEY_BROWSER_BACK, ui::EF_FUNCTION_KEY, |
| 1487 ui::ET_KEY_PRESSED), |
| 1471 GetKeyEventAsString( | 1488 GetKeyEventAsString( |
| 1472 *static_cast<const ui::KeyEvent*>(rewritten_event.get()))); | 1489 *static_cast<const ui::KeyEvent*>(rewritten_event.get()))); |
| 1473 } | 1490 } |
| 1474 | 1491 |
| 1475 TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { | 1492 TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
| 1476 std::vector<unsigned int> device_list; | 1493 std::vector<unsigned int> device_list; |
| 1477 device_list.push_back(10); | 1494 device_list.push_back(10); |
| 1478 device_list.push_back(11); | 1495 device_list.push_back(11); |
| 1479 ui::TouchFactory::GetInstance()->SetPointerDeviceForTest(device_list); | 1496 ui::TouchFactory::GetInstance()->SetPointerDeviceForTest(device_list); |
| 1480 TestingPrefServiceSyncable prefs; | 1497 TestingPrefServiceSyncable prefs; |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1540 ui::ScopedXI2Event xev; | 1557 ui::ScopedXI2Event xev; |
| 1541 xev.InitGenericButtonEvent( | 1558 xev.InitGenericButtonEvent( |
| 1542 11, ui::ET_MOUSE_RELEASED, gfx::Point(), kLeftAndAltFlag); | 1559 11, ui::ET_MOUSE_RELEASED, gfx::Point(), kLeftAndAltFlag); |
| 1543 ui::MouseEvent release(xev); | 1560 ui::MouseEvent release(xev); |
| 1544 int flags = RewriteMouseEvent(&rewriter, release); | 1561 int flags = RewriteMouseEvent(&rewriter, release); |
| 1545 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & flags); | 1562 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & flags); |
| 1546 } | 1563 } |
| 1547 } | 1564 } |
| 1548 | 1565 |
| 1549 } // namespace chromeos | 1566 } // namespace chromeos |
| OLD | NEW |