| 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 "ash/accelerators/accelerator_table.h" | 5 #include "ash/accelerators/accelerator_table.h" |
| 6 | 6 |
| 7 #include "ash/strings/grit/ash_strings.h" | 7 #include "ash/strings/grit/ash_strings.h" |
| 8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 | 9 |
| 10 namespace ash { | 10 namespace ash { |
| 11 | 11 |
| 12 const int kDebugModifier = |
| 13 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN; |
| 14 |
| 12 const AcceleratorData kAcceleratorData[] = { | 15 const AcceleratorData kAcceleratorData[] = { |
| 13 { true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, PREVIOUS_IME }, | 16 { true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, PREVIOUS_IME }, |
| 14 { false, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, PREVIOUS_IME }, | 17 { false, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, PREVIOUS_IME }, |
| 15 // Shortcuts for Japanese IME. | 18 // Shortcuts for Japanese IME. |
| 16 { true, ui::VKEY_CONVERT, ui::EF_NONE, SWITCH_IME }, | 19 { true, ui::VKEY_CONVERT, ui::EF_NONE, SWITCH_IME }, |
| 17 { true, ui::VKEY_NONCONVERT, ui::EF_NONE, SWITCH_IME }, | 20 { true, ui::VKEY_NONCONVERT, ui::EF_NONE, SWITCH_IME }, |
| 18 { true, ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE, SWITCH_IME }, | 21 { true, ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE, SWITCH_IME }, |
| 19 { true, ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE, SWITCH_IME }, | 22 { true, ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE, SWITCH_IME }, |
| 20 // Shortcut for Koren IME. | 23 // Shortcut for Koren IME. |
| 21 { true, ui::VKEY_HANGUL, ui::EF_NONE, SWITCH_IME }, | 24 { true, ui::VKEY_HANGUL, ui::EF_NONE, SWITCH_IME }, |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 TOUCH_HUD_PROJECTION_TOGGLE }, | 75 TOUCH_HUD_PROJECTION_TOGGLE }, |
| 73 // Accessibility: Spoken feedback shortcuts. The first one is to toggle | 76 // Accessibility: Spoken feedback shortcuts. The first one is to toggle |
| 74 // spoken feedback on or off. The others are only valid when | 77 // spoken feedback on or off. The others are only valid when |
| 75 // spoken feedback is enabled. | 78 // spoken feedback is enabled. |
| 76 { true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 79 { true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 77 TOGGLE_SPOKEN_FEEDBACK }, | 80 TOGGLE_SPOKEN_FEEDBACK }, |
| 78 { true, ui::VKEY_OEM_COMMA, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 81 { true, ui::VKEY_OEM_COMMA, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 79 SWITCH_TO_PREVIOUS_USER }, | 82 SWITCH_TO_PREVIOUS_USER }, |
| 80 { true, ui::VKEY_OEM_PERIOD, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 83 { true, ui::VKEY_OEM_PERIOD, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 81 SWITCH_TO_NEXT_USER }, | 84 SWITCH_TO_NEXT_USER }, |
| 82 // Turning the TouchView maximizing mode on via hotkey for the time being. | |
| 83 // TODO(skuhne): Remove once the test isn't needed anymore. | |
| 84 { true, ui::VKEY_8, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, | |
| 85 TOGGLE_TOUCH_VIEW_TESTING }, | |
| 86 // Single shift release turns off caps lock. | 85 // Single shift release turns off caps lock. |
| 87 { false, ui::VKEY_LSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, | 86 { false, ui::VKEY_LSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, |
| 88 { false, ui::VKEY_SHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, | 87 { false, ui::VKEY_SHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, |
| 89 { false, ui::VKEY_RSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, | 88 { false, ui::VKEY_RSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, |
| 90 { false, ui::VKEY_LWIN, ui::EF_ALT_DOWN, TOGGLE_CAPS_LOCK }, | 89 { false, ui::VKEY_LWIN, ui::EF_ALT_DOWN, TOGGLE_CAPS_LOCK }, |
| 91 { true, ui::VKEY_VOLUME_MUTE, ui::EF_NONE, VOLUME_MUTE }, | 90 { true, ui::VKEY_VOLUME_MUTE, ui::EF_NONE, VOLUME_MUTE }, |
| 92 { true, ui::VKEY_VOLUME_DOWN, ui::EF_NONE, VOLUME_DOWN }, | 91 { true, ui::VKEY_VOLUME_DOWN, ui::EF_NONE, VOLUME_DOWN }, |
| 93 { true, ui::VKEY_VOLUME_UP, ui::EF_NONE, VOLUME_UP }, | 92 { true, ui::VKEY_VOLUME_UP, ui::EF_NONE, VOLUME_UP }, |
| 94 { true, ui::VKEY_ESCAPE, ui::EF_COMMAND_DOWN, SHOW_TASK_MANAGER }, | 93 { true, ui::VKEY_ESCAPE, ui::EF_COMMAND_DOWN, SHOW_TASK_MANAGER }, |
| 95 { true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, NEXT_IME }, | 94 { true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, NEXT_IME }, |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 { true, ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN, FOCUS_NEXT_PANE }, | 158 { true, ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN, FOCUS_NEXT_PANE }, |
| 160 { true, ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN, FOCUS_PREVIOUS_PANE }, | 159 { true, ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN, FOCUS_PREVIOUS_PANE }, |
| 161 | 160 |
| 162 // Media Player shortcuts. | 161 // Media Player shortcuts. |
| 163 { true, ui::VKEY_MEDIA_NEXT_TRACK, ui::EF_NONE, MEDIA_NEXT_TRACK}, | 162 { true, ui::VKEY_MEDIA_NEXT_TRACK, ui::EF_NONE, MEDIA_NEXT_TRACK}, |
| 164 { true, ui::VKEY_MEDIA_PLAY_PAUSE, ui::EF_NONE, MEDIA_PLAY_PAUSE}, | 163 { true, ui::VKEY_MEDIA_PLAY_PAUSE, ui::EF_NONE, MEDIA_PLAY_PAUSE}, |
| 165 { true, ui::VKEY_MEDIA_PREV_TRACK, ui::EF_NONE, MEDIA_PREV_TRACK}, | 164 { true, ui::VKEY_MEDIA_PREV_TRACK, ui::EF_NONE, MEDIA_PREV_TRACK}, |
| 166 | 165 |
| 167 // Debugging shortcuts that need to be available to end-users in | 166 // Debugging shortcuts that need to be available to end-users in |
| 168 // release builds. | 167 // release builds. |
| 169 { true, ui::VKEY_U, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, | 168 { true, ui::VKEY_U, kDebugModifier, PRINT_UI_HIERARCHIES }, |
| 170 PRINT_UI_HIERARCHIES }, | |
| 171 | 169 |
| 172 // TODO(yusukes): Handle VKEY_MEDIA_STOP, and | 170 // TODO(yusukes): Handle VKEY_MEDIA_STOP, and |
| 173 // VKEY_MEDIA_LAUNCH_MAIL. | 171 // VKEY_MEDIA_LAUNCH_MAIL. |
| 174 }; | 172 }; |
| 175 | 173 |
| 176 const size_t kAcceleratorDataLength = arraysize(kAcceleratorData); | 174 const size_t kAcceleratorDataLength = arraysize(kAcceleratorData); |
| 177 | 175 |
| 178 // Instructions for how to deprecate and replace an Accelerator: | 176 // Instructions for how to deprecate and replace an Accelerator: |
| 179 // | 177 // |
| 180 // 1- Replace the old deprecated accelerator from the above list with the new | 178 // 1- Replace the old deprecated accelerator from the above list with the new |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 260 {true, ui::VKEY_D, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, | 258 {true, ui::VKEY_D, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, |
| 261 DEBUG_ADD_REMOVE_DISPLAY}, | 259 DEBUG_ADD_REMOVE_DISPLAY}, |
| 262 {true, ui::VKEY_J, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, | 260 {true, ui::VKEY_J, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, |
| 263 DEBUG_TOGGLE_UNIFIED_DESKTOP}, | 261 DEBUG_TOGGLE_UNIFIED_DESKTOP}, |
| 264 {true, ui::VKEY_M, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, | 262 {true, ui::VKEY_M, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, |
| 265 TOGGLE_MIRROR_MODE}, | 263 TOGGLE_MIRROR_MODE}, |
| 266 {true, ui::VKEY_P, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, | 264 {true, ui::VKEY_P, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, |
| 267 DEBUG_TOGGLE_TOUCH_PAD}, | 265 DEBUG_TOGGLE_TOUCH_PAD}, |
| 268 {true, ui::VKEY_T, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, | 266 {true, ui::VKEY_T, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, |
| 269 DEBUG_TOGGLE_TOUCH_SCREEN}, | 267 DEBUG_TOGGLE_TOUCH_SCREEN}, |
| 268 { true, ui::VKEY_T, kDebugModifier, DEBUG_TOGGLE_TOUCH_VIEW}, |
| 270 {true, ui::VKEY_W, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, TOGGLE_WIFI}, | 269 {true, ui::VKEY_W, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, TOGGLE_WIFI}, |
| 271 // Extra shortcut for display swapping as alt-f4 is taken on linux desktop. | 270 // Extra shortcut for display swapping as alt-f4 is taken on linux desktop. |
| 272 {true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 271 {true, ui::VKEY_S, kDebugModifier, SWAP_PRIMARY_DISPLAY}, |
| 273 SWAP_PRIMARY_DISPLAY}, | |
| 274 #endif | 272 #endif |
| 275 // Extra shortcut to rotate/scale up/down the screen on linux desktop. | 273 // Extra shortcut to rotate/scale up/down the screen on linux desktop. |
| 276 {true, ui::VKEY_R, | 274 {true, ui::VKEY_R, |
| 277 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ROTATE_SCREEN}, | 275 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ROTATE_SCREEN}, |
| 278 // For testing on systems where Alt-Tab is already mapped. | 276 // For testing on systems where Alt-Tab is already mapped. |
| 279 {true, ui::VKEY_W, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU}, | 277 {true, ui::VKEY_W, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU}, |
| 280 {true, ui::VKEY_F11, ui::EF_CONTROL_DOWN, | 278 {true, ui::VKEY_F11, ui::EF_CONTROL_DOWN, |
| 281 DEBUG_TOGGLE_ROOT_WINDOW_FULL_SCREEN}, | 279 DEBUG_TOGGLE_ROOT_WINDOW_FULL_SCREEN}, |
| 282 {true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, CYCLE_BACKWARD_MRU}, | 280 {true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, CYCLE_BACKWARD_MRU}, |
| 283 {true, ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 281 {true, ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 284 DEBUG_TOGGLE_DESKTOP_BACKGROUND_MODE}, | 282 DEBUG_TOGGLE_DESKTOP_BACKGROUND_MODE}, |
| 285 {true, ui::VKEY_F, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 283 {true, ui::VKEY_F, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
| 286 TOGGLE_FULLSCREEN}, | 284 TOGGLE_FULLSCREEN}, |
| 287 {true, ui::VKEY_L, | 285 {true, ui::VKEY_L, kDebugModifier, DEBUG_PRINT_LAYER_HIERARCHY}, |
| 288 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 286 {true, ui::VKEY_V, kDebugModifier, DEBUG_PRINT_VIEW_HIERARCHY}, |
| 289 DEBUG_PRINT_LAYER_HIERARCHY}, | 287 {true, ui::VKEY_W, kDebugModifier, DEBUG_PRINT_WINDOW_HIERARCHY}, |
| 290 {true, ui::VKEY_V, | 288 {true, ui::VKEY_D, kDebugModifier, DEBUG_TOGGLE_DEVICE_SCALE_FACTOR}, |
| 291 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 289 {true, ui::VKEY_B, kDebugModifier, DEBUG_TOGGLE_SHOW_DEBUG_BORDERS}, |
| 292 DEBUG_PRINT_VIEW_HIERARCHY}, | 290 {true, ui::VKEY_F, kDebugModifier, DEBUG_TOGGLE_SHOW_FPS_COUNTER}, |
| 293 {true, ui::VKEY_W, | 291 {true, ui::VKEY_P, kDebugModifier, DEBUG_TOGGLE_SHOW_PAINT_RECTS}, |
| 294 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | |
| 295 DEBUG_PRINT_WINDOW_HIERARCHY}, | |
| 296 {true, ui::VKEY_D, | |
| 297 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | |
| 298 DEBUG_TOGGLE_DEVICE_SCALE_FACTOR}, | |
| 299 {true, ui::VKEY_B, | |
| 300 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | |
| 301 DEBUG_TOGGLE_SHOW_DEBUG_BORDERS}, | |
| 302 {true, ui::VKEY_F, | |
| 303 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | |
| 304 DEBUG_TOGGLE_SHOW_FPS_COUNTER}, | |
| 305 {true, ui::VKEY_P, | |
| 306 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | |
| 307 DEBUG_TOGGLE_SHOW_PAINT_RECTS}, | |
| 308 }; | 292 }; |
| 309 | 293 |
| 310 const size_t kDebugAcceleratorDataLength = arraysize(kDebugAcceleratorData); | 294 const size_t kDebugAcceleratorDataLength = arraysize(kDebugAcceleratorData); |
| 311 | 295 |
| 312 const AcceleratorAction kPreferredActions[] = { | 296 const AcceleratorAction kPreferredActions[] = { |
| 313 // Window cycling accelerators. | 297 // Window cycling accelerators. |
| 314 CYCLE_BACKWARD_MRU, // Shift+Alt+Tab | 298 CYCLE_BACKWARD_MRU, // Shift+Alt+Tab |
| 315 CYCLE_FORWARD_MRU, // Alt+Tab | 299 CYCLE_FORWARD_MRU, // Alt+Tab |
| 316 }; | 300 }; |
| 317 | 301 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 346 SWITCH_IME, // Switch to another IME depending on the accelerator. | 330 SWITCH_IME, // Switch to another IME depending on the accelerator. |
| 347 TAKE_WINDOW_SCREENSHOT, | 331 TAKE_WINDOW_SCREENSHOT, |
| 348 TAKE_PARTIAL_SCREENSHOT, | 332 TAKE_PARTIAL_SCREENSHOT, |
| 349 TAKE_SCREENSHOT, | 333 TAKE_SCREENSHOT, |
| 350 #if defined(OS_CHROMEOS) | 334 #if defined(OS_CHROMEOS) |
| 351 BRIGHTNESS_DOWN, | 335 BRIGHTNESS_DOWN, |
| 352 BRIGHTNESS_UP, | 336 BRIGHTNESS_UP, |
| 353 DEBUG_ADD_REMOVE_DISPLAY, | 337 DEBUG_ADD_REMOVE_DISPLAY, |
| 354 DEBUG_TOGGLE_TOUCH_PAD, | 338 DEBUG_TOGGLE_TOUCH_PAD, |
| 355 DEBUG_TOGGLE_TOUCH_SCREEN, | 339 DEBUG_TOGGLE_TOUCH_SCREEN, |
| 340 DEBUG_TOGGLE_TOUCH_VIEW, |
| 356 DISABLE_CAPS_LOCK, | 341 DISABLE_CAPS_LOCK, |
| 357 DISABLE_GPU_WATCHDOG, | 342 DISABLE_GPU_WATCHDOG, |
| 358 KEYBOARD_BRIGHTNESS_DOWN, | 343 KEYBOARD_BRIGHTNESS_DOWN, |
| 359 KEYBOARD_BRIGHTNESS_UP, | 344 KEYBOARD_BRIGHTNESS_UP, |
| 360 TOGGLE_CAPS_LOCK, | 345 TOGGLE_CAPS_LOCK, |
| 361 TOGGLE_SPOKEN_FEEDBACK, | 346 TOGGLE_SPOKEN_FEEDBACK, |
| 362 TOGGLE_TOUCH_VIEW_TESTING, | |
| 363 TOGGLE_MIRROR_MODE, | 347 TOGGLE_MIRROR_MODE, |
| 364 TOGGLE_WIFI, | 348 TOGGLE_WIFI, |
| 365 TOUCH_HUD_CLEAR, | 349 TOUCH_HUD_CLEAR, |
| 366 VOLUME_DOWN, | 350 VOLUME_DOWN, |
| 367 VOLUME_MUTE, | 351 VOLUME_MUTE, |
| 368 VOLUME_UP, | 352 VOLUME_UP, |
| 369 #endif | 353 #endif |
| 370 #if defined(OS_CHROMEOS) && !defined(NDEBUG) | 354 #if defined(OS_CHROMEOS) && !defined(NDEBUG) |
| 371 POWER_PRESSED, | 355 POWER_PRESSED, |
| 372 POWER_RELEASED, | 356 POWER_RELEASED, |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 562 TOGGLE_WIFI, | 546 TOGGLE_WIFI, |
| 563 VOLUME_DOWN, | 547 VOLUME_DOWN, |
| 564 VOLUME_MUTE, | 548 VOLUME_MUTE, |
| 565 VOLUME_UP, | 549 VOLUME_UP, |
| 566 #endif // defined(OS_CHROMEOS) | 550 #endif // defined(OS_CHROMEOS) |
| 567 }; | 551 }; |
| 568 | 552 |
| 569 const size_t kActionsKeepingMenuOpenLength = arraysize(kActionsKeepingMenuOpen); | 553 const size_t kActionsKeepingMenuOpenLength = arraysize(kActionsKeepingMenuOpen); |
| 570 | 554 |
| 571 } // namespace ash | 555 } // namespace ash |
| OLD | NEW |