OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/ui/ash/event_rewriter.h" | 5 #include "chrome/browser/ui/ash/event_rewriter.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/prefs/pref_member.h" | 9 #include "base/prefs/pref_member.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
488 ui::EF_ALT_DOWN, | 488 ui::EF_ALT_DOWN, |
489 ui::ET_KEY_PRESSED, | 489 ui::ET_KEY_PRESSED, |
490 keycode_super_r_, | 490 keycode_super_r_, |
491 Mod1Mask)); | 491 Mod1Mask)); |
492 } | 492 } |
493 | 493 |
494 // For crbug.com/133896. | 494 // For crbug.com/133896. |
495 TEST_F(EventRewriterTest, TestRewriteCommandToControlWithControlRemapped) { | 495 TEST_F(EventRewriterTest, TestRewriteCommandToControlWithControlRemapped) { |
496 // Remap Control to Alt. | 496 // Remap Control to Alt. |
497 TestingPrefServiceSyncable prefs; | 497 TestingPrefServiceSyncable prefs; |
498 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 498 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
499 IntegerPrefMember control; | 499 IntegerPrefMember control; |
500 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); | 500 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); |
501 control.SetValue(chromeos::input_method::kAltKey); | 501 control.SetValue(chromeos::input_method::kAltKey); |
502 | 502 |
503 EventRewriter rewriter; | 503 EventRewriter rewriter; |
504 rewriter.set_pref_service_for_testing(&prefs); | 504 rewriter.set_pref_service_for_testing(&prefs); |
505 rewriter.DeviceAddedForTesting(0, "PC Keyboard"); | 505 rewriter.DeviceAddedForTesting(0, "PC Keyboard"); |
506 rewriter.set_last_device_id_for_testing(0); | 506 rewriter.set_last_device_id_for_testing(0); |
507 | 507 |
508 // XK_Control_L (left Control key) should be remapped to Alt. | 508 // XK_Control_L (left Control key) should be remapped to Alt. |
(...skipping 608 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1117 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 1117 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
1118 ui::ET_KEY_PRESSED, | 1118 ui::ET_KEY_PRESSED, |
1119 keycode_b_, | 1119 keycode_b_, |
1120 ShiftMask | ControlMask | Mod1Mask | | 1120 ShiftMask | ControlMask | Mod1Mask | |
1121 Mod4Mask)); | 1121 Mod4Mask)); |
1122 } | 1122 } |
1123 | 1123 |
1124 TEST_F(EventRewriterTest, TestRewriteModifiersDisableSome) { | 1124 TEST_F(EventRewriterTest, TestRewriteModifiersDisableSome) { |
1125 // Disable Search and Control keys. | 1125 // Disable Search and Control keys. |
1126 TestingPrefServiceSyncable prefs; | 1126 TestingPrefServiceSyncable prefs; |
1127 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 1127 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
1128 IntegerPrefMember search; | 1128 IntegerPrefMember search; |
1129 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); | 1129 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); |
1130 search.SetValue(chromeos::input_method::kVoidKey); | 1130 search.SetValue(chromeos::input_method::kVoidKey); |
1131 IntegerPrefMember control; | 1131 IntegerPrefMember control; |
1132 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); | 1132 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); |
1133 control.SetValue(chromeos::input_method::kVoidKey); | 1133 control.SetValue(chromeos::input_method::kVoidKey); |
1134 | 1134 |
1135 EventRewriter rewriter; | 1135 EventRewriter rewriter; |
1136 rewriter.set_pref_service_for_testing(&prefs); | 1136 rewriter.set_pref_service_for_testing(&prefs); |
1137 | 1137 |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1255 ui::VKEY_A, | 1255 ui::VKEY_A, |
1256 ui::EF_ALT_DOWN, | 1256 ui::EF_ALT_DOWN, |
1257 ui::ET_KEY_PRESSED, | 1257 ui::ET_KEY_PRESSED, |
1258 keycode_a_, | 1258 keycode_a_, |
1259 Mod1Mask)); | 1259 Mod1Mask)); |
1260 } | 1260 } |
1261 | 1261 |
1262 TEST_F(EventRewriterTest, TestRewriteModifiersRemapToControl) { | 1262 TEST_F(EventRewriterTest, TestRewriteModifiersRemapToControl) { |
1263 // Remap Search to Control. | 1263 // Remap Search to Control. |
1264 TestingPrefServiceSyncable prefs; | 1264 TestingPrefServiceSyncable prefs; |
1265 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 1265 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
1266 IntegerPrefMember search; | 1266 IntegerPrefMember search; |
1267 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); | 1267 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); |
1268 search.SetValue(chromeos::input_method::kControlKey); | 1268 search.SetValue(chromeos::input_method::kControlKey); |
1269 | 1269 |
1270 EventRewriter rewriter; | 1270 EventRewriter rewriter; |
1271 rewriter.set_pref_service_for_testing(&prefs); | 1271 rewriter.set_pref_service_for_testing(&prefs); |
1272 | 1272 |
1273 // Press Search. Confirm the event is now VKEY_CONTROL + XK_Control_L. | 1273 // Press Search. Confirm the event is now VKEY_CONTROL + XK_Control_L. |
1274 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL, | 1274 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL, |
1275 ui::EF_CONTROL_DOWN, | 1275 ui::EF_CONTROL_DOWN, |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1375 ui::EF_SHIFT_DOWN | | 1375 ui::EF_SHIFT_DOWN | |
1376 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 1376 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
1377 ui::ET_KEY_PRESSED, | 1377 ui::ET_KEY_PRESSED, |
1378 keycode_b_, | 1378 keycode_b_, |
1379 ShiftMask | ControlMask | Mod1Mask)); | 1379 ShiftMask | ControlMask | Mod1Mask)); |
1380 } | 1380 } |
1381 | 1381 |
1382 TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) { | 1382 TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) { |
1383 // Remap Search to Alt. | 1383 // Remap Search to Alt. |
1384 TestingPrefServiceSyncable prefs; | 1384 TestingPrefServiceSyncable prefs; |
1385 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 1385 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
1386 IntegerPrefMember search; | 1386 IntegerPrefMember search; |
1387 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); | 1387 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); |
1388 search.SetValue(chromeos::input_method::kAltKey); | 1388 search.SetValue(chromeos::input_method::kAltKey); |
1389 | 1389 |
1390 EventRewriter rewriter; | 1390 EventRewriter rewriter; |
1391 rewriter.set_pref_service_for_testing(&prefs); | 1391 rewriter.set_pref_service_for_testing(&prefs); |
1392 | 1392 |
1393 // Press Search. Confirm the event is now VKEY_MENU + XK_Alt_L. | 1393 // Press Search. Confirm the event is now VKEY_MENU + XK_Alt_L. |
1394 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_MENU, | 1394 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_MENU, |
1395 ui::EF_ALT_DOWN, | 1395 ui::EF_ALT_DOWN, |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1487 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 1487 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
1488 ui::ET_KEY_PRESSED, | 1488 ui::ET_KEY_PRESSED, |
1489 keycode_b_, | 1489 keycode_b_, |
1490 ShiftMask | ControlMask | Mod1Mask | | 1490 ShiftMask | ControlMask | Mod1Mask | |
1491 Mod4Mask)); | 1491 Mod4Mask)); |
1492 } | 1492 } |
1493 | 1493 |
1494 TEST_F(EventRewriterTest, TestRewriteModifiersRemapToCapsLock) { | 1494 TEST_F(EventRewriterTest, TestRewriteModifiersRemapToCapsLock) { |
1495 // Remap Search to Caps Lock. | 1495 // Remap Search to Caps Lock. |
1496 TestingPrefServiceSyncable prefs; | 1496 TestingPrefServiceSyncable prefs; |
1497 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 1497 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
1498 IntegerPrefMember search; | 1498 IntegerPrefMember search; |
1499 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); | 1499 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); |
1500 search.SetValue(chromeos::input_method::kCapsLockKey); | 1500 search.SetValue(chromeos::input_method::kCapsLockKey); |
1501 | 1501 |
1502 chromeos::input_method::MockXKeyboard xkeyboard; | 1502 chromeos::input_method::MockXKeyboard xkeyboard; |
1503 EventRewriter rewriter; | 1503 EventRewriter rewriter; |
1504 rewriter.set_pref_service_for_testing(&prefs); | 1504 rewriter.set_pref_service_for_testing(&prefs); |
1505 rewriter.set_xkeyboard_for_testing(&xkeyboard); | 1505 rewriter.set_xkeyboard_for_testing(&xkeyboard); |
1506 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_); | 1506 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_); |
1507 | 1507 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1603 LockMask)); | 1603 LockMask)); |
1604 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_); | 1604 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_); |
1605 } | 1605 } |
1606 | 1606 |
1607 TEST_F(EventRewriterTest, DISABLED_TestRewriteCapsLock) { | 1607 TEST_F(EventRewriterTest, DISABLED_TestRewriteCapsLock) { |
1608 // It seems that the X server running on build servers is too old and does not | 1608 // It seems that the X server running on build servers is too old and does not |
1609 // support F16 (i.e. 'XKeysymToKeycode(display_, XF86XK_Launch7)' call). | 1609 // support F16 (i.e. 'XKeysymToKeycode(display_, XF86XK_Launch7)' call). |
1610 // TODO(yusukes): Reenable the test once build servers are upgraded. | 1610 // TODO(yusukes): Reenable the test once build servers are upgraded. |
1611 | 1611 |
1612 TestingPrefServiceSyncable prefs; | 1612 TestingPrefServiceSyncable prefs; |
1613 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 1613 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
1614 | 1614 |
1615 chromeos::input_method::MockXKeyboard xkeyboard; | 1615 chromeos::input_method::MockXKeyboard xkeyboard; |
1616 EventRewriter rewriter; | 1616 EventRewriter rewriter; |
1617 rewriter.set_pref_service_for_testing(&prefs); | 1617 rewriter.set_pref_service_for_testing(&prefs); |
1618 rewriter.set_xkeyboard_for_testing(&xkeyboard); | 1618 rewriter.set_xkeyboard_for_testing(&xkeyboard); |
1619 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_); | 1619 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_); |
1620 | 1620 |
1621 // On Chrome OS, CapsLock is mapped to F16 with Mod3Mask. | 1621 // On Chrome OS, CapsLock is mapped to F16 with Mod3Mask. |
1622 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CAPITAL, | 1622 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CAPITAL, |
1623 ui::EF_CAPS_LOCK_DOWN, | 1623 ui::EF_CAPS_LOCK_DOWN, |
1624 ui::ET_KEY_PRESSED, | 1624 ui::ET_KEY_PRESSED, |
1625 keycode_caps_lock_, | 1625 keycode_caps_lock_, |
1626 0U, | 1626 0U, |
1627 KeyPress), | 1627 KeyPress), |
1628 GetRewrittenEventAsString(&rewriter, | 1628 GetRewrittenEventAsString(&rewriter, |
1629 ui::VKEY_F16, | 1629 ui::VKEY_F16, |
1630 0, | 1630 0, |
1631 ui::ET_KEY_PRESSED, | 1631 ui::ET_KEY_PRESSED, |
1632 keycode_launch7_, | 1632 keycode_launch7_, |
1633 0U)); | 1633 0U)); |
1634 EXPECT_TRUE(xkeyboard.caps_lock_is_enabled_); | 1634 EXPECT_TRUE(xkeyboard.caps_lock_is_enabled_); |
1635 } | 1635 } |
1636 | 1636 |
1637 TEST_F(EventRewriterTest, DISABLED_TestRewriteDiamondKey) { | 1637 TEST_F(EventRewriterTest, DISABLED_TestRewriteDiamondKey) { |
1638 // TODO(yusukes): Reenable the test once build servers are upgraded. | 1638 // TODO(yusukes): Reenable the test once build servers are upgraded. |
1639 | 1639 |
1640 TestingPrefServiceSyncable prefs; | 1640 TestingPrefServiceSyncable prefs; |
1641 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 1641 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
1642 | 1642 |
1643 chromeos::input_method::MockXKeyboard xkeyboard; | 1643 chromeos::input_method::MockXKeyboard xkeyboard; |
1644 EventRewriter rewriter; | 1644 EventRewriter rewriter; |
1645 rewriter.set_pref_service_for_testing(&prefs); | 1645 rewriter.set_pref_service_for_testing(&prefs); |
1646 rewriter.set_xkeyboard_for_testing(&xkeyboard); | 1646 rewriter.set_xkeyboard_for_testing(&xkeyboard); |
1647 | 1647 |
1648 // F15 should work as Ctrl when --has-chromeos-diamond-key is not specified. | 1648 // F15 should work as Ctrl when --has-chromeos-diamond-key is not specified. |
1649 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL, | 1649 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL, |
1650 ui::EF_CONTROL_DOWN, | 1650 ui::EF_CONTROL_DOWN, |
1651 ui::ET_KEY_PRESSED, | 1651 ui::ET_KEY_PRESSED, |
(...skipping 24 matching lines...) Expand all Loading... |
1676 } | 1676 } |
1677 | 1677 |
1678 TEST_F(EventRewriterTest, DISABLED_TestRewriteDiamondKeyWithFlag) { | 1678 TEST_F(EventRewriterTest, DISABLED_TestRewriteDiamondKeyWithFlag) { |
1679 // TODO(yusukes): Reenable the test once build servers are upgraded. | 1679 // TODO(yusukes): Reenable the test once build servers are upgraded. |
1680 | 1680 |
1681 const CommandLine original_cl(*CommandLine::ForCurrentProcess()); | 1681 const CommandLine original_cl(*CommandLine::ForCurrentProcess()); |
1682 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 1682 CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
1683 chromeos::switches::kHasChromeOSDiamondKey, ""); | 1683 chromeos::switches::kHasChromeOSDiamondKey, ""); |
1684 | 1684 |
1685 TestingPrefServiceSyncable prefs; | 1685 TestingPrefServiceSyncable prefs; |
1686 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 1686 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
1687 | 1687 |
1688 chromeos::input_method::MockXKeyboard xkeyboard; | 1688 chromeos::input_method::MockXKeyboard xkeyboard; |
1689 EventRewriter rewriter; | 1689 EventRewriter rewriter; |
1690 rewriter.set_pref_service_for_testing(&prefs); | 1690 rewriter.set_pref_service_for_testing(&prefs); |
1691 rewriter.set_xkeyboard_for_testing(&xkeyboard); | 1691 rewriter.set_xkeyboard_for_testing(&xkeyboard); |
1692 | 1692 |
1693 // By default, F15 should work as Control. | 1693 // By default, F15 should work as Control. |
1694 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL, | 1694 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL, |
1695 ui::EF_CONTROL_DOWN, | 1695 ui::EF_CONTROL_DOWN, |
1696 ui::ET_KEY_PRESSED, | 1696 ui::ET_KEY_PRESSED, |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1764 0, | 1764 0, |
1765 ui::ET_KEY_PRESSED, | 1765 ui::ET_KEY_PRESSED, |
1766 keycode_launch6_, | 1766 keycode_launch6_, |
1767 0U)); | 1767 0U)); |
1768 | 1768 |
1769 *CommandLine::ForCurrentProcess() = original_cl; | 1769 *CommandLine::ForCurrentProcess() = original_cl; |
1770 } | 1770 } |
1771 | 1771 |
1772 TEST_F(EventRewriterTest, TestRewriteCapsLockToControl) { | 1772 TEST_F(EventRewriterTest, TestRewriteCapsLockToControl) { |
1773 TestingPrefServiceSyncable prefs; | 1773 TestingPrefServiceSyncable prefs; |
1774 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 1774 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
1775 IntegerPrefMember control; | 1775 IntegerPrefMember control; |
1776 control.Init(prefs::kLanguageRemapCapsLockKeyTo, &prefs); | 1776 control.Init(prefs::kLanguageRemapCapsLockKeyTo, &prefs); |
1777 control.SetValue(chromeos::input_method::kControlKey); | 1777 control.SetValue(chromeos::input_method::kControlKey); |
1778 | 1778 |
1779 EventRewriter rewriter; | 1779 EventRewriter rewriter; |
1780 rewriter.set_pref_service_for_testing(&prefs); | 1780 rewriter.set_pref_service_for_testing(&prefs); |
1781 | 1781 |
1782 // Press CapsLock+a. Confirm that Mod3Mask is rewritten to ControlMask. | 1782 // Press CapsLock+a. Confirm that Mod3Mask is rewritten to ControlMask. |
1783 // On Chrome OS, CapsLock works as a Mod3 modifier. | 1783 // On Chrome OS, CapsLock works as a Mod3 modifier. |
1784 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_A, | 1784 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_A, |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1819 ui::VKEY_A, | 1819 ui::VKEY_A, |
1820 ui::EF_ALT_DOWN, | 1820 ui::EF_ALT_DOWN, |
1821 ui::ET_KEY_PRESSED, | 1821 ui::ET_KEY_PRESSED, |
1822 keycode_a_, | 1822 keycode_a_, |
1823 Mod1Mask | Mod3Mask)); | 1823 Mod1Mask | Mod3Mask)); |
1824 } | 1824 } |
1825 | 1825 |
1826 TEST_F(EventRewriterTest, TestRewriteCapsLockMod3InUse) { | 1826 TEST_F(EventRewriterTest, TestRewriteCapsLockMod3InUse) { |
1827 // Remap CapsLock to Control. | 1827 // Remap CapsLock to Control. |
1828 TestingPrefServiceSyncable prefs; | 1828 TestingPrefServiceSyncable prefs; |
1829 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 1829 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
1830 IntegerPrefMember control; | 1830 IntegerPrefMember control; |
1831 control.Init(prefs::kLanguageRemapCapsLockKeyTo, &prefs); | 1831 control.Init(prefs::kLanguageRemapCapsLockKeyTo, &prefs); |
1832 control.SetValue(chromeos::input_method::kControlKey); | 1832 control.SetValue(chromeos::input_method::kControlKey); |
1833 | 1833 |
1834 EventRewriter rewriter; | 1834 EventRewriter rewriter; |
1835 rewriter.set_pref_service_for_testing(&prefs); | 1835 rewriter.set_pref_service_for_testing(&prefs); |
1836 input_method_manager_mock_->SetCurrentInputMethodId("xkb:de:neo:ger"); | 1836 input_method_manager_mock_->SetCurrentInputMethodId("xkb:de:neo:ger"); |
1837 | 1837 |
1838 // Press CapsLock+a. Confirm that Mod3Mask is NOT rewritten to ControlMask | 1838 // Press CapsLock+a. Confirm that Mod3Mask is NOT rewritten to ControlMask |
1839 // when Mod3Mask is already in use by the current XKB layout. | 1839 // when Mod3Mask is already in use by the current XKB layout. |
1840 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_A, | 1840 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_A, |
1841 0, | 1841 0, |
1842 ui::ET_KEY_PRESSED, | 1842 ui::ET_KEY_PRESSED, |
1843 keycode_a_, | 1843 keycode_a_, |
1844 Mod3Mask, | 1844 Mod3Mask, |
1845 KeyPress), | 1845 KeyPress), |
1846 GetRewrittenEventAsString(&rewriter, | 1846 GetRewrittenEventAsString(&rewriter, |
1847 ui::VKEY_A, | 1847 ui::VKEY_A, |
1848 0, | 1848 0, |
1849 ui::ET_KEY_PRESSED, | 1849 ui::ET_KEY_PRESSED, |
1850 keycode_a_, | 1850 keycode_a_, |
1851 Mod3Mask)); | 1851 Mod3Mask)); |
1852 | 1852 |
1853 input_method_manager_mock_->SetCurrentInputMethodId("xkb:us::eng"); | 1853 input_method_manager_mock_->SetCurrentInputMethodId("xkb:us::eng"); |
1854 } | 1854 } |
1855 | 1855 |
1856 TEST_F(EventRewriterTest, TestRewriteExtendedKeys) { | 1856 TEST_F(EventRewriterTest, TestRewriteExtendedKeys) { |
1857 TestingPrefServiceSyncable prefs; | 1857 TestingPrefServiceSyncable prefs; |
1858 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 1858 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
1859 EventRewriter rewriter; | 1859 EventRewriter rewriter; |
1860 rewriter.set_pref_service_for_testing(&prefs); | 1860 rewriter.set_pref_service_for_testing(&prefs); |
1861 | 1861 |
1862 struct { | 1862 struct { |
1863 ui::KeyboardCode input; | 1863 ui::KeyboardCode input; |
1864 KeyCode input_native; | 1864 KeyCode input_native; |
1865 unsigned int input_mods; | 1865 unsigned int input_mods; |
1866 unsigned int input_native_mods; | 1866 unsigned int input_native_mods; |
1867 ui::KeyboardCode output; | 1867 ui::KeyboardCode output; |
1868 KeyCode output_native; | 1868 KeyCode output_native; |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1991 chromeos_tests[i].input, | 1991 chromeos_tests[i].input, |
1992 chromeos_tests[i].input_mods, | 1992 chromeos_tests[i].input_mods, |
1993 ui::ET_KEY_PRESSED, | 1993 ui::ET_KEY_PRESSED, |
1994 chromeos_tests[i].input_native, | 1994 chromeos_tests[i].input_native, |
1995 chromeos_tests[i].input_native_mods)); | 1995 chromeos_tests[i].input_native_mods)); |
1996 } | 1996 } |
1997 } | 1997 } |
1998 | 1998 |
1999 TEST_F(EventRewriterTest, TestRewriteFunctionKeys) { | 1999 TEST_F(EventRewriterTest, TestRewriteFunctionKeys) { |
2000 TestingPrefServiceSyncable prefs; | 2000 TestingPrefServiceSyncable prefs; |
2001 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 2001 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
2002 EventRewriter rewriter; | 2002 EventRewriter rewriter; |
2003 rewriter.set_pref_service_for_testing(&prefs); | 2003 rewriter.set_pref_service_for_testing(&prefs); |
2004 | 2004 |
2005 struct { | 2005 struct { |
2006 ui::KeyboardCode input; | 2006 ui::KeyboardCode input; |
2007 KeyCode input_native; | 2007 KeyCode input_native; |
2008 unsigned int input_native_mods; | 2008 unsigned int input_native_mods; |
2009 unsigned int input_mods; | 2009 unsigned int input_mods; |
2010 ui::KeyboardCode output; | 2010 ui::KeyboardCode output; |
2011 KeyCode output_native; | 2011 KeyCode output_native; |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2210 tests[i].input_native, | 2210 tests[i].input_native, |
2211 tests[i].input_native_mods)); | 2211 tests[i].input_native_mods)); |
2212 } | 2212 } |
2213 } | 2213 } |
2214 | 2214 |
2215 TEST_F(EventRewriterTest, TestRewriteExtendedKeysWithSearchRemapped) { | 2215 TEST_F(EventRewriterTest, TestRewriteExtendedKeysWithSearchRemapped) { |
2216 const CommandLine original_cl(*CommandLine::ForCurrentProcess()); | 2216 const CommandLine original_cl(*CommandLine::ForCurrentProcess()); |
2217 | 2217 |
2218 // Remap Search to Control. | 2218 // Remap Search to Control. |
2219 TestingPrefServiceSyncable prefs; | 2219 TestingPrefServiceSyncable prefs; |
2220 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 2220 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
2221 IntegerPrefMember search; | 2221 IntegerPrefMember search; |
2222 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); | 2222 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); |
2223 search.SetValue(chromeos::input_method::kControlKey); | 2223 search.SetValue(chromeos::input_method::kControlKey); |
2224 | 2224 |
2225 EventRewriter rewriter; | 2225 EventRewriter rewriter; |
2226 rewriter.set_pref_service_for_testing(&prefs); | 2226 rewriter.set_pref_service_for_testing(&prefs); |
2227 | 2227 |
2228 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 2228 CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
2229 chromeos::switches::kHasChromeOSKeyboard, ""); | 2229 chromeos::switches::kHasChromeOSKeyboard, ""); |
2230 | 2230 |
(...skipping 24 matching lines...) Expand all Loading... |
2255 ui::ET_KEY_PRESSED, | 2255 ui::ET_KEY_PRESSED, |
2256 keycode_down_, | 2256 keycode_down_, |
2257 ShiftMask | Mod1Mask | Mod4Mask)); | 2257 ShiftMask | Mod1Mask | Mod4Mask)); |
2258 | 2258 |
2259 *CommandLine::ForCurrentProcess() = original_cl; | 2259 *CommandLine::ForCurrentProcess() = original_cl; |
2260 } | 2260 } |
2261 | 2261 |
2262 TEST_F(EventRewriterTest, TestRewriteKeyEventSentByXSendEvent) { | 2262 TEST_F(EventRewriterTest, TestRewriteKeyEventSentByXSendEvent) { |
2263 // Remap Control to Alt. | 2263 // Remap Control to Alt. |
2264 TestingPrefServiceSyncable prefs; | 2264 TestingPrefServiceSyncable prefs; |
2265 chromeos::Preferences::RegisterUserPrefs(prefs.registry()); | 2265 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
2266 IntegerPrefMember control; | 2266 IntegerPrefMember control; |
2267 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); | 2267 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); |
2268 control.SetValue(chromeos::input_method::kAltKey); | 2268 control.SetValue(chromeos::input_method::kAltKey); |
2269 | 2269 |
2270 EventRewriter rewriter; | 2270 EventRewriter rewriter; |
2271 rewriter.set_pref_service_for_testing(&prefs); | 2271 rewriter.set_pref_service_for_testing(&prefs); |
2272 | 2272 |
2273 // Send left control press. | 2273 // Send left control press. |
2274 std::string rewritten_event; | 2274 std::string rewritten_event; |
2275 { | 2275 { |
(...skipping 14 matching lines...) Expand all Loading... |
2290 // flag in the event is True. | 2290 // flag in the event is True. |
2291 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL, | 2291 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL, |
2292 ui::EF_CONTROL_DOWN, | 2292 ui::EF_CONTROL_DOWN, |
2293 ui::ET_KEY_PRESSED, | 2293 ui::ET_KEY_PRESSED, |
2294 keycode_control_l_, | 2294 keycode_control_l_, |
2295 0U, | 2295 0U, |
2296 KeyPress), | 2296 KeyPress), |
2297 rewritten_event); | 2297 rewritten_event); |
2298 } | 2298 } |
2299 #endif // OS_CHROMEOS | 2299 #endif // OS_CHROMEOS |
OLD | NEW |