Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(108)

Side by Side Diff: chrome/browser/chromeos/events/event_rewriter_unittest.cc

Issue 1908683002: Replace OS_LEFT/RIGHT with META_LEFT/RIGHT (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <vector> 7 #include <vector>
8 8
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/sticky_keys/sticky_keys_controller.h" 10 #include "ash/sticky_keys/sticky_keys_controller.h"
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 182
183 // VKEY_A, Alt+Win modifier. 183 // VKEY_A, Alt+Win modifier.
184 {ui::ET_KEY_PRESSED, 184 {ui::ET_KEY_PRESSED,
185 {ui::VKEY_A, ui::DomCode::US_A, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, 185 {ui::VKEY_A, ui::DomCode::US_A, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
186 ui::DomKey::UNIDENTIFIED}, 186 ui::DomKey::UNIDENTIFIED},
187 {ui::VKEY_A, ui::DomCode::US_A, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, 187 {ui::VKEY_A, ui::DomCode::US_A, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
188 ui::DomKey::UNIDENTIFIED}}, 188 ui::DomKey::UNIDENTIFIED}},
189 189
190 // VKEY_LWIN (left Windows key), Alt modifier. 190 // VKEY_LWIN (left Windows key), Alt modifier.
191 {ui::ET_KEY_PRESSED, 191 {ui::ET_KEY_PRESSED,
192 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 192 {ui::VKEY_LWIN, ui::DomCode::META_LEFT,
193 ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, ui::DomKey::META}, 193 ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, ui::DomKey::META},
194 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 194 {ui::VKEY_LWIN, ui::DomCode::META_LEFT,
195 ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, ui::DomKey::META}}, 195 ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, ui::DomKey::META}},
196 196
197 // VKEY_RWIN (right Windows key), Alt modifier. 197 // VKEY_RWIN (right Windows key), Alt modifier.
198 {ui::ET_KEY_PRESSED, 198 {ui::ET_KEY_PRESSED,
199 {ui::VKEY_RWIN, ui::DomCode::OS_RIGHT, 199 {ui::VKEY_RWIN, ui::DomCode::META_RIGHT,
200 ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, ui::DomKey::META}, 200 ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, ui::DomKey::META},
201 {ui::VKEY_RWIN, ui::DomCode::OS_RIGHT, 201 {ui::VKEY_RWIN, ui::DomCode::META_RIGHT,
202 ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, ui::DomKey::META}}, 202 ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, ui::DomKey::META}},
203 }; 203 };
204 204
205 for (const auto& test : pc_keyboard_tests) { 205 for (const auto& test : pc_keyboard_tests) {
206 CheckKeyTestCase(&rewriter, test); 206 CheckKeyTestCase(&rewriter, test);
207 } 207 }
208 208
209 // An Apple keyboard reusing the ID, zero. 209 // An Apple keyboard reusing the ID, zero.
210 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "Apple Keyboard"); 210 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "Apple Keyboard");
211 rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); 211 rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId);
(...skipping 15 matching lines...) Expand all
227 227
228 // VKEY_A, Alt+Win modifier. 228 // VKEY_A, Alt+Win modifier.
229 {ui::ET_KEY_PRESSED, 229 {ui::ET_KEY_PRESSED,
230 {ui::VKEY_A, ui::DomCode::US_A, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, 230 {ui::VKEY_A, ui::DomCode::US_A, ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
231 ui::DomKey::UNIDENTIFIED}, 231 ui::DomKey::UNIDENTIFIED},
232 {ui::VKEY_A, ui::DomCode::US_A, ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN, 232 {ui::VKEY_A, ui::DomCode::US_A, ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN,
233 ui::DomKey::Constant<'a'>::Character}}, 233 ui::DomKey::Constant<'a'>::Character}},
234 234
235 // VKEY_LWIN (left Windows key), Alt modifier. 235 // VKEY_LWIN (left Windows key), Alt modifier.
236 {ui::ET_KEY_PRESSED, 236 {ui::ET_KEY_PRESSED,
237 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 237 {ui::VKEY_LWIN, ui::DomCode::META_LEFT,
238 ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::DomKey::META}, 238 ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::DomKey::META},
239 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, 239 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
240 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ui::DomKey::CONTROL}}, 240 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ui::DomKey::CONTROL}},
241 241
242 // VKEY_RWIN (right Windows key), Alt modifier. 242 // VKEY_RWIN (right Windows key), Alt modifier.
243 {ui::ET_KEY_PRESSED, 243 {ui::ET_KEY_PRESSED,
244 {ui::VKEY_RWIN, ui::DomCode::OS_RIGHT, 244 {ui::VKEY_RWIN, ui::DomCode::META_RIGHT,
245 ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::DomKey::META}, 245 ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::DomKey::META},
246 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_RIGHT, 246 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_RIGHT,
247 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ui::DomKey::CONTROL}}, 247 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ui::DomKey::CONTROL}},
248 }; 248 };
249 249
250 for (const auto& test : apple_keyboard_tests) { 250 for (const auto& test : apple_keyboard_tests) {
251 CheckKeyTestCase(&rewriter, test); 251 CheckKeyTestCase(&rewriter, test);
252 } 252 }
253 } 253 }
254 254
(...skipping 25 matching lines...) Expand all
280 } 280 }
281 281
282 // An Apple keyboard reusing the ID, zero. 282 // An Apple keyboard reusing the ID, zero.
283 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "Apple Keyboard"); 283 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "Apple Keyboard");
284 rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); 284 rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId);
285 285
286 KeyTestCase apple_keyboard_tests[] = { 286 KeyTestCase apple_keyboard_tests[] = {
287 // VKEY_LWIN (left Command key) with Alt modifier. The remapped Command 287 // VKEY_LWIN (left Command key) with Alt modifier. The remapped Command
288 // key should never be re-remapped to Alt. 288 // key should never be re-remapped to Alt.
289 {ui::ET_KEY_PRESSED, 289 {ui::ET_KEY_PRESSED,
290 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 290 {ui::VKEY_LWIN, ui::DomCode::META_LEFT,
291 ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::DomKey::META}, 291 ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::DomKey::META},
292 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, 292 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
293 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ui::DomKey::CONTROL}}, 293 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ui::DomKey::CONTROL}},
294 294
295 // VKEY_RWIN (right Command key) with Alt modifier. The remapped Command 295 // VKEY_RWIN (right Command key) with Alt modifier. The remapped Command
296 // key should never be re-remapped to Alt. 296 // key should never be re-remapped to Alt.
297 {ui::ET_KEY_PRESSED, 297 {ui::ET_KEY_PRESSED,
298 {ui::VKEY_RWIN, ui::DomCode::OS_RIGHT, 298 {ui::VKEY_RWIN, ui::DomCode::META_RIGHT,
299 ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::DomKey::META}, 299 ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, ui::DomKey::META},
300 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_RIGHT, 300 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_RIGHT,
301 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ui::DomKey::CONTROL}}, 301 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ui::DomKey::CONTROL}},
302 }; 302 };
303 303
304 for (const auto& test : apple_keyboard_tests) { 304 for (const auto& test : apple_keyboard_tests) {
305 CheckKeyTestCase(&rewriter, test); 305 CheckKeyTestCase(&rewriter, test);
306 } 306 }
307 } 307 }
308 308
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
545 545
546 TEST_F(EventRewriterTest, TestRewriteModifiersNoRemap) { 546 TEST_F(EventRewriterTest, TestRewriteModifiersNoRemap) {
547 syncable_prefs::TestingPrefServiceSyncable prefs; 547 syncable_prefs::TestingPrefServiceSyncable prefs;
548 EventRewriter rewriter(NULL); 548 EventRewriter rewriter(NULL);
549 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); 549 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard");
550 rewriter.set_pref_service_for_testing(&prefs); 550 rewriter.set_pref_service_for_testing(&prefs);
551 551
552 KeyTestCase tests[] = { 552 KeyTestCase tests[] = {
553 // Press Search. Confirm the event is not rewritten. 553 // Press Search. Confirm the event is not rewritten.
554 {ui::ET_KEY_PRESSED, 554 {ui::ET_KEY_PRESSED,
555 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_NONE, ui::DomKey::META}, 555 {ui::VKEY_LWIN, ui::DomCode::META_LEFT, ui::EF_NONE, ui::DomKey::META},
556 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_COMMAND_DOWN, 556 {ui::VKEY_LWIN, ui::DomCode::META_LEFT, ui::EF_COMMAND_DOWN,
557 ui::DomKey::META}}, 557 ui::DomKey::META}},
558 558
559 // Press left Control. Confirm the event is not rewritten. 559 // Press left Control. Confirm the event is not rewritten.
560 {ui::ET_KEY_PRESSED, 560 {ui::ET_KEY_PRESSED,
561 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN, 561 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN,
562 ui::DomKey::CONTROL}, 562 ui::DomKey::CONTROL},
563 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN, 563 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN,
564 ui::DomKey::CONTROL}}, 564 ui::DomKey::CONTROL}},
565 565
566 // Press right Control. Confirm the event is not rewritten. 566 // Press right Control. Confirm the event is not rewritten.
(...skipping 11 matching lines...) Expand all
578 578
579 // Press right Alt. Confirm the event is not rewritten. 579 // Press right Alt. Confirm the event is not rewritten.
580 {ui::ET_KEY_PRESSED, 580 {ui::ET_KEY_PRESSED,
581 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, ui::EF_ALT_DOWN, ui::DomKey::ALT}, 581 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, ui::EF_ALT_DOWN, ui::DomKey::ALT},
582 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, ui::EF_ALT_DOWN, 582 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, ui::EF_ALT_DOWN,
583 ui::DomKey::ALT}}, 583 ui::DomKey::ALT}},
584 584
585 // Test KeyRelease event, just in case. 585 // Test KeyRelease event, just in case.
586 // Release Search. Confirm the release event is not rewritten. 586 // Release Search. Confirm the release event is not rewritten.
587 {ui::ET_KEY_RELEASED, 587 {ui::ET_KEY_RELEASED,
588 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_NONE, ui::DomKey::META}, 588 {ui::VKEY_LWIN, ui::DomCode::META_LEFT, ui::EF_NONE, ui::DomKey::META},
589 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_NONE, ui::DomKey::META}}, 589 {ui::VKEY_LWIN, ui::DomCode::META_LEFT, ui::EF_NONE, ui::DomKey::META}},
590 }; 590 };
591 591
592 for (const auto& test : tests) { 592 for (const auto& test : tests) {
593 CheckKeyTestCase(&rewriter, test); 593 CheckKeyTestCase(&rewriter, test);
594 } 594 }
595 } 595 }
596 596
597 TEST_F(EventRewriterTest, TestRewriteModifiersNoRemapMultipleKeys) { 597 TEST_F(EventRewriterTest, TestRewriteModifiersNoRemapMultipleKeys) {
598 syncable_prefs::TestingPrefServiceSyncable prefs; 598 syncable_prefs::TestingPrefServiceSyncable prefs;
599 EventRewriter rewriter(NULL); 599 EventRewriter rewriter(NULL);
600 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); 600 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard");
601 rewriter.set_pref_service_for_testing(&prefs); 601 rewriter.set_pref_service_for_testing(&prefs);
602 602
603 KeyTestCase tests[] = { 603 KeyTestCase tests[] = {
604 // Press Alt with Shift. Confirm the event is not rewritten. 604 // Press Alt with Shift. Confirm the event is not rewritten.
605 {ui::ET_KEY_PRESSED, 605 {ui::ET_KEY_PRESSED,
606 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, 606 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT,
607 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, ui::DomKey::ALT}, 607 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, ui::DomKey::ALT},
608 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, 608 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT,
609 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, ui::DomKey::ALT}}, 609 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, ui::DomKey::ALT}},
610 610
611 // Press Search with Caps Lock mask. Confirm the event is not rewritten. 611 // Press Search with Caps Lock mask. Confirm the event is not rewritten.
612 {ui::ET_KEY_PRESSED, 612 {ui::ET_KEY_PRESSED,
613 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 613 {ui::VKEY_LWIN, ui::DomCode::META_LEFT,
614 ui::EF_CAPS_LOCK_ON | ui::EF_COMMAND_DOWN, ui::DomKey::META}, 614 ui::EF_CAPS_LOCK_ON | ui::EF_COMMAND_DOWN, ui::DomKey::META},
615 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 615 {ui::VKEY_LWIN, ui::DomCode::META_LEFT,
616 ui::EF_CAPS_LOCK_ON | ui::EF_COMMAND_DOWN, ui::DomKey::META}}, 616 ui::EF_CAPS_LOCK_ON | ui::EF_COMMAND_DOWN, ui::DomKey::META}},
617 617
618 // Release Search with Caps Lock mask. Confirm the event is not rewritten. 618 // Release Search with Caps Lock mask. Confirm the event is not rewritten.
619 {ui::ET_KEY_RELEASED, 619 {ui::ET_KEY_RELEASED,
620 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_CAPS_LOCK_ON, 620 {ui::VKEY_LWIN, ui::DomCode::META_LEFT, ui::EF_CAPS_LOCK_ON,
621 ui::DomKey::META}, 621 ui::DomKey::META},
622 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_CAPS_LOCK_ON, 622 {ui::VKEY_LWIN, ui::DomCode::META_LEFT, ui::EF_CAPS_LOCK_ON,
623 ui::DomKey::META}}, 623 ui::DomKey::META}},
624 624
625 // Press Shift+Ctrl+Alt+Search+A. Confirm the event is not rewritten. 625 // Press Shift+Ctrl+Alt+Search+A. Confirm the event is not rewritten.
626 {ui::ET_KEY_PRESSED, 626 {ui::ET_KEY_PRESSED,
627 {ui::VKEY_B, ui::DomCode::US_B, 627 {ui::VKEY_B, ui::DomCode::US_B,
628 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | 628 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
629 ui::EF_COMMAND_DOWN, 629 ui::EF_COMMAND_DOWN,
630 ui::DomKey::Constant<'B'>::Character}, 630 ui::DomKey::Constant<'B'>::Character},
631 {ui::VKEY_B, ui::DomCode::US_B, 631 {ui::VKEY_B, ui::DomCode::US_B,
632 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | 632 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
(...skipping 25 matching lines...) Expand all
658 // Press Alt with Shift. This key press shouldn't be affected by the 658 // Press Alt with Shift. This key press shouldn't be affected by the
659 // pref. Confirm the event is not rewritten. 659 // pref. Confirm the event is not rewritten.
660 {ui::ET_KEY_PRESSED, 660 {ui::ET_KEY_PRESSED,
661 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, 661 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT,
662 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, ui::DomKey::ALT}, 662 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, ui::DomKey::ALT},
663 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, 663 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT,
664 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, ui::DomKey::ALT}}, 664 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, ui::DomKey::ALT}},
665 665
666 // Press Search. Confirm the event is now VKEY_UNKNOWN. 666 // Press Search. Confirm the event is now VKEY_UNKNOWN.
667 {ui::ET_KEY_PRESSED, 667 {ui::ET_KEY_PRESSED,
668 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_NONE, ui::DomKey::META}, 668 {ui::VKEY_LWIN, ui::DomCode::META_LEFT, ui::EF_NONE, ui::DomKey::META},
669 {ui::VKEY_UNKNOWN, ui::DomCode::NONE, ui::EF_NONE, 669 {ui::VKEY_UNKNOWN, ui::DomCode::NONE, ui::EF_NONE,
670 ui::DomKey::UNIDENTIFIED}}, 670 ui::DomKey::UNIDENTIFIED}},
671 671
672 // Press Control. Confirm the event is now VKEY_UNKNOWN. 672 // Press Control. Confirm the event is now VKEY_UNKNOWN.
673 {ui::ET_KEY_PRESSED, 673 {ui::ET_KEY_PRESSED,
674 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN, 674 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN,
675 ui::DomKey::CONTROL}, 675 ui::DomKey::CONTROL},
676 {ui::VKEY_UNKNOWN, ui::DomCode::NONE, ui::EF_NONE, 676 {ui::VKEY_UNKNOWN, ui::DomCode::NONE, ui::EF_NONE,
677 ui::DomKey::UNIDENTIFIED}}, 677 ui::DomKey::UNIDENTIFIED}},
678 678
679 // Press Control+Search. Confirm the event is now VKEY_UNKNOWN 679 // Press Control+Search. Confirm the event is now VKEY_UNKNOWN
680 // without any modifiers. 680 // without any modifiers.
681 {ui::ET_KEY_PRESSED, 681 {ui::ET_KEY_PRESSED,
682 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_CONTROL_DOWN, 682 {ui::VKEY_LWIN, ui::DomCode::META_LEFT, ui::EF_CONTROL_DOWN,
683 ui::DomKey::META}, 683 ui::DomKey::META},
684 {ui::VKEY_UNKNOWN, ui::DomCode::NONE, ui::EF_NONE, 684 {ui::VKEY_UNKNOWN, ui::DomCode::NONE, ui::EF_NONE,
685 ui::DomKey::UNIDENTIFIED}}, 685 ui::DomKey::UNIDENTIFIED}},
686 686
687 // Press Control+Search+a. Confirm the event is now VKEY_A without any 687 // Press Control+Search+a. Confirm the event is now VKEY_A without any
688 // modifiers. 688 // modifiers.
689 {ui::ET_KEY_PRESSED, 689 {ui::ET_KEY_PRESSED,
690 {ui::VKEY_A, ui::DomCode::US_A, ui::EF_CONTROL_DOWN, 690 {ui::VKEY_A, ui::DomCode::US_A, ui::EF_CONTROL_DOWN,
691 ui::DomKey::Constant<'a'>::Character}, 691 ui::DomKey::Constant<'a'>::Character},
692 {ui::VKEY_A, ui::DomCode::US_A, ui::EF_NONE, 692 {ui::VKEY_A, ui::DomCode::US_A, ui::EF_NONE,
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
740 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); 740 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs);
741 search.SetValue(chromeos::input_method::kControlKey); 741 search.SetValue(chromeos::input_method::kControlKey);
742 742
743 EventRewriter rewriter(NULL); 743 EventRewriter rewriter(NULL);
744 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); 744 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard");
745 rewriter.set_pref_service_for_testing(&prefs); 745 rewriter.set_pref_service_for_testing(&prefs);
746 746
747 KeyTestCase s_tests[] = { 747 KeyTestCase s_tests[] = {
748 // Press Search. Confirm the event is now VKEY_CONTROL. 748 // Press Search. Confirm the event is now VKEY_CONTROL.
749 {ui::ET_KEY_PRESSED, 749 {ui::ET_KEY_PRESSED,
750 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_COMMAND_DOWN, 750 {ui::VKEY_LWIN, ui::DomCode::META_LEFT, ui::EF_COMMAND_DOWN,
751 ui::DomKey::META}, 751 ui::DomKey::META},
752 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN, 752 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN,
753 ui::DomKey::CONTROL}}, 753 ui::DomKey::CONTROL}},
754 }; 754 };
755 755
756 for (const auto& test : s_tests) { 756 for (const auto& test : s_tests) {
757 CheckKeyTestCase(&rewriter, test); 757 CheckKeyTestCase(&rewriter, test);
758 } 758 }
759 759
760 // Remap Alt to Control too. 760 // Remap Alt to Control too.
761 IntegerPrefMember alt; 761 IntegerPrefMember alt;
762 alt.Init(prefs::kLanguageRemapAltKeyTo, &prefs); 762 alt.Init(prefs::kLanguageRemapAltKeyTo, &prefs);
763 alt.SetValue(chromeos::input_method::kControlKey); 763 alt.SetValue(chromeos::input_method::kControlKey);
764 764
765 KeyTestCase sa_tests[] = { 765 KeyTestCase sa_tests[] = {
766 // Press Alt. Confirm the event is now VKEY_CONTROL. 766 // Press Alt. Confirm the event is now VKEY_CONTROL.
767 {ui::ET_KEY_PRESSED, 767 {ui::ET_KEY_PRESSED,
768 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, ui::EF_ALT_DOWN, ui::DomKey::ALT}, 768 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, ui::EF_ALT_DOWN, ui::DomKey::ALT},
769 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN, 769 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN,
770 ui::DomKey::CONTROL}}, 770 ui::DomKey::CONTROL}},
771 771
772 // Press Alt+Search. Confirm the event is now VKEY_CONTROL. 772 // Press Alt+Search. Confirm the event is now VKEY_CONTROL.
773 {ui::ET_KEY_PRESSED, 773 {ui::ET_KEY_PRESSED,
774 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 774 {ui::VKEY_LWIN, ui::DomCode::META_LEFT,
775 ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, ui::DomKey::META}, 775 ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, ui::DomKey::META},
776 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN, 776 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN,
777 ui::DomKey::CONTROL}}, 777 ui::DomKey::CONTROL}},
778 778
779 // Press Control+Alt+Search. Confirm the event is now VKEY_CONTROL. 779 // Press Control+Alt+Search. Confirm the event is now VKEY_CONTROL.
780 {ui::ET_KEY_PRESSED, 780 {ui::ET_KEY_PRESSED,
781 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 781 {ui::VKEY_LWIN, ui::DomCode::META_LEFT,
782 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, 782 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
783 ui::DomKey::META}, 783 ui::DomKey::META},
784 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN, 784 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN,
785 ui::DomKey::CONTROL}}, 785 ui::DomKey::CONTROL}},
786 786
787 // Press Shift+Control+Alt+Search. Confirm the event is now Control with 787 // Press Shift+Control+Alt+Search. Confirm the event is now Control with
788 // Shift and Control modifiers. 788 // Shift and Control modifiers.
789 {ui::ET_KEY_PRESSED, 789 {ui::ET_KEY_PRESSED,
790 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 790 {ui::VKEY_LWIN, ui::DomCode::META_LEFT,
791 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | 791 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
792 ui::EF_COMMAND_DOWN, 792 ui::EF_COMMAND_DOWN,
793 ui::DomKey::META}, 793 ui::DomKey::META},
794 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, 794 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
795 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, ui::DomKey::CONTROL}}, 795 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, ui::DomKey::CONTROL}},
796 796
797 // Press Shift+Control+Alt+Search+B. Confirm the event is now B with Shift 797 // Press Shift+Control+Alt+Search+B. Confirm the event is now B with Shift
798 // and Control modifiers. 798 // and Control modifiers.
799 {ui::ET_KEY_PRESSED, 799 {ui::ET_KEY_PRESSED,
800 {ui::VKEY_B, ui::DomCode::US_B, 800 {ui::VKEY_B, ui::DomCode::US_B,
(...skipping 17 matching lines...) Expand all
818 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); 818 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs);
819 search.SetValue(chromeos::input_method::kEscapeKey); 819 search.SetValue(chromeos::input_method::kEscapeKey);
820 820
821 EventRewriter rewriter(NULL); 821 EventRewriter rewriter(NULL);
822 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); 822 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard");
823 rewriter.set_pref_service_for_testing(&prefs); 823 rewriter.set_pref_service_for_testing(&prefs);
824 824
825 KeyTestCase tests[] = { 825 KeyTestCase tests[] = {
826 // Press Search. Confirm the event is now VKEY_ESCAPE. 826 // Press Search. Confirm the event is now VKEY_ESCAPE.
827 {ui::ET_KEY_PRESSED, 827 {ui::ET_KEY_PRESSED,
828 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_COMMAND_DOWN, 828 {ui::VKEY_LWIN, ui::DomCode::META_LEFT, ui::EF_COMMAND_DOWN,
829 ui::DomKey::META}, 829 ui::DomKey::META},
830 {ui::VKEY_ESCAPE, ui::DomCode::ESCAPE, ui::EF_NONE, ui::DomKey::ESCAPE}}, 830 {ui::VKEY_ESCAPE, ui::DomCode::ESCAPE, ui::EF_NONE, ui::DomKey::ESCAPE}},
831 }; 831 };
832 832
833 for (const auto& test : tests) { 833 for (const auto& test : tests) {
834 CheckKeyTestCase(&rewriter, test); 834 CheckKeyTestCase(&rewriter, test);
835 } 835 }
836 } 836 }
837 837
838 TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) { 838 TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) {
839 // Remap Search to Alt. 839 // Remap Search to Alt.
840 syncable_prefs::TestingPrefServiceSyncable prefs; 840 syncable_prefs::TestingPrefServiceSyncable prefs;
841 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); 841 chromeos::Preferences::RegisterProfilePrefs(prefs.registry());
842 IntegerPrefMember search; 842 IntegerPrefMember search;
843 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); 843 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs);
844 search.SetValue(chromeos::input_method::kAltKey); 844 search.SetValue(chromeos::input_method::kAltKey);
845 845
846 EventRewriter rewriter(NULL); 846 EventRewriter rewriter(NULL);
847 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); 847 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard");
848 rewriter.set_pref_service_for_testing(&prefs); 848 rewriter.set_pref_service_for_testing(&prefs);
849 849
850 KeyTestCase s2a_tests[] = { 850 KeyTestCase s2a_tests[] = {
851 // Press Search. Confirm the event is now VKEY_MENU. 851 // Press Search. Confirm the event is now VKEY_MENU.
852 {ui::ET_KEY_PRESSED, 852 {ui::ET_KEY_PRESSED,
853 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_COMMAND_DOWN, 853 {ui::VKEY_LWIN, ui::DomCode::META_LEFT, ui::EF_COMMAND_DOWN,
854 ui::DomKey::META}, 854 ui::DomKey::META},
855 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, ui::EF_ALT_DOWN, 855 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, ui::EF_ALT_DOWN,
856 ui::DomKey::ALT}}, 856 ui::DomKey::ALT}},
857 }; 857 };
858 858
859 for (const auto& test : s2a_tests) { 859 for (const auto& test : s2a_tests) {
860 CheckKeyTestCase(&rewriter, test); 860 CheckKeyTestCase(&rewriter, test);
861 } 861 }
862 862
863 // Remap Alt to Control. 863 // Remap Alt to Control.
(...skipping 30 matching lines...) Expand all
894 // Remap Control to Search. 894 // Remap Control to Search.
895 IntegerPrefMember control; 895 IntegerPrefMember control;
896 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); 896 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs);
897 control.SetValue(chromeos::input_method::kSearchKey); 897 control.SetValue(chromeos::input_method::kSearchKey);
898 898
899 KeyTestCase c2s_tests[] = { 899 KeyTestCase c2s_tests[] = {
900 // Press left Control. Confirm the event is now VKEY_LWIN. 900 // Press left Control. Confirm the event is now VKEY_LWIN.
901 {ui::ET_KEY_PRESSED, 901 {ui::ET_KEY_PRESSED,
902 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN, 902 {ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, ui::EF_CONTROL_DOWN,
903 ui::DomKey::CONTROL}, 903 ui::DomKey::CONTROL},
904 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, ui::EF_COMMAND_DOWN, 904 {ui::VKEY_LWIN, ui::DomCode::META_LEFT, ui::EF_COMMAND_DOWN,
905 ui::DomKey::META}}, 905 ui::DomKey::META}},
906 906
907 // Then, press all of the three, Control+Alt+Search. 907 // Then, press all of the three, Control+Alt+Search.
908 {ui::ET_KEY_PRESSED, 908 {ui::ET_KEY_PRESSED,
909 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 909 {ui::VKEY_LWIN, ui::DomCode::META_LEFT,
910 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, 910 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
911 ui::DomKey::META}, 911 ui::DomKey::META},
912 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, 912 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT,
913 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, 913 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN,
914 ui::DomKey::ALT}}, 914 ui::DomKey::ALT}},
915 915
916 // Press Shift+Control+Alt+Search. 916 // Press Shift+Control+Alt+Search.
917 {ui::ET_KEY_PRESSED, 917 {ui::ET_KEY_PRESSED,
918 {ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 918 {ui::VKEY_LWIN, ui::DomCode::META_LEFT,
919 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | 919 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
920 ui::EF_COMMAND_DOWN, 920 ui::EF_COMMAND_DOWN,
921 ui::DomKey::META}, 921 ui::DomKey::META},
922 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT, 922 {ui::VKEY_MENU, ui::DomCode::ALT_LEFT,
923 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | 923 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN |
924 ui::EF_COMMAND_DOWN, 924 ui::EF_COMMAND_DOWN,
925 ui::DomKey::ALT}}, 925 ui::DomKey::ALT}},
926 926
927 // Press Shift+Control+Alt+Search+B 927 // Press Shift+Control+Alt+Search+B
928 {ui::ET_KEY_PRESSED, 928 {ui::ET_KEY_PRESSED,
(...skipping 25 matching lines...) Expand all
954 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); 954 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard");
955 rewriter.set_pref_service_for_testing(&prefs); 955 rewriter.set_pref_service_for_testing(&prefs);
956 rewriter.set_ime_keyboard_for_testing(&ime_keyboard); 956 rewriter.set_ime_keyboard_for_testing(&ime_keyboard);
957 EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_); 957 EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_);
958 958
959 // Press Search. 959 // Press Search.
960 EXPECT_EQ(GetExpectedResultAsString( 960 EXPECT_EQ(GetExpectedResultAsString(
961 ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK, 961 ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK,
962 ui::EF_MOD3_DOWN | ui::EF_CAPS_LOCK_ON, ui::DomKey::CAPS_LOCK), 962 ui::EF_MOD3_DOWN | ui::EF_CAPS_LOCK_ON, ui::DomKey::CAPS_LOCK),
963 GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, 963 GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED,
964 ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 964 ui::VKEY_LWIN, ui::DomCode::META_LEFT,
965 ui::EF_COMMAND_DOWN, ui::DomKey::META)); 965 ui::EF_COMMAND_DOWN, ui::DomKey::META));
966 // Confirm that the Caps Lock status is changed. 966 // Confirm that the Caps Lock status is changed.
967 EXPECT_TRUE(ime_keyboard.caps_lock_is_enabled_); 967 EXPECT_TRUE(ime_keyboard.caps_lock_is_enabled_);
968 968
969 // Release Search. 969 // Release Search.
970 EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CAPITAL, 970 EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CAPITAL,
971 ui::DomCode::CAPS_LOCK, ui::EF_NONE, 971 ui::DomCode::CAPS_LOCK, ui::EF_NONE,
972 ui::DomKey::CAPS_LOCK), 972 ui::DomKey::CAPS_LOCK),
973 GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED, 973 GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED,
974 ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 974 ui::VKEY_LWIN, ui::DomCode::META_LEFT,
975 ui::EF_NONE, ui::DomKey::META)); 975 ui::EF_NONE, ui::DomKey::META));
976 // Confirm that the Caps Lock status is not changed. 976 // Confirm that the Caps Lock status is not changed.
977 EXPECT_TRUE(ime_keyboard.caps_lock_is_enabled_); 977 EXPECT_TRUE(ime_keyboard.caps_lock_is_enabled_);
978 978
979 // Press Search. 979 // Press Search.
980 EXPECT_EQ(GetExpectedResultAsString( 980 EXPECT_EQ(GetExpectedResultAsString(
981 ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK, 981 ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK,
982 ui::EF_CAPS_LOCK_ON | ui::EF_MOD3_DOWN, ui::DomKey::CAPS_LOCK), 982 ui::EF_CAPS_LOCK_ON | ui::EF_MOD3_DOWN, ui::DomKey::CAPS_LOCK),
983 GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, 983 GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED,
984 ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 984 ui::VKEY_LWIN, ui::DomCode::META_LEFT,
985 ui::EF_COMMAND_DOWN | ui::EF_CAPS_LOCK_ON, 985 ui::EF_COMMAND_DOWN | ui::EF_CAPS_LOCK_ON,
986 ui::DomKey::META)); 986 ui::DomKey::META));
987 // Confirm that the Caps Lock status is changed. 987 // Confirm that the Caps Lock status is changed.
988 EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_); 988 EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_);
989 989
990 // Release Search. 990 // Release Search.
991 EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CAPITAL, 991 EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CAPITAL,
992 ui::DomCode::CAPS_LOCK, ui::EF_NONE, 992 ui::DomCode::CAPS_LOCK, ui::EF_NONE,
993 ui::DomKey::CAPS_LOCK), 993 ui::DomKey::CAPS_LOCK),
994 GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED, 994 GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED,
995 ui::VKEY_LWIN, ui::DomCode::OS_LEFT, 995 ui::VKEY_LWIN, ui::DomCode::META_LEFT,
996 ui::EF_NONE, ui::DomKey::META)); 996 ui::EF_NONE, ui::DomKey::META));
997 // Confirm that the Caps Lock status is not changed. 997 // Confirm that the Caps Lock status is not changed.
998 EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_); 998 EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_);
999 999
1000 // Press Caps Lock (on an external keyboard). 1000 // Press Caps Lock (on an external keyboard).
1001 EXPECT_EQ(GetExpectedResultAsString( 1001 EXPECT_EQ(GetExpectedResultAsString(
1002 ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK, 1002 ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK,
1003 ui::EF_CAPS_LOCK_ON | ui::EF_MOD3_DOWN, ui::DomKey::CAPS_LOCK), 1003 ui::EF_CAPS_LOCK_ON | ui::EF_MOD3_DOWN, ui::DomKey::CAPS_LOCK),
1004 GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, 1004 GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED,
1005 ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK, 1005 ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK,
(...skipping 1548 matching lines...) Expand 10 before | Expand all | Expand 10 after
2554 2554
2555 // Enable modifiers. 2555 // Enable modifiers.
2556 SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, 2556 SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
2557 ui::DomKey::CONTROL); 2557 ui::DomKey::CONTROL);
2558 SendActivateStickyKeyPattern(ui::VKEY_SHIFT, ui::DomCode::SHIFT_LEFT, 2558 SendActivateStickyKeyPattern(ui::VKEY_SHIFT, ui::DomCode::SHIFT_LEFT,
2559 ui::DomKey::SHIFT); 2559 ui::DomKey::SHIFT);
2560 SendActivateStickyKeyPattern(ui::VKEY_SHIFT, ui::DomCode::SHIFT_LEFT, 2560 SendActivateStickyKeyPattern(ui::VKEY_SHIFT, ui::DomCode::SHIFT_LEFT,
2561 ui::DomKey::SHIFT); 2561 ui::DomKey::SHIFT);
2562 SendActivateStickyKeyPattern(ui::VKEY_LMENU, ui::DomCode::ALT_LEFT, 2562 SendActivateStickyKeyPattern(ui::VKEY_LMENU, ui::DomCode::ALT_LEFT,
2563 ui::DomKey::ALT); 2563 ui::DomKey::ALT);
2564 SendActivateStickyKeyPattern(ui::VKEY_COMMAND, ui::DomCode::OS_LEFT, 2564 SendActivateStickyKeyPattern(ui::VKEY_COMMAND, ui::DomCode::META_LEFT,
2565 ui::DomKey::META); 2565 ui::DomKey::META);
2566 SendActivateStickyKeyPattern(ui::VKEY_COMMAND, ui::DomCode::OS_LEFT, 2566 SendActivateStickyKeyPattern(ui::VKEY_COMMAND, ui::DomCode::META_LEFT,
2567 ui::DomKey::META); 2567 ui::DomKey::META);
2568 2568
2569 EXPECT_TRUE(overlay_->is_visible()); 2569 EXPECT_TRUE(overlay_->is_visible());
2570 EXPECT_EQ(ash::STICKY_KEY_STATE_ENABLED, 2570 EXPECT_EQ(ash::STICKY_KEY_STATE_ENABLED,
2571 overlay_->GetModifierKeyState(ui::EF_CONTROL_DOWN)); 2571 overlay_->GetModifierKeyState(ui::EF_CONTROL_DOWN));
2572 EXPECT_EQ(ash::STICKY_KEY_STATE_LOCKED, 2572 EXPECT_EQ(ash::STICKY_KEY_STATE_LOCKED,
2573 overlay_->GetModifierKeyState(ui::EF_SHIFT_DOWN)); 2573 overlay_->GetModifierKeyState(ui::EF_SHIFT_DOWN));
2574 EXPECT_EQ(ash::STICKY_KEY_STATE_ENABLED, 2574 EXPECT_EQ(ash::STICKY_KEY_STATE_ENABLED,
2575 overlay_->GetModifierKeyState(ui::EF_ALT_DOWN)); 2575 overlay_->GetModifierKeyState(ui::EF_ALT_DOWN));
2576 EXPECT_EQ(ash::STICKY_KEY_STATE_LOCKED, 2576 EXPECT_EQ(ash::STICKY_KEY_STATE_LOCKED,
2577 overlay_->GetModifierKeyState(ui::EF_COMMAND_DOWN)); 2577 overlay_->GetModifierKeyState(ui::EF_COMMAND_DOWN));
2578 2578
2579 // Disable modifiers and overlay should be hidden. 2579 // Disable modifiers and overlay should be hidden.
2580 SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, 2580 SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
2581 ui::DomKey::CONTROL); 2581 ui::DomKey::CONTROL);
2582 SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, 2582 SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
2583 ui::DomKey::CONTROL); 2583 ui::DomKey::CONTROL);
2584 SendActivateStickyKeyPattern(ui::VKEY_SHIFT, ui::DomCode::SHIFT_LEFT, 2584 SendActivateStickyKeyPattern(ui::VKEY_SHIFT, ui::DomCode::SHIFT_LEFT,
2585 ui::DomKey::SHIFT); 2585 ui::DomKey::SHIFT);
2586 SendActivateStickyKeyPattern(ui::VKEY_LMENU, ui::DomCode::ALT_LEFT, 2586 SendActivateStickyKeyPattern(ui::VKEY_LMENU, ui::DomCode::ALT_LEFT,
2587 ui::DomKey::ALT); 2587 ui::DomKey::ALT);
2588 SendActivateStickyKeyPattern(ui::VKEY_LMENU, ui::DomCode::ALT_LEFT, 2588 SendActivateStickyKeyPattern(ui::VKEY_LMENU, ui::DomCode::ALT_LEFT,
2589 ui::DomKey::ALT); 2589 ui::DomKey::ALT);
2590 SendActivateStickyKeyPattern(ui::VKEY_COMMAND, ui::DomCode::OS_LEFT, 2590 SendActivateStickyKeyPattern(ui::VKEY_COMMAND, ui::DomCode::META_LEFT,
2591 ui::DomKey::META); 2591 ui::DomKey::META);
2592 2592
2593 EXPECT_FALSE(overlay_->is_visible()); 2593 EXPECT_FALSE(overlay_->is_visible());
2594 EXPECT_EQ(ash::STICKY_KEY_STATE_DISABLED, 2594 EXPECT_EQ(ash::STICKY_KEY_STATE_DISABLED,
2595 overlay_->GetModifierKeyState(ui::EF_CONTROL_DOWN)); 2595 overlay_->GetModifierKeyState(ui::EF_CONTROL_DOWN));
2596 EXPECT_EQ(ash::STICKY_KEY_STATE_DISABLED, 2596 EXPECT_EQ(ash::STICKY_KEY_STATE_DISABLED,
2597 overlay_->GetModifierKeyState(ui::EF_SHIFT_DOWN)); 2597 overlay_->GetModifierKeyState(ui::EF_SHIFT_DOWN));
2598 EXPECT_EQ(ash::STICKY_KEY_STATE_DISABLED, 2598 EXPECT_EQ(ash::STICKY_KEY_STATE_DISABLED,
2599 overlay_->GetModifierKeyState(ui::EF_ALT_DOWN)); 2599 overlay_->GetModifierKeyState(ui::EF_ALT_DOWN));
2600 EXPECT_EQ(ash::STICKY_KEY_STATE_DISABLED, 2600 EXPECT_EQ(ash::STICKY_KEY_STATE_DISABLED,
(...skipping 28 matching lines...) Expand all
2629 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); 2629 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN));
2630 EXPECT_TRUE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); 2630 EXPECT_TRUE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN));
2631 2631
2632 // Turn off AltGr and Mod3. 2632 // Turn off AltGr and Mod3.
2633 sticky_keys_controller_->SetModifiersEnabled(false, false); 2633 sticky_keys_controller_->SetModifiersEnabled(false, false);
2634 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); 2634 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN));
2635 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); 2635 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN));
2636 } 2636 }
2637 2637
2638 } // namespace chromeos 2638 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/events/event_rewriter.cc ('k') | chrome/browser/ui/blocked_content/popup_blocker_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698