| 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 { true, ui::VKEY_F3, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, ROTATE_SCREEN }, |
| 80 #endif // !defined(NDEBUG) | 81 #endif // !defined(NDEBUG) |
| 81 { true, ui::VKEY_O, ui::EF_CONTROL_DOWN, OPEN_FILE_DIALOG }, | 82 { true, ui::VKEY_O, ui::EF_CONTROL_DOWN, OPEN_FILE_DIALOG }, |
| 82 { true, ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, | 83 { true, ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, |
| 83 OPEN_FILE_MANAGER }, | 84 OPEN_FILE_MANAGER }, |
| 84 { true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, OPEN_CROSH }, | 85 { true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, OPEN_CROSH }, |
| 85 { true, ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 86 { true, ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 86 DISABLE_GPU_WATCHDOG }, | 87 DISABLE_GPU_WATCHDOG }, |
| 87 #endif // defined(OS_CHROMEOS) | 88 #endif // defined(OS_CHROMEOS) |
| 88 { true, ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FEEDBACK_PAGE }, | 89 { true, ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FEEDBACK_PAGE }, |
| 89 { true, ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, EXIT }, | 90 { true, ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, EXIT }, |
| 90 { true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 91 { true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 91 TOGGLE_SPOKEN_FEEDBACK }, | 92 TOGGLE_SPOKEN_FEEDBACK }, |
| 92 { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 93 { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 93 TOUCH_HUD_MODE_CHANGE }, | 94 TOUCH_HUD_MODE_CHANGE }, |
| 94 { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, | 95 { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, |
| 95 TOUCH_HUD_CLEAR }, | 96 TOUCH_HUD_CLEAR }, |
| 96 | 97 |
| 97 { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 98 { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
| 98 NEW_INCOGNITO_WINDOW }, | 99 NEW_INCOGNITO_WINDOW }, |
| 99 { true, ui::VKEY_N, ui::EF_CONTROL_DOWN, NEW_WINDOW }, | 100 { true, ui::VKEY_N, ui::EF_CONTROL_DOWN, NEW_WINDOW }, |
| 100 { true, ui::VKEY_T, ui::EF_CONTROL_DOWN, NEW_TAB }, | 101 { true, ui::VKEY_T, ui::EF_CONTROL_DOWN, NEW_TAB }, |
| 101 | 102 { true, ui::VKEY_BROWSER_REFRESH, |
| 103 ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, ROTATE_SCREEN }, |
| 102 { true, ui::VKEY_BROWSER_REFRESH, | 104 { true, ui::VKEY_BROWSER_REFRESH, |
| 103 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 105 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 104 ROTATE_WINDOW }, | 106 ROTATE_WINDOW }, |
| 105 { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN, | 107 { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN, |
| 106 CYCLE_BACKWARD_LINEAR }, | 108 CYCLE_BACKWARD_LINEAR }, |
| 107 { true, ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, RESTORE_TAB }, | 109 { true, ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, RESTORE_TAB }, |
| 108 { true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT }, | 110 { true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT }, |
| 109 // On Chrome OS, Search key is mapped to LWIN. The Search key binding should | 111 // On Chrome OS, Search key is mapped to LWIN. The Search key binding should |
| 110 // act on release instead of press when using Search as a modifier key for | 112 // act on release instead of press when using Search as a modifier key for |
| 111 // extended keyboard shortcuts. | 113 // extended keyboard shortcuts. |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 { true, ui::VKEY_MEDIA_PLAY_PAUSE, ui::EF_NONE, MEDIA_PLAY_PAUSE}, | 159 { true, ui::VKEY_MEDIA_PLAY_PAUSE, ui::EF_NONE, MEDIA_PLAY_PAUSE}, |
| 158 { true, ui::VKEY_MEDIA_PREV_TRACK, ui::EF_NONE, MEDIA_PREV_TRACK}, | 160 { true, ui::VKEY_MEDIA_PREV_TRACK, ui::EF_NONE, MEDIA_PREV_TRACK}, |
| 159 | 161 |
| 160 // TODO(yusukes): Handle VKEY_MEDIA_STOP, and | 162 // TODO(yusukes): Handle VKEY_MEDIA_STOP, and |
| 161 // VKEY_MEDIA_LAUNCH_MAIL. | 163 // VKEY_MEDIA_LAUNCH_MAIL. |
| 162 }; | 164 }; |
| 163 | 165 |
| 164 const size_t kAcceleratorDataLength = arraysize(kAcceleratorData); | 166 const size_t kAcceleratorDataLength = arraysize(kAcceleratorData); |
| 165 | 167 |
| 166 const AcceleratorData kDebugAcceleratorData[] = { | 168 const AcceleratorData kDebugAcceleratorData[] = { |
| 167 { true, ui::VKEY_HOME, ui::EF_CONTROL_DOWN, ROTATE_SCREEN }, | |
| 168 { true, ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 169 { true, ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 169 TOGGLE_DESKTOP_BACKGROUND_MODE }, | 170 TOGGLE_DESKTOP_BACKGROUND_MODE }, |
| 170 { true, ui::VKEY_F11, ui::EF_CONTROL_DOWN, TOGGLE_ROOT_WINDOW_FULL_SCREEN }, | 171 { true, ui::VKEY_F11, ui::EF_CONTROL_DOWN, TOGGLE_ROOT_WINDOW_FULL_SCREEN }, |
| 171 { true, ui::VKEY_W, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, TOGGLE_WIFI }, | 172 { true, ui::VKEY_W, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, TOGGLE_WIFI }, |
| 172 // For testing on systems where Alt-Tab is already mapped. | 173 // For testing on systems where Alt-Tab is already mapped. |
| 173 { true, ui::VKEY_W, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU }, | 174 { true, ui::VKEY_W, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU }, |
| 174 { true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, | 175 { true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, |
| 175 CYCLE_BACKWARD_MRU }, | 176 CYCLE_BACKWARD_MRU }, |
| 176 { true, ui::VKEY_HOME, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 177 { true, ui::VKEY_HOME, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
| 177 DISPLAY_TOGGLE_SCALE }, | 178 DISPLAY_TOGGLE_SCALE }, |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 SWITCH_IME, // Switch to another IME depending on the accelerator. | 217 SWITCH_IME, // Switch to another IME depending on the accelerator. |
| 217 TAKE_SCREENSHOT, | 218 TAKE_SCREENSHOT, |
| 218 TAKE_PARTIAL_SCREENSHOT, | 219 TAKE_PARTIAL_SCREENSHOT, |
| 219 TOGGLE_CAPS_LOCK, | 220 TOGGLE_CAPS_LOCK, |
| 220 TOGGLE_SPOKEN_FEEDBACK, | 221 TOGGLE_SPOKEN_FEEDBACK, |
| 221 TOGGLE_WIFI, | 222 TOGGLE_WIFI, |
| 222 TOUCH_HUD_CLEAR, | 223 TOUCH_HUD_CLEAR, |
| 223 VOLUME_DOWN, | 224 VOLUME_DOWN, |
| 224 VOLUME_MUTE, | 225 VOLUME_MUTE, |
| 225 VOLUME_UP, | 226 VOLUME_UP, |
| 227 ROTATE_SCREEN, |
| 226 ROTATE_WINDOW, | 228 ROTATE_WINDOW, |
| 227 #if !defined(NDEBUG) | 229 #if !defined(NDEBUG) |
| 228 PRINT_LAYER_HIERARCHY, | 230 PRINT_LAYER_HIERARCHY, |
| 229 PRINT_VIEW_HIERARCHY, | 231 PRINT_VIEW_HIERARCHY, |
| 230 PRINT_WINDOW_HIERARCHY, | 232 PRINT_WINDOW_HIERARCHY, |
| 231 ROTATE_SCREEN, | |
| 232 #endif | 233 #endif |
| 233 #if defined(OS_CHROMEOS) && !defined(NDEBUG) | 234 #if defined(OS_CHROMEOS) && !defined(NDEBUG) |
| 234 POWER_PRESSED, | 235 POWER_PRESSED, |
| 235 POWER_RELEASED, | 236 POWER_RELEASED, |
| 236 #endif | 237 #endif |
| 237 }; | 238 }; |
| 238 | 239 |
| 239 const size_t kActionsAllowedAtLoginOrLockScreenLength = | 240 const size_t kActionsAllowedAtLoginOrLockScreenLength = |
| 240 arraysize(kActionsAllowedAtLoginOrLockScreen); | 241 arraysize(kActionsAllowedAtLoginOrLockScreen); |
| 241 | 242 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 | 283 |
| 283 const size_t kActionsAllowedAtModalWindowLength = | 284 const size_t kActionsAllowedAtModalWindowLength = |
| 284 arraysize(kActionsAllowedAtModalWindow); | 285 arraysize(kActionsAllowedAtModalWindow); |
| 285 | 286 |
| 286 const AcceleratorAction kNonrepeatableActions[] = { | 287 const AcceleratorAction kNonrepeatableActions[] = { |
| 287 // TODO(mazda): Add other actions which should not be repeated. | 288 // TODO(mazda): Add other actions which should not be repeated. |
| 288 CYCLE_BACKWARD_LINEAR, | 289 CYCLE_BACKWARD_LINEAR, |
| 289 CYCLE_BACKWARD_MRU, | 290 CYCLE_BACKWARD_MRU, |
| 290 CYCLE_FORWARD_LINEAR, | 291 CYCLE_FORWARD_LINEAR, |
| 291 CYCLE_FORWARD_MRU, | 292 CYCLE_FORWARD_MRU, |
| 293 ROTATE_SCREEN, |
| 292 ROTATE_WINDOW, | 294 ROTATE_WINDOW, |
| 293 TOGGLE_MAXIMIZED, | 295 TOGGLE_MAXIMIZED, |
| 294 WINDOW_MINIMIZE, | 296 WINDOW_MINIMIZE, |
| 295 }; | 297 }; |
| 296 | 298 |
| 297 const size_t kNonrepeatableActionsLength = | 299 const size_t kNonrepeatableActionsLength = |
| 298 arraysize(kNonrepeatableActions); | 300 arraysize(kNonrepeatableActions); |
| 299 | 301 |
| 300 const AcceleratorAction kActionsAllowedInAppMode[] = { | 302 const AcceleratorAction kActionsAllowedInAppMode[] = { |
| 301 BRIGHTNESS_DOWN, | 303 BRIGHTNESS_DOWN, |
| 302 BRIGHTNESS_UP, | 304 BRIGHTNESS_UP, |
| 303 #if defined(OS_CHROMEOS) | 305 #if defined(OS_CHROMEOS) |
| 304 CYCLE_DISPLAY_MODE, | 306 CYCLE_DISPLAY_MODE, |
| 305 DISABLE_GPU_WATCHDOG, | 307 DISABLE_GPU_WATCHDOG, |
| 306 #endif // defined(OS_CHROMEOS) | 308 #endif // defined(OS_CHROMEOS) |
| 307 DISABLE_CAPS_LOCK, | 309 DISABLE_CAPS_LOCK, |
| 308 KEYBOARD_BRIGHTNESS_DOWN, | 310 KEYBOARD_BRIGHTNESS_DOWN, |
| 309 KEYBOARD_BRIGHTNESS_UP, | 311 KEYBOARD_BRIGHTNESS_UP, |
| 310 MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 | 312 MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 |
| 311 MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 | 313 MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 |
| 312 MEDIA_NEXT_TRACK, | 314 MEDIA_NEXT_TRACK, |
| 313 MEDIA_PLAY_PAUSE, | 315 MEDIA_PLAY_PAUSE, |
| 314 MEDIA_PREV_TRACK, | 316 MEDIA_PREV_TRACK, |
| 315 NEXT_IME, | 317 NEXT_IME, |
| 316 POWER_PRESSED, | 318 POWER_PRESSED, |
| 317 POWER_RELEASED, | 319 POWER_RELEASED, |
| 318 PREVIOUS_IME, | 320 PREVIOUS_IME, |
| 321 ROTATE_SCREEN, |
| 319 SWAP_PRIMARY_DISPLAY, | 322 SWAP_PRIMARY_DISPLAY, |
| 320 SWITCH_IME, // Switch to another IME depending on the accelerator. | 323 SWITCH_IME, // Switch to another IME depending on the accelerator. |
| 321 TOGGLE_CAPS_LOCK, | 324 TOGGLE_CAPS_LOCK, |
| 322 TOGGLE_SPOKEN_FEEDBACK, | 325 TOGGLE_SPOKEN_FEEDBACK, |
| 323 TOGGLE_WIFI, | 326 TOGGLE_WIFI, |
| 324 TOUCH_HUD_CLEAR, | 327 TOUCH_HUD_CLEAR, |
| 325 VOLUME_DOWN, | 328 VOLUME_DOWN, |
| 326 VOLUME_MUTE, | 329 VOLUME_MUTE, |
| 327 VOLUME_UP, | 330 VOLUME_UP, |
| 328 #if !defined(NDEBUG) | 331 #if !defined(NDEBUG) |
| 329 PRINT_LAYER_HIERARCHY, | 332 PRINT_LAYER_HIERARCHY, |
| 330 PRINT_VIEW_HIERARCHY, | 333 PRINT_VIEW_HIERARCHY, |
| 331 PRINT_WINDOW_HIERARCHY, | 334 PRINT_WINDOW_HIERARCHY, |
| 332 ROTATE_SCREEN, | |
| 333 #endif | 335 #endif |
| 334 }; | 336 }; |
| 335 | 337 |
| 336 const size_t kActionsAllowedInAppModeLength = | 338 const size_t kActionsAllowedInAppModeLength = |
| 337 arraysize(kActionsAllowedInAppMode); | 339 arraysize(kActionsAllowedInAppMode); |
| 338 | 340 |
| 339 } // namespace ash | 341 } // namespace ash |
| OLD | NEW |