diff options
author | yusukes@google.com <yusukes@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-13 04:46:22 +0000 |
---|---|---|
committer | yusukes@google.com <yusukes@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-13 04:46:22 +0000 |
commit | 725d11a434b0bb70c578fbeafa3baeecec91d0e9 (patch) | |
tree | 10ed37e95b8802ca8f567c27f249a11993819eb5 /ash | |
parent | fd237d31cca7c3a3d4c2db9721eb59cd964cd9ff (diff) | |
download | chromium_src-725d11a434b0bb70c578fbeafa3baeecec91d0e9.zip chromium_src-725d11a434b0bb70c578fbeafa3baeecec91d0e9.tar.gz chromium_src-725d11a434b0bb70c578fbeafa3baeecec91d0e9.tar.bz2 |
Always handle Chrome OS top-row keys (F5-10) in Ash.
BUG=136861
TEST=aura_shell_unittests
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=146468
Review URL: https://chromiumcodereview.appspot.com/10702181
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146523 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r-- | ash/accelerators/accelerator_controller.cc | 1 | ||||
-rw-r--r-- | ash/accelerators/accelerator_controller_unittest.cc | 27 | ||||
-rw-r--r-- | ash/accelerators/accelerator_table.cc | 34 | ||||
-rw-r--r-- | ash/accelerators/accelerator_table.h | 3 |
4 files changed, 54 insertions, 11 deletions
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc index 85c70e3..43a68b7 100644 --- a/ash/accelerators/accelerator_controller.cc +++ b/ash/accelerators/accelerator_controller.cc @@ -411,6 +411,7 @@ bool AcceleratorController::PerformAction(int action, case RESTORE_TAB: return HandleRestoreTab(); case TAKE_SCREENSHOT: + case TAKE_SCREENSHOT_BY_PRTSCN_KEY: if (screenshot_delegate_.get()) { Shell::RootWindowList root_windows = Shell::GetAllRootWindows(); for (size_t i = 0; i < root_windows.size(); ++i) diff --git a/ash/accelerators/accelerator_controller_unittest.cc b/ash/accelerators/accelerator_controller_unittest.cc index 45d81ad..fde7259 100644 --- a/ash/accelerators/accelerator_controller_unittest.cc +++ b/ash/accelerators/accelerator_controller_unittest.cc @@ -957,15 +957,32 @@ TEST_F(AcceleratorControllerTest, ImeGlobalAccelerators) { } TEST_F(AcceleratorControllerTest, ReservedAccelerators) { - // (Shift+)Alt+Tab is reserved, while (Shift+)F5 is not. - EXPECT_FALSE(GetController()->IsReservedAccelerator( - ui::Accelerator(ui::VKEY_F5, ui::EF_NONE))); + // (Shift+)Alt+Tab and Chrome OS top-row keys are reserved. EXPECT_TRUE(GetController()->IsReservedAccelerator( ui::Accelerator(ui::VKEY_TAB, ui::EF_ALT_DOWN))); - EXPECT_FALSE(GetController()->IsReservedAccelerator( - ui::Accelerator(ui::VKEY_F5, ui::EF_SHIFT_DOWN))); EXPECT_TRUE(GetController()->IsReservedAccelerator( ui::Accelerator(ui::VKEY_TAB, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN))); +#if defined(OS_CHROMEOS) + EXPECT_TRUE(GetController()->IsReservedAccelerator( + ui::Accelerator(ui::VKEY_F5, ui::EF_NONE))); + EXPECT_TRUE(GetController()->IsReservedAccelerator( + ui::Accelerator(ui::VKEY_F6, ui::EF_NONE))); + EXPECT_TRUE(GetController()->IsReservedAccelerator( + ui::Accelerator(ui::VKEY_F7, ui::EF_NONE))); + EXPECT_TRUE(GetController()->IsReservedAccelerator( + ui::Accelerator(ui::VKEY_F8, ui::EF_NONE))); + EXPECT_TRUE(GetController()->IsReservedAccelerator( + ui::Accelerator(ui::VKEY_F9, ui::EF_NONE))); + EXPECT_TRUE(GetController()->IsReservedAccelerator( + ui::Accelerator(ui::VKEY_F10, ui::EF_NONE))); +#endif + // Others are not reserved. + EXPECT_FALSE(GetController()->IsReservedAccelerator( + ui::Accelerator(ui::VKEY_PRINT, ui::EF_NONE))); + EXPECT_FALSE(GetController()->IsReservedAccelerator( + ui::Accelerator(ui::VKEY_TAB, ui::EF_NONE))); + EXPECT_FALSE(GetController()->IsReservedAccelerator( + ui::Accelerator(ui::VKEY_A, ui::EF_NONE))); } } // namespace test diff --git a/ash/accelerators/accelerator_table.cc b/ash/accelerators/accelerator_table.cc index 75ac163..f01b1be 100644 --- a/ash/accelerators/accelerator_table.cc +++ b/ash/accelerators/accelerator_table.cc @@ -74,7 +74,7 @@ const AcceleratorData kAcceleratorData[] = { { true, ui::VKEY_F5, ui::EF_CONTROL_DOWN, TAKE_SCREENSHOT }, { true, ui::VKEY_F5, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, TAKE_PARTIAL_SCREENSHOT }, - { true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT }, + { true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT_BY_PRTSCN_KEY }, // On Chrome OS, Search key is mapped to LWIN. { true, ui::VKEY_LWIN, ui::EF_NONE, TOGGLE_APP_LIST }, { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE, TOGGLE_APP_LIST }, @@ -142,15 +142,39 @@ const AcceleratorData kAcceleratorData[] = { PRINT_WINDOW_HIERARCHY }, #endif - // TODO(yusukes): Handle VKEY_MEDIA_STOP, VKEY_MEDIA_PLAY_PAUSE, - // VKEY_MEDIA_LAUNCH_MAIL, and VKEY_MEDIA_LAUNCH_APP2 (aka Calculator button). + // TODO(yusukes): Handle VKEY_MEDIA_STOP, VKEY_MEDIA_PLAY_PAUSE, and + // VKEY_MEDIA_LAUNCH_MAIL. }; const size_t kAcceleratorDataLength = arraysize(kAcceleratorData); const AcceleratorAction kReservedActions[] = { - CYCLE_BACKWARD_MRU, - CYCLE_FORWARD_MRU, + // Window cycling accelerators. + CYCLE_BACKWARD_MRU, // Shift+Alt+Tab + CYCLE_FORWARD_MRU, // Alt+Tab + +#if defined(OS_CHROMEOS) + // Chrome OS top-row keys. + FOCUS_PREVIOUS_PANE, // Control+F1 + FOCUS_NEXT_PANE, // Control+F2 + CYCLE_DISPLAY_MODE, // Control+F4 + DISPLAY_ADD_REMOVE, // Shift+F4 + DISPLAY_CYCLE, // Shift+Control+F4 + CYCLE_FORWARD_LINEAR, // F5 + CYCLE_BACKWARD_LINEAR, // Shift+F5 + TAKE_SCREENSHOT, // Control+F5 + TAKE_PARTIAL_SCREENSHOT, // Shift+Control+F5 + BRIGHTNESS_DOWN, // F6 + KEYBOARD_BRIGHTNESS_DOWN, // Alt+F6 + MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 + BRIGHTNESS_UP, // F7 + KEYBOARD_BRIGHTNESS_UP, // Alt+F7 + MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 + VOLUME_MUTE, // F8 + VOLUME_DOWN, // F9 + VOLUME_UP // F10 + // TODO(yusukes): Handle F1, F2, F3, and F4 without modifiers in BrowserView. +#endif }; const size_t kReservedActionsLength = arraysize(kReservedActions); diff --git a/ash/accelerators/accelerator_table.h b/ash/accelerators/accelerator_table.h index cf99660..ddc6c7c 100644 --- a/ash/accelerators/accelerator_table.h +++ b/ash/accelerators/accelerator_table.h @@ -49,7 +49,8 @@ enum AcceleratorAction { SHOW_TASK_MANAGER, SWITCH_IME, // Switch to another IME depending on the accelerator. TAKE_PARTIAL_SCREENSHOT, - TAKE_SCREENSHOT, + TAKE_SCREENSHOT, // Control+F5 + TAKE_SCREENSHOT_BY_PRTSCN_KEY, // PrtScn TOGGLE_APP_LIST, TOGGLE_CAPS_LOCK, TOGGLE_SPOKEN_FEEDBACK, |