| 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 "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 | 8 |
| 9 namespace ash { | 9 namespace ash { |
| 10 | 10 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 MAGNIFY_SCREEN_ZOOM_OUT}, | 70 MAGNIFY_SCREEN_ZOOM_OUT}, |
| 71 { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN, MAGNIFY_SCREEN_ZOOM_IN}, | 71 { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN, MAGNIFY_SCREEN_ZOOM_IN}, |
| 72 // Extra shortcut for debug build to activate lock screen on linux desktop. | 72 // Extra shortcut for debug build to activate lock screen on linux desktop. |
| 73 { true, ui::VKEY_L, ui::EF_ALT_DOWN, LOCK_SCREEN }, | 73 { true, ui::VKEY_L, ui::EF_ALT_DOWN, LOCK_SCREEN }, |
| 74 // Extra shortcut for display swaping as alt-f4 is taken on linux desktop. | 74 // Extra shortcut for display swaping as alt-f4 is taken on linux desktop. |
| 75 { true, ui::VKEY_F4, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, | 75 { true, ui::VKEY_F4, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, |
| 76 SWAP_PRIMARY_DISPLAY }, | 76 SWAP_PRIMARY_DISPLAY }, |
| 77 // Extra shortcut to lock the screen on linux desktop. | 77 // Extra shortcut to lock the screen on linux desktop. |
| 78 { true, ui::VKEY_POWER, ui::EF_SHIFT_DOWN, LOCK_PRESSED }, | 78 { true, ui::VKEY_POWER, ui::EF_SHIFT_DOWN, LOCK_PRESSED }, |
| 79 { false, ui::VKEY_POWER, ui::EF_SHIFT_DOWN, LOCK_RELEASED }, | 79 { false, ui::VKEY_POWER, ui::EF_SHIFT_DOWN, LOCK_RELEASED }, |
| 80 // Extra shortcut to rotate/scale up/down the screen on linux desktop. |
| 80 { true, ui::VKEY_F3, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, ROTATE_SCREEN }, | 81 { true, ui::VKEY_F3, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, ROTATE_SCREEN }, |
| 82 { true, ui::VKEY_F2, ui::EF_CONTROL_DOWN , SCALE_UI_UP }, |
| 83 { true, ui::VKEY_F2, |
| 84 ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_DOWN }, |
| 81 #endif // !defined(NDEBUG) | 85 #endif // !defined(NDEBUG) |
| 82 { true, ui::VKEY_O, ui::EF_CONTROL_DOWN, OPEN_FILE_DIALOG }, | 86 { true, ui::VKEY_O, ui::EF_CONTROL_DOWN, OPEN_FILE_DIALOG }, |
| 83 { true, ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, | 87 { true, ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, |
| 84 OPEN_FILE_MANAGER }, | 88 OPEN_FILE_MANAGER }, |
| 85 { true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, OPEN_CROSH }, | 89 { true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, OPEN_CROSH }, |
| 86 { true, ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 90 { true, ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 87 DISABLE_GPU_WATCHDOG }, | 91 DISABLE_GPU_WATCHDOG }, |
| 88 #endif // defined(OS_CHROMEOS) | 92 #endif // defined(OS_CHROMEOS) |
| 89 { true, ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FEEDBACK_PAGE }, | 93 { true, ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FEEDBACK_PAGE }, |
| 90 #if !defined(OS_WIN) | 94 #if !defined(OS_WIN) |
| 91 { true, ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, EXIT }, | 95 { true, ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, EXIT }, |
| 92 #endif | 96 #endif |
| 93 { true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 97 { true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 94 TOGGLE_SPOKEN_FEEDBACK }, | 98 TOGGLE_SPOKEN_FEEDBACK }, |
| 95 { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 99 { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 96 TOUCH_HUD_MODE_CHANGE }, | 100 TOUCH_HUD_MODE_CHANGE }, |
| 97 { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, | 101 { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, |
| 98 TOUCH_HUD_CLEAR }, | 102 TOUCH_HUD_CLEAR }, |
| 99 | 103 |
| 100 { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 104 { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
| 101 NEW_INCOGNITO_WINDOW }, | 105 NEW_INCOGNITO_WINDOW }, |
| 102 { true, ui::VKEY_N, ui::EF_CONTROL_DOWN, NEW_WINDOW }, | 106 { true, ui::VKEY_N, ui::EF_CONTROL_DOWN, NEW_WINDOW }, |
| 103 { true, ui::VKEY_T, ui::EF_CONTROL_DOWN, NEW_TAB }, | 107 { true, ui::VKEY_T, ui::EF_CONTROL_DOWN, NEW_TAB }, |
| 108 { true, ui::VKEY_BROWSER_BACK, |
| 109 ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_UP }, |
| 110 { true, ui::VKEY_BROWSER_FORWARD, |
| 111 ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_DOWN }, |
| 104 { true, ui::VKEY_BROWSER_REFRESH, | 112 { true, ui::VKEY_BROWSER_REFRESH, |
| 105 ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, ROTATE_SCREEN }, | 113 ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, ROTATE_SCREEN }, |
| 106 { true, ui::VKEY_BROWSER_REFRESH, | 114 { true, ui::VKEY_BROWSER_REFRESH, |
| 107 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 115 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 108 ROTATE_WINDOW }, | 116 ROTATE_WINDOW }, |
| 109 { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN, | 117 { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN, |
| 110 CYCLE_BACKWARD_LINEAR }, | 118 CYCLE_BACKWARD_LINEAR }, |
| 111 { true, ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, RESTORE_TAB }, | 119 { true, ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, RESTORE_TAB }, |
| 112 { true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT }, | 120 { true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT }, |
| 113 // On Chrome OS, Search key is mapped to LWIN. The Search key binding should | 121 // On Chrome OS, Search key is mapped to LWIN. The Search key binding should |
| 114 // act on release instead of press when using Search as a modifier key for | 122 // act on release instead of press when using Search as a modifier key for |
| 115 // extended keyboard shortcuts. | 123 // extended keyboard shortcuts. |
| 116 { false, ui::VKEY_LWIN, ui::EF_NONE, TOGGLE_APP_LIST }, | 124 { false, ui::VKEY_LWIN, ui::EF_NONE, TOGGLE_APP_LIST }, |
| 117 { false, ui::VKEY_LWIN, ui::EF_ALT_DOWN, TOGGLE_CAPS_LOCK }, | 125 { false, ui::VKEY_LWIN, ui::EF_ALT_DOWN, TOGGLE_CAPS_LOCK }, |
| 118 { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE, TOGGLE_MAXIMIZED }, | 126 { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE, TOGGLE_MAXIMIZED }, |
| 119 { true, ui::VKEY_VOLUME_MUTE, ui::EF_NONE, VOLUME_MUTE }, | 127 { true, ui::VKEY_VOLUME_MUTE, ui::EF_NONE, VOLUME_MUTE }, |
| 120 { true, ui::VKEY_VOLUME_DOWN, ui::EF_NONE, VOLUME_DOWN }, | 128 { true, ui::VKEY_VOLUME_DOWN, ui::EF_NONE, VOLUME_DOWN }, |
| 121 { true, ui::VKEY_VOLUME_UP, ui::EF_NONE, VOLUME_UP }, | 129 { true, ui::VKEY_VOLUME_UP, ui::EF_NONE, VOLUME_UP }, |
| 122 { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, FOCUS_LAUNCHER }, | 130 { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, FOCUS_LAUNCHER }, |
| 123 { true, ui::VKEY_HELP, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY }, | 131 { true, ui::VKEY_HELP, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY }, |
| 124 { true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 132 { true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 125 SHOW_KEYBOARD_OVERLAY }, | 133 SHOW_KEYBOARD_OVERLAY }, |
| 126 { true, ui::VKEY_OEM_2, | 134 { true, ui::VKEY_OEM_2, |
| 127 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 135 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 128 SHOW_KEYBOARD_OVERLAY }, | 136 SHOW_KEYBOARD_OVERLAY }, |
| 129 { true, ui::VKEY_F14, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY }, | 137 { true, ui::VKEY_F14, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY }, |
| 130 { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, | 138 { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, |
| 131 SHOW_MESSAGE_CENTER_BUBBLE }, | 139 SHOW_MESSAGE_CENTER_BUBBLE }, |
| 132 { true, ui::VKEY_BROWSER_BACK, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 140 { true, ui::VKEY_BROWSER_BACK, |
| 141 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 133 SHOW_OAK }, | 142 SHOW_OAK }, |
| 134 { true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, | 143 { true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, |
| 135 SHOW_SYSTEM_TRAY_BUBBLE }, | 144 SHOW_SYSTEM_TRAY_BUBBLE }, |
| 136 { true, ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, SHOW_TASK_MANAGER }, | 145 { true, ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, SHOW_TASK_MANAGER }, |
| 137 { true, ui::VKEY_1, ui::EF_ALT_DOWN, SELECT_WIN_0 }, | 146 { true, ui::VKEY_1, ui::EF_ALT_DOWN, SELECT_WIN_0 }, |
| 138 { true, ui::VKEY_2, ui::EF_ALT_DOWN, SELECT_WIN_1 }, | 147 { true, ui::VKEY_2, ui::EF_ALT_DOWN, SELECT_WIN_1 }, |
| 139 { true, ui::VKEY_3, ui::EF_ALT_DOWN, SELECT_WIN_2 }, | 148 { true, ui::VKEY_3, ui::EF_ALT_DOWN, SELECT_WIN_2 }, |
| 140 { true, ui::VKEY_4, ui::EF_ALT_DOWN, SELECT_WIN_3 }, | 149 { true, ui::VKEY_4, ui::EF_ALT_DOWN, SELECT_WIN_3 }, |
| 141 { true, ui::VKEY_5, ui::EF_ALT_DOWN, SELECT_WIN_4 }, | 150 { true, ui::VKEY_5, ui::EF_ALT_DOWN, SELECT_WIN_4 }, |
| 142 { true, ui::VKEY_6, ui::EF_ALT_DOWN, SELECT_WIN_5 }, | 151 { true, ui::VKEY_6, ui::EF_ALT_DOWN, SELECT_WIN_5 }, |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 TAKE_PARTIAL_SCREENSHOT, | 230 TAKE_PARTIAL_SCREENSHOT, |
| 222 TOGGLE_CAPS_LOCK, | 231 TOGGLE_CAPS_LOCK, |
| 223 TOGGLE_SPOKEN_FEEDBACK, | 232 TOGGLE_SPOKEN_FEEDBACK, |
| 224 TOGGLE_WIFI, | 233 TOGGLE_WIFI, |
| 225 TOUCH_HUD_CLEAR, | 234 TOUCH_HUD_CLEAR, |
| 226 VOLUME_DOWN, | 235 VOLUME_DOWN, |
| 227 VOLUME_MUTE, | 236 VOLUME_MUTE, |
| 228 VOLUME_UP, | 237 VOLUME_UP, |
| 229 ROTATE_SCREEN, | 238 ROTATE_SCREEN, |
| 230 ROTATE_WINDOW, | 239 ROTATE_WINDOW, |
| 240 SCALE_UI_UP, |
| 241 SCALE_UI_DOWN, |
| 231 #if !defined(NDEBUG) | 242 #if !defined(NDEBUG) |
| 232 PRINT_LAYER_HIERARCHY, | 243 PRINT_LAYER_HIERARCHY, |
| 233 PRINT_VIEW_HIERARCHY, | 244 PRINT_VIEW_HIERARCHY, |
| 234 PRINT_WINDOW_HIERARCHY, | 245 PRINT_WINDOW_HIERARCHY, |
| 235 #endif | 246 #endif |
| 236 #if defined(OS_CHROMEOS) && !defined(NDEBUG) | 247 #if defined(OS_CHROMEOS) && !defined(NDEBUG) |
| 237 POWER_PRESSED, | 248 POWER_PRESSED, |
| 238 POWER_RELEASED, | 249 POWER_RELEASED, |
| 239 #endif | 250 #endif |
| 240 }; | 251 }; |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 287 arraysize(kActionsAllowedAtModalWindow); | 298 arraysize(kActionsAllowedAtModalWindow); |
| 288 | 299 |
| 289 const AcceleratorAction kNonrepeatableActions[] = { | 300 const AcceleratorAction kNonrepeatableActions[] = { |
| 290 // TODO(mazda): Add other actions which should not be repeated. | 301 // TODO(mazda): Add other actions which should not be repeated. |
| 291 CYCLE_BACKWARD_LINEAR, | 302 CYCLE_BACKWARD_LINEAR, |
| 292 CYCLE_BACKWARD_MRU, | 303 CYCLE_BACKWARD_MRU, |
| 293 CYCLE_FORWARD_LINEAR, | 304 CYCLE_FORWARD_LINEAR, |
| 294 CYCLE_FORWARD_MRU, | 305 CYCLE_FORWARD_MRU, |
| 295 ROTATE_SCREEN, | 306 ROTATE_SCREEN, |
| 296 ROTATE_WINDOW, | 307 ROTATE_WINDOW, |
| 308 SCALE_UI_UP, |
| 309 SCALE_UI_DOWN, |
| 297 TOGGLE_MAXIMIZED, | 310 TOGGLE_MAXIMIZED, |
| 298 WINDOW_MINIMIZE, | 311 WINDOW_MINIMIZE, |
| 299 }; | 312 }; |
| 300 | 313 |
| 301 const size_t kNonrepeatableActionsLength = | 314 const size_t kNonrepeatableActionsLength = |
| 302 arraysize(kNonrepeatableActions); | 315 arraysize(kNonrepeatableActions); |
| 303 | 316 |
| 304 const AcceleratorAction kActionsAllowedInAppMode[] = { | 317 const AcceleratorAction kActionsAllowedInAppMode[] = { |
| 305 BRIGHTNESS_DOWN, | 318 BRIGHTNESS_DOWN, |
| 306 BRIGHTNESS_UP, | 319 BRIGHTNESS_UP, |
| 307 #if defined(OS_CHROMEOS) | 320 #if defined(OS_CHROMEOS) |
| 308 CYCLE_DISPLAY_MODE, | 321 CYCLE_DISPLAY_MODE, |
| 309 DISABLE_GPU_WATCHDOG, | 322 DISABLE_GPU_WATCHDOG, |
| 310 #endif // defined(OS_CHROMEOS) | 323 #endif // defined(OS_CHROMEOS) |
| 311 DISABLE_CAPS_LOCK, | 324 DISABLE_CAPS_LOCK, |
| 312 KEYBOARD_BRIGHTNESS_DOWN, | 325 KEYBOARD_BRIGHTNESS_DOWN, |
| 313 KEYBOARD_BRIGHTNESS_UP, | 326 KEYBOARD_BRIGHTNESS_UP, |
| 314 MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 | 327 MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 |
| 315 MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 | 328 MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 |
| 316 MEDIA_NEXT_TRACK, | 329 MEDIA_NEXT_TRACK, |
| 317 MEDIA_PLAY_PAUSE, | 330 MEDIA_PLAY_PAUSE, |
| 318 MEDIA_PREV_TRACK, | 331 MEDIA_PREV_TRACK, |
| 319 NEXT_IME, | 332 NEXT_IME, |
| 320 POWER_PRESSED, | 333 POWER_PRESSED, |
| 321 POWER_RELEASED, | 334 POWER_RELEASED, |
| 322 PREVIOUS_IME, | 335 PREVIOUS_IME, |
| 323 ROTATE_SCREEN, | 336 ROTATE_SCREEN, |
| 337 SCALE_UI_UP, |
| 338 SCALE_UI_DOWN, |
| 324 SWAP_PRIMARY_DISPLAY, | 339 SWAP_PRIMARY_DISPLAY, |
| 325 SWITCH_IME, // Switch to another IME depending on the accelerator. | 340 SWITCH_IME, // Switch to another IME depending on the accelerator. |
| 326 TOGGLE_CAPS_LOCK, | 341 TOGGLE_CAPS_LOCK, |
| 327 TOGGLE_SPOKEN_FEEDBACK, | 342 TOGGLE_SPOKEN_FEEDBACK, |
| 328 TOGGLE_WIFI, | 343 TOGGLE_WIFI, |
| 329 TOUCH_HUD_CLEAR, | 344 TOUCH_HUD_CLEAR, |
| 330 VOLUME_DOWN, | 345 VOLUME_DOWN, |
| 331 VOLUME_MUTE, | 346 VOLUME_MUTE, |
| 332 VOLUME_UP, | 347 VOLUME_UP, |
| 333 #if !defined(NDEBUG) | 348 #if !defined(NDEBUG) |
| 334 PRINT_LAYER_HIERARCHY, | 349 PRINT_LAYER_HIERARCHY, |
| 335 PRINT_VIEW_HIERARCHY, | 350 PRINT_VIEW_HIERARCHY, |
| 336 PRINT_WINDOW_HIERARCHY, | 351 PRINT_WINDOW_HIERARCHY, |
| 337 #endif | 352 #endif |
| 338 }; | 353 }; |
| 339 | 354 |
| 340 const size_t kActionsAllowedInAppModeLength = | 355 const size_t kActionsAllowedInAppModeLength = |
| 341 arraysize(kActionsAllowedInAppMode); | 356 arraysize(kActionsAllowedInAppMode); |
| 342 | 357 |
| 343 } // namespace ash | 358 } // namespace ash |
| OLD | NEW |