| 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 <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 798 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 809 // Remap Alt to Control. | 809 // Remap Alt to Control. |
| 810 IntegerPrefMember alt; | 810 IntegerPrefMember alt; |
| 811 alt.Init(prefs::kLanguageRemapAltKeyTo, &prefs); | 811 alt.Init(prefs::kLanguageRemapAltKeyTo, &prefs); |
| 812 alt.SetValue(chromeos::input_method::kControlKey); | 812 alt.SetValue(chromeos::input_method::kControlKey); |
| 813 | 813 |
| 814 KeyTestCase a2c_tests[] = { | 814 KeyTestCase a2c_tests[] = { |
| 815 // Press left Alt. Confirm the event is now VKEY_CONTROL. | 815 // Press left Alt. Confirm the event is now VKEY_CONTROL. |
| 816 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, | 816 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
| 817 {ui::VKEY_MENU, ui::EF_ALT_DOWN}, | 817 {ui::VKEY_MENU, ui::EF_ALT_DOWN}, |
| 818 {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN}}, | 818 {ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN}}, |
| 819 // Press Shift+comma. Verify that only the flags are changed. |
| 820 // The X11 portion of the test addresses crbug.com/390263 by verifying |
| 821 // that the X keycode remains that for ',<' and not for 105-key '<>'. |
| 822 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
| 823 {ui::VKEY_OEM_COMMA, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN}, |
| 824 {ui::VKEY_OEM_COMMA, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN}}, |
| 825 // Press Shift+9. Verify that only the flags are changed. |
| 826 {KeyTestCase::TEST_ALL, ui::ET_KEY_PRESSED, |
| 827 {ui::VKEY_9, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN}, |
| 828 {ui::VKEY_9, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN}}, |
| 819 }; | 829 }; |
| 820 | 830 |
| 821 for (size_t i = 0; i < arraysize(a2c_tests); ++i) { | 831 for (size_t i = 0; i < arraysize(a2c_tests); ++i) { |
| 822 CheckKeyTestCase(2000 + i, &rewriter, a2c_tests[i]); | 832 CheckKeyTestCase(2000 + i, &rewriter, a2c_tests[i]); |
| 823 } | 833 } |
| 824 | 834 |
| 825 // Remap Control to Search. | 835 // Remap Control to Search. |
| 826 IntegerPrefMember control; | 836 IntegerPrefMember control; |
| 827 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); | 837 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); |
| 828 control.SetValue(chromeos::input_method::kSearchKey); | 838 control.SetValue(chromeos::input_method::kSearchKey); |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 975 {KeyTestCase::TEST_VKEY, | 985 {KeyTestCase::TEST_VKEY, |
| 976 ui::ET_KEY_PRESSED, | 986 ui::ET_KEY_PRESSED, |
| 977 {ui::VKEY_A, ui::EF_NONE}, | 987 {ui::VKEY_A, ui::EF_NONE}, |
| 978 {ui::VKEY_A, ui::EF_NONE}}, | 988 {ui::VKEY_A, ui::EF_NONE}}, |
| 979 }; | 989 }; |
| 980 | 990 |
| 981 for (size_t i = 0; i < arraysize(tests); ++i) { | 991 for (size_t i = 0; i < arraysize(tests); ++i) { |
| 982 CheckKeyTestCase(1000 + i, &rewriter, tests[i]); | 992 CheckKeyTestCase(1000 + i, &rewriter, tests[i]); |
| 983 } | 993 } |
| 984 } | 994 } |
| 995 |
| 985 TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) { | 996 TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) { |
| 986 const CommandLine original_cl(*CommandLine::ForCurrentProcess()); | 997 const CommandLine original_cl(*CommandLine::ForCurrentProcess()); |
| 987 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 998 CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
| 988 chromeos::switches::kHasChromeOSDiamondKey, ""); | 999 chromeos::switches::kHasChromeOSDiamondKey, ""); |
| 989 | 1000 |
| 990 TestingPrefServiceSyncable prefs; | 1001 TestingPrefServiceSyncable prefs; |
| 991 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); | 1002 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
| 992 | 1003 |
| 993 chromeos::input_method::FakeImeKeyboard ime_keyboard; | 1004 chromeos::input_method::FakeImeKeyboard ime_keyboard; |
| 994 EventRewriter rewriter(NULL); | 1005 EventRewriter rewriter(NULL); |
| (...skipping 1183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2178 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); | 2189 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); |
| 2179 EXPECT_TRUE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); | 2190 EXPECT_TRUE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); |
| 2180 | 2191 |
| 2181 // Turn off AltGr and Mod3. | 2192 // Turn off AltGr and Mod3. |
| 2182 sticky_keys_controller_->SetModifiersEnabled(false, false); | 2193 sticky_keys_controller_->SetModifiersEnabled(false, false); |
| 2183 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); | 2194 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); |
| 2184 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); | 2195 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); |
| 2185 } | 2196 } |
| 2186 | 2197 |
| 2187 } // namespace chromeos | 2198 } // namespace chromeos |
| OLD | NEW |