summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-14 06:11:50 +0000
committeryusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-14 06:11:50 +0000
commit97a31bc1776d029e376978b858c324934326d633 (patch)
treec8fd65413fd7911147adb8dce3e6f7ce388a39df
parentaf6b5451ce3bc12d03781012926b575ba997bff4 (diff)
downloadchromium_src-97a31bc1776d029e376978b858c324934326d633.zip
chromium_src-97a31bc1776d029e376978b858c324934326d633.tar.gz
chromium_src-97a31bc1776d029e376978b858c324934326d633.tar.bz2
Change Caps Lock short cut from Shift_L+Shift_R to Shift+Search.
BUG=chromium-os:23036 TEST=ran browser_tests Review URL: http://codereview.chromium.org/8907003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114379 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/app/generated_resources.grd4
-rw-r--r--chrome/browser/chromeos/status/caps_lock_menu_button.cc4
-rw-r--r--chrome/browser/chromeos/system_key_event_listener.cc11
-rw-r--r--chrome/browser/chromeos/system_key_event_listener.h3
-rw-r--r--chrome/browser/chromeos/system_key_event_listener_browsertest.cc42
5 files changed, 31 insertions, 33 deletions
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index 3de148e..075ec16 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -13318,9 +13318,9 @@ Press Ctrl+Alt+Z to cancel.
<message name="IDS_STATUSBAR_WIFI_SCANNING_MESSAGE" desc="Scanning for wifi networks">
Searching for Wi-Fi networks...
</message>
- <message name="IDS_STATUSBAR_CAPS_LOCK_ENABLED_PRESS_SHIFT_KEYS" desc="The tooltip for the caps lock indicator button.">
+ <message name="IDS_STATUSBAR_CAPS_LOCK_ENABLED_PRESS_SHIFT_AND_SEARCH_KEYS" desc="The tooltip for the caps lock indicator button.">
CAPS LOCK is on.
-Press both Shift keys to cancel
+Press Shift + Search key to cancel
</message>
<message name="IDS_STATUSBAR_CAPS_LOCK_ENABLED_PRESS_SEARCH" desc="The tooltip for the caps lock indicator button.">
CAPS LOCK is on.
diff --git a/chrome/browser/chromeos/status/caps_lock_menu_button.cc b/chrome/browser/chromeos/status/caps_lock_menu_button.cc
index 536d521..7d273ff 100644
--- a/chrome/browser/chromeos/status/caps_lock_menu_button.cc
+++ b/chrome/browser/chromeos/status/caps_lock_menu_button.cc
@@ -164,14 +164,14 @@ void CapsLockMenuButton::Observe(int type,
}
void CapsLockMenuButton::UpdateAccessibleName() {
- int id = IDS_STATUSBAR_CAPS_LOCK_ENABLED_PRESS_SHIFT_KEYS;
+ int id = IDS_STATUSBAR_CAPS_LOCK_ENABLED_PRESS_SHIFT_AND_SEARCH_KEYS;
if (HasCapsLock())
id = IDS_STATUSBAR_CAPS_LOCK_ENABLED_PRESS_SEARCH;
SetAccessibleName(l10n_util::GetStringUTF16(id));
}
string16 CapsLockMenuButton::GetText() const {
- int id = IDS_STATUSBAR_CAPS_LOCK_ENABLED_PRESS_SHIFT_KEYS;
+ int id = IDS_STATUSBAR_CAPS_LOCK_ENABLED_PRESS_SHIFT_AND_SEARCH_KEYS;
if (HasCapsLock())
id = IDS_STATUSBAR_CAPS_LOCK_ENABLED_PRESS_SEARCH;
return l10n_util::GetStringUTF16(id);
diff --git a/chrome/browser/chromeos/system_key_event_listener.cc b/chrome/browser/chromeos/system_key_event_listener.cc
index db93792..666d32a 100644
--- a/chrome/browser/chromeos/system_key_event_listener.cc
+++ b/chrome/browser/chromeos/system_key_event_listener.cc
@@ -91,8 +91,7 @@ SystemKeyEventListener::SystemKeyEventListener()
key_f8_ = XKeysymToKeycode(display, XK_F8);
key_f9_ = XKeysymToKeycode(display, XK_F9);
key_f10_ = XKeysymToKeycode(display, XK_F10);
- key_left_shift_ = XKeysymToKeycode(display, XK_Shift_L);
- key_right_shift_ = XKeysymToKeycode(display, XK_Shift_R);
+ key_search_ = XKeysymToKeycode(display, XK_Super_L);
if (key_brightness_down_)
GrabKey(key_brightness_down_, 0);
@@ -325,11 +324,11 @@ bool SystemKeyEventListener::ProcessedXEvent(XEvent* xevent) {
if (keycode) {
const unsigned int state = (xevent->xkey.state & kSupportedModifiers);
- // Toggle Caps Lock if both Shift keys are pressed simultaneously.
- if (keycode == key_left_shift_ || keycode == key_right_shift_) {
- const bool other_shift_is_held = (state & ShiftMask);
+ // Toggle Caps Lock if Shift and Search keys are pressed.
+ if (keycode == key_search_) {
+ const bool shift_is_held = (state & ShiftMask);
const bool other_mods_are_held = (state & ~(ShiftMask | LockMask));
- if (other_shift_is_held && !other_mods_are_held)
+ if (shift_is_held && !other_mods_are_held)
input_method_manager->GetXKeyboard()->SetCapsLockEnabled(
!caps_lock_is_on_);
}
diff --git a/chrome/browser/chromeos/system_key_event_listener.h b/chrome/browser/chromeos/system_key_event_listener.h
index 12a8d2f..b0d7cd0 100644
--- a/chrome/browser/chromeos/system_key_event_listener.h
+++ b/chrome/browser/chromeos/system_key_event_listener.h
@@ -96,8 +96,7 @@ class SystemKeyEventListener : public MessageLoopForUI::Observer {
int32 key_f8_;
int32 key_f9_;
int32 key_f10_;
- int32 key_left_shift_;
- int32 key_right_shift_;
+ int32 key_search_;
bool stopped_;
diff --git a/chrome/browser/chromeos/system_key_event_listener_browsertest.cc b/chrome/browser/chromeos/system_key_event_listener_browsertest.cc
index 40c7551..fb116da 100644
--- a/chrome/browser/chromeos/system_key_event_listener_browsertest.cc
+++ b/chrome/browser/chromeos/system_key_event_listener_browsertest.cc
@@ -185,11 +185,11 @@ class SystemKeyEventListenerTest : public InProcessBrowserTest {
IN_PROC_BROWSER_TEST_F(SystemKeyEventListenerTest, TestCapsLock) {
listener_->AddCapsLockObserver(&caps_lock_observer_);
- // Press both Shift keys. Note that ProcessedXEvent() returns false even when
- // the second Shift key is pressed.
+ // Press Shift and Search keys. Note that ProcessedXEvent() returns false
+ // even when Shift and Search keys are both pressed.
EXPECT_FALSE(SendFakeEvent(XK_Shift_L, 0, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask, false));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask, true));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask, false));
EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ShiftMask, false));
// Enter a new message loop and wait for OnCapsLockChange() to be called.
ui_test_utils::RunMessageLoop();
@@ -199,25 +199,25 @@ IN_PROC_BROWSER_TEST_F(SystemKeyEventListenerTest, TestCapsLock) {
// Test all other Shift_L/R combinations.
EXPECT_FALSE(SendFakeEvent(XK_Shift_L, 0, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask, true));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask, true));
EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ShiftMask, false));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask, false));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, 0, false));
ui_test_utils::RunMessageLoop();
EXPECT_EQ(
initial_caps_lock_state_, manager_->GetXKeyboard()->CapsLockIsEnabled());
EXPECT_FALSE(SendFakeEvent(XK_Shift_R, 0, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ShiftMask, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ShiftMask, false));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask, true));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask, false));
EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask, false));
ui_test_utils::RunMessageLoop();
EXPECT_EQ(
!initial_caps_lock_state_, manager_->GetXKeyboard()->CapsLockIsEnabled());
EXPECT_FALSE(SendFakeEvent(XK_Shift_R, 0, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ShiftMask, true));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask, true));
EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask, false));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ShiftMask, false));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, 0, false));
ui_test_utils::RunMessageLoop();
EXPECT_EQ(
initial_caps_lock_state_, manager_->GetXKeyboard()->CapsLockIsEnabled());
@@ -233,33 +233,33 @@ IN_PROC_BROWSER_TEST_F(SystemKeyEventListenerTest, TestCapsLockWithNumLock) {
listener_->AddCapsLockObserver(&caps_lock_observer_);
EXPECT_FALSE(SendFakeEvent(XK_Shift_L, num_lock_mask_, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask | num_lock_mask_, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask | num_lock_mask_, false));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask | num_lock_mask_, true));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask | num_lock_mask_, false));
EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ShiftMask | num_lock_mask_, false));
ui_test_utils::RunMessageLoop();
EXPECT_EQ(
!initial_caps_lock_state_, manager_->GetXKeyboard()->CapsLockIsEnabled());
EXPECT_FALSE(SendFakeEvent(XK_Shift_L, num_lock_mask_, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask | num_lock_mask_, true));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask | num_lock_mask_, true));
EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ShiftMask | num_lock_mask_, false));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask | num_lock_mask_, false));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask | num_lock_mask_, false));
ui_test_utils::RunMessageLoop();
EXPECT_EQ(
initial_caps_lock_state_, manager_->GetXKeyboard()->CapsLockIsEnabled());
EXPECT_FALSE(SendFakeEvent(XK_Shift_R, num_lock_mask_, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ShiftMask | num_lock_mask_, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ShiftMask | num_lock_mask_, false));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask | num_lock_mask_, true));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask | num_lock_mask_, false));
EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask | num_lock_mask_, false));
ui_test_utils::RunMessageLoop();
EXPECT_EQ(
!initial_caps_lock_state_, manager_->GetXKeyboard()->CapsLockIsEnabled());
EXPECT_FALSE(SendFakeEvent(XK_Shift_R, num_lock_mask_, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ShiftMask | num_lock_mask_, true));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask | num_lock_mask_, true));
EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask | num_lock_mask_, false));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ShiftMask | num_lock_mask_, false));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask | num_lock_mask_, false));
ui_test_utils::RunMessageLoop();
EXPECT_EQ(
initial_caps_lock_state_, manager_->GetXKeyboard()->CapsLockIsEnabled());
@@ -268,14 +268,14 @@ IN_PROC_BROWSER_TEST_F(SystemKeyEventListenerTest, TestCapsLockWithNumLock) {
manager_->GetXKeyboard()->SetCapsLockEnabled(initial_caps_lock_state_);
}
-// Tests pressing Shift_L+R with an another modifier like Control. Caps Lock
+// Tests pressing Shift+Search with an another modifier like Control. Caps Lock
// status should not be changed this time.
IN_PROC_BROWSER_TEST_F(SystemKeyEventListenerTest, TestCapsLockWithControl) {
listener_->AddCapsLockObserver(&caps_lock_observer_);
EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ControlMask, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask | ControlMask, true));
- EXPECT_FALSE(SendFakeEvent(XK_Shift_R, ShiftMask | ControlMask, false));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask | ControlMask, true));
+ EXPECT_FALSE(SendFakeEvent(XK_Super_L, ShiftMask | ControlMask, false));
EXPECT_FALSE(SendFakeEvent(XK_Shift_L, ShiftMask | ControlMask, false));
EXPECT_EQ(
initial_caps_lock_state_, manager_->GetXKeyboard()->CapsLockIsEnabled());