15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ash/accelerators/accelerator_table.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/basictypes.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ash { 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorData kAcceleratorData[] = { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // We have to define 3 entries for Shift+Alt. VKEY_[LR]MENU might be sent to 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // the accelerator controller when RenderWidgetHostViewAura is focused, and 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // VKEY_MENU might be when it's not (e.g. when NativeWidgetAura is focused). 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { false, ui::VKEY_LMENU, ui::EF_SHIFT_DOWN, NEXT_IME }, 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { false, ui::VKEY_MENU, ui::EF_SHIFT_DOWN, NEXT_IME }, 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { false, ui::VKEY_RMENU, ui::EF_SHIFT_DOWN, NEXT_IME }, 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // The same is true for Alt+Shift. 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { false, ui::VKEY_LSHIFT, ui::EF_ALT_DOWN, NEXT_IME }, 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { false, ui::VKEY_SHIFT, ui::EF_ALT_DOWN, NEXT_IME }, 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { false, ui::VKEY_RSHIFT, ui::EF_ALT_DOWN, NEXT_IME }, 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, PREVIOUS_IME }, 23a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch { false, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, PREVIOUS_IME }, 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Shortcuts for Japanese IME. 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_CONVERT, ui::EF_NONE, SWITCH_IME }, 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_NONCONVERT, ui::EF_NONE, SWITCH_IME }, 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE, SWITCH_IME }, 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE, SWITCH_IME }, 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Shortcut for Koren IME. 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_HANGUL, ui::EF_NONE, SWITCH_IME }, 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_TAB, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU }, 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_TAB, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_MRU }, 35a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE, TOGGLE_OVERVIEW }, 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, TOGGLE_APP_LIST }, 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_WLAN, ui::EF_NONE, TOGGLE_WIFI }, 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_KBD_BRIGHTNESS_DOWN, ui::EF_NONE, KEYBOARD_BRIGHTNESS_DOWN }, 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_KBD_BRIGHTNESS_UP, ui::EF_NONE, KEYBOARD_BRIGHTNESS_UP }, 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Maximize button. 4290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_CONTROL_DOWN, TOGGLE_MIRROR_MODE }, 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_ALT_DOWN, SWAP_PRIMARY_DISPLAY }, 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Cycle windows button. 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN, TAKE_SCREENSHOT }, 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TAKE_PARTIAL_SCREENSHOT }, 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE, BRIGHTNESS_DOWN }, 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_ALT_DOWN, KEYBOARD_BRIGHTNESS_DOWN }, 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE, BRIGHTNESS_UP }, 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_ALT_DOWN, KEYBOARD_BRIGHTNESS_UP }, 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT}, 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_IN}, 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, LOCK_SCREEN }, 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // The lock key on Chrome OS keyboards produces F13 scancodes. 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_F13, ui::EF_NONE, LOCK_PRESSED }, 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { false, ui::VKEY_F13, ui::EF_NONE, LOCK_RELEASED }, 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_POWER, ui::EF_NONE, POWER_PRESSED }, 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { false, ui::VKEY_POWER, ui::EF_NONE, POWER_RELEASED }, 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) OPEN_FILE_MANAGER }, 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, OPEN_CROSH }, 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISABLE_GPU_WATCHDOG }, 677d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 687d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOUCH_HUD_MODE_CHANGE }, 697d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, 707d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOUCH_HUD_CLEAR }, 71f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) { true, ui::VKEY_P, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 72eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch TOUCH_HUD_PROJECTION_TOGGLE }, 737d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) // Accessibility: Spoken feedback shortcuts. The first one is to toggle 747d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) // spoken feedback on or off. The others are only valid when 757d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) // spoken feedback is enabled. 767d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 777d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOGGLE_SPOKEN_FEEDBACK }, 787d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN, SILENCE_SPOKEN_FEEDBACK}, 79a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) { true, ui::VKEY_OEM_COMMA, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 80a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) SWITCH_TO_PREVIOUS_USER }, 81a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) { true, ui::VKEY_OEM_PERIOD, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 8268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) SWITCH_TO_NEXT_USER }, 83a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // Turning the TouchView maximizing mode on via hotkey for the time being. 84a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // TODO(skuhne): Remove once the test isn't needed anymore. 85c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch { true, ui::VKEY_8, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, 86a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) TOGGLE_TOUCH_VIEW_TESTING }, 87a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // Single shift release turns off caps lock. 88a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) { false, ui::VKEY_LSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, 89a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) { false, ui::VKEY_SHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, 90a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) { false, ui::VKEY_RSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, 91a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) { false, ui::VKEY_LWIN, ui::EF_ALT_DOWN, TOGGLE_CAPS_LOCK }, 922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // defined(OS_CHROMEOS) 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FEEDBACK_PAGE }, 942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if !defined(OS_WIN) 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, EXIT }, 962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NEW_INCOGNITO_WINDOW }, 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_N, ui::EF_CONTROL_DOWN, NEW_WINDOW }, 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_T, ui::EF_CONTROL_DOWN, NEW_TAB }, 101c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_OEM_MINUS, 1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_UP }, 103c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_OEM_PLUS, 1042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_DOWN }, 105c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_0, 106c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_RESET }, 1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_REFRESH, 1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, ROTATE_SCREEN }, 1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_REFRESH, 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ROTATE_WINDOW }, 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, RESTORE_TAB }, 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT }, 1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // On Chrome OS, Search key is mapped to LWIN. The Search key binding should 1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // act on release instead of press when using Search as a modifier key for 1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // extended keyboard shortcuts. 1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { false, ui::VKEY_LWIN, ui::EF_NONE, TOGGLE_APP_LIST }, 118eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE, TOGGLE_FULLSCREEN }, 119c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_SHIFT_DOWN, TOGGLE_FULLSCREEN }, 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_VOLUME_MUTE, ui::EF_NONE, VOLUME_MUTE }, 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_VOLUME_DOWN, ui::EF_NONE, VOLUME_DOWN }, 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_VOLUME_UP, ui::EF_NONE, VOLUME_UP }, 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, FOCUS_LAUNCHER }, 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_HELP, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY }, 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SHOW_KEYBOARD_OVERLAY }, 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_2, 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SHOW_KEYBOARD_OVERLAY }, 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_F14, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY }, 1312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 1322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SHOW_MESSAGE_CENTER_BUBBLE }, 1332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 1342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SHOW_SYSTEM_TRAY_BUBBLE }, 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, SHOW_TASK_MANAGER }, 136eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_1, ui::EF_ALT_DOWN, LAUNCH_APP_0 }, 137eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_2, ui::EF_ALT_DOWN, LAUNCH_APP_1 }, 138eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_3, ui::EF_ALT_DOWN, LAUNCH_APP_2 }, 139eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_4, ui::EF_ALT_DOWN, LAUNCH_APP_3 }, 140eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_5, ui::EF_ALT_DOWN, LAUNCH_APP_4 }, 141eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_6, ui::EF_ALT_DOWN, LAUNCH_APP_5 }, 142eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_7, ui::EF_ALT_DOWN, LAUNCH_APP_6 }, 143eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_8, ui::EF_ALT_DOWN, LAUNCH_APP_7 }, 144eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_9, ui::EF_ALT_DOWN, LAUNCH_LAST_APP }, 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Window management shortcuts. 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_4, ui::EF_ALT_DOWN, WINDOW_SNAP_LEFT }, 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_6, ui::EF_ALT_DOWN, WINDOW_SNAP_RIGHT }, 1491e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) // The same accelerator is defined in 1501e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) // c/b/ui/views/accelerator_table.cc in order for the web page to 1511e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) // intercept and process this shortcut. This accelerator is used if the 1521e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) // focused window isn't browser window nor web content. 1530f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) // TODO(stevet/jamescook): Remove this in M33, as well as the copy 1540f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) // referenced above. We want to move away from shortcuts bound to Ctrl 1550f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) // because web content often uses them. 1561e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) { true, ui::VKEY_M, ui::EF_CONTROL_DOWN, WINDOW_MINIMIZE }, 1570f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) { true, ui::VKEY_OEM_MINUS, ui::EF_ALT_DOWN, WINDOW_MINIMIZE }, 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_PLUS, ui::EF_ALT_DOWN, TOGGLE_MAXIMIZED }, 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_PLUS, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) WINDOW_POSITION_CENTER }, 1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN, FOCUS_NEXT_PANE }, 1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN, FOCUS_PREVIOUS_PANE }, 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Media Player shortcuts. 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_MEDIA_NEXT_TRACK, ui::EF_NONE, MEDIA_NEXT_TRACK}, 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_MEDIA_PLAY_PAUSE, ui::EF_NONE, MEDIA_PLAY_PAUSE}, 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_MEDIA_PREV_TRACK, ui::EF_NONE, MEDIA_PREV_TRACK}, 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Debugging shortcuts that need to be available to end-users in 1702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // release builds. 1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_U, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, 1722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES }, 1732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 174c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_HOME, ui::EF_SHIFT_DOWN, ACCESSIBLE_FOCUS_PREVIOUS}, 175c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_PRIOR, ui::EF_SHIFT_DOWN, ACCESSIBLE_FOCUS_PREVIOUS}, 176c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_END, ui::EF_SHIFT_DOWN, ACCESSIBLE_FOCUS_NEXT}, 177c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_NEXT, ui::EF_SHIFT_DOWN, ACCESSIBLE_FOCUS_NEXT}, 178c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // TODO(yusukes): Handle VKEY_MEDIA_STOP, and 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // VKEY_MEDIA_LAUNCH_MAIL. 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kAcceleratorDataLength = arraysize(kAcceleratorData); 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if !defined(NDEBUG) 186c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const AcceleratorData kDesktopAcceleratorData[] = { 187c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if defined(OS_CHROMEOS) 188c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Extra shortcut for debug build to control magnifier on linux desktop. 189c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN, 190c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT}, 191c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN, MAGNIFY_SCREEN_ZOOM_IN}, 192c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Extra shortcuts to lock the screen on linux desktop. 193c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_L, ui::EF_ALT_DOWN, LOCK_SCREEN }, 194c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_POWER, ui::EF_SHIFT_DOWN, LOCK_PRESSED }, 195c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_POWER, ui::EF_SHIFT_DOWN, LOCK_RELEASED }, 19690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) { true, ui::VKEY_D, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, 19790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ADD_REMOVE_DISPLAY }, 19890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) { true, ui::VKEY_M, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, 19990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) TOGGLE_MIRROR_MODE }, 2007d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_W, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, TOGGLE_WIFI }, 201c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Extra shortcut for display swaping as alt-f4 is taken on linux desktop. 202c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, 203c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SWAP_PRIMARY_DISPLAY }, 2047d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#endif 205c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Extra shortcut to rotate/scale up/down the screen on linux desktop. 206c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_R, 207c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ROTATE_SCREEN }, 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // For testing on systems where Alt-Tab is already mapped. 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_W, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU }, 210c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 211c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_F11, ui::EF_CONTROL_DOWN, TOGGLE_ROOT_WINDOW_FULL_SCREEN }, 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_MRU }, 214c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 215c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TOGGLE_DESKTOP_BACKGROUND_MODE }, 2165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) { true, ui::VKEY_F, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, 2175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) TOGGLE_FULLSCREEN }, 218c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}; 219c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 220c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const size_t kDesktopAcceleratorDataLength = arraysize(kDesktopAcceleratorData); 221c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif 222c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 223c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const AcceleratorData kDebugAcceleratorData[] = { 2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PRINT_LAYER_HIERARCHY }, 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_V, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PRINT_VIEW_HIERARCHY }, 2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PRINT_WINDOW_HIERARCHY }, 230c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 231c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DEBUG_TOGGLE_DEVICE_SCALE_FACTOR }, 232c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 233c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DEBUG_TOGGLE_SHOW_DEBUG_BORDERS }, 234c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_F, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 235c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DEBUG_TOGGLE_SHOW_FPS_COUNTER }, 236c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_P, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 237c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DEBUG_TOGGLE_SHOW_PAINT_RECTS }, 2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kDebugAcceleratorDataLength = arraysize(kDebugAcceleratorData); 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kReservedActions[] = { 2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Window cycling accelerators. 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_MRU, // Shift+Alt+Tab 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_FORWARD_MRU, // Alt+Tab 2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_PRESSED, 2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_RELEASED, 2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kReservedActionsLength = arraysize(kReservedActions); 2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 25490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const AcceleratorAction kReservedDebugActions[] = { 25590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) PRINT_LAYER_HIERARCHY, 25690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) PRINT_VIEW_HIERARCHY, 25790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) PRINT_WINDOW_HIERARCHY, 25890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DEBUG_TOGGLE_DEVICE_SCALE_FACTOR, 25990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DEBUG_TOGGLE_SHOW_DEBUG_BORDERS, 26090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DEBUG_TOGGLE_SHOW_FPS_COUNTER, 26190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DEBUG_TOGGLE_SHOW_PAINT_RECTS, 26290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}; 26390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 26490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const size_t kReservedDebugActionsLength = arraysize(kReservedDebugActions); 26590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kActionsAllowedAtLoginOrLockScreen[] = { 2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BRIGHTNESS_DOWN, 2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BRIGHTNESS_UP, 2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISABLE_CAPS_LOCK, 2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KEYBOARD_BRIGHTNESS_DOWN, 2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KEYBOARD_BRIGHTNESS_UP, 2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NEXT_IME, 2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PREVIOUS_IME, 276c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_LAYER_HIERARCHY, 2772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES, 278c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_VIEW_HIERARCHY, 279c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_WINDOW_HIERARCHY, 280c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ROTATE_WINDOW, 281424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) SHOW_SYSTEM_TRAY_BUBBLE, 2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SWITCH_IME, // Switch to another IME depending on the accelerator. 2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TAKE_PARTIAL_SCREENSHOT, 284c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TAKE_SCREENSHOT, 2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_CAPS_LOCK, 2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_WIFI, 2872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TOUCH_HUD_CLEAR, 2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_DOWN, 2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_MUTE, 2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_UP, 291c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if defined(OS_CHROMEOS) 292c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch TOGGLE_TOUCH_VIEW_TESTING, 2937d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOGGLE_SPOKEN_FEEDBACK, 29490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ADD_REMOVE_DISPLAY, 295c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DISABLE_GPU_WATCHDOG, 29690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) TOGGLE_MIRROR_MODE, 2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) && !defined(NDEBUG) 2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_PRESSED, 3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_RELEASED, 301c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif // defined(OS_CHROMEOS) 3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kActionsAllowedAtLoginOrLockScreenLength = 3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) arraysize(kActionsAllowedAtLoginOrLockScreen); 3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kActionsAllowedAtLockScreen[] = { 3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXIT, 3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kActionsAllowedAtLockScreenLength = 3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) arraysize(kActionsAllowedAtLockScreen); 3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kActionsAllowedAtModalWindow[] = { 3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BRIGHTNESS_DOWN, 3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BRIGHTNESS_UP, 3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISABLE_CAPS_LOCK, 3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXIT, 3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KEYBOARD_BRIGHTNESS_DOWN, 3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KEYBOARD_BRIGHTNESS_UP, 3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_IN, 3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT, 3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MEDIA_NEXT_TRACK, 3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MEDIA_PLAY_PAUSE, 3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MEDIA_PREV_TRACK, 3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NEXT_IME, 3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) OPEN_FEEDBACK_PAGE, 3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_PRESSED, 3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_RELEASED, 3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PREVIOUS_IME, 3312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES, 332010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ROTATE_SCREEN, 333010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) SCALE_UI_UP, 334010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) SCALE_UI_DOWN, 335010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) SCALE_UI_RESET, 3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SHOW_KEYBOARD_OVERLAY, 3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SWITCH_IME, 3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TAKE_PARTIAL_SCREENSHOT, 339c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TAKE_SCREENSHOT, 3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_CAPS_LOCK, 3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_WIFI, 3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_DOWN, 3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_MUTE, 3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_UP, 3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 3467d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) SWAP_PRIMARY_DISPLAY, 3477d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOGGLE_SPOKEN_FEEDBACK, 34890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#if !defined(NDEBUG) 34990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ADD_REMOVE_DISPLAY, 35090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif 3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LOCK_SCREEN, 35290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) TOGGLE_MIRROR_MODE, 3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kActionsAllowedAtModalWindowLength = 3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) arraysize(kActionsAllowedAtModalWindow); 3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kNonrepeatableActions[] = { 3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // TODO(mazda): Add other actions which should not be repeated. 3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_MRU, 3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_FORWARD_MRU, 363a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) TOGGLE_OVERVIEW, 36490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) EXIT, 3652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES, // Don't fill the logs if the key is held down. 3662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ROTATE_SCREEN, 3672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ROTATE_WINDOW, 3682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SCALE_UI_UP, 3692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SCALE_UI_DOWN, 370c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SCALE_UI_RESET, 371c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TOGGLE_FULLSCREEN, 3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_MAXIMIZED, 3732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WINDOW_MINIMIZE, 3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kNonrepeatableActionsLength = 3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) arraysize(kNonrepeatableActions); 3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const AcceleratorAction kActionsAllowedInAppMode[] = { 3802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BRIGHTNESS_DOWN, 3812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BRIGHTNESS_UP, 3822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISABLE_CAPS_LOCK, 3832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) KEYBOARD_BRIGHTNESS_DOWN, 3842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) KEYBOARD_BRIGHTNESS_UP, 3852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 3862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 3872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MEDIA_NEXT_TRACK, 3882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MEDIA_PLAY_PAUSE, 3892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MEDIA_PREV_TRACK, 3902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) NEXT_IME, 3912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) POWER_PRESSED, 3922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) POWER_RELEASED, 3932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PREVIOUS_IME, 394c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_LAYER_HIERARCHY, 3952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES, 396c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_VIEW_HIERARCHY, 397c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_WINDOW_HIERARCHY, 3982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ROTATE_SCREEN, 3992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SCALE_UI_DOWN, 400c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SCALE_UI_RESET, 401c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SCALE_UI_UP, 4022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SWITCH_IME, // Switch to another IME depending on the accelerator. 4032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TOGGLE_CAPS_LOCK, 4042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TOGGLE_WIFI, 4052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TOUCH_HUD_CLEAR, 4062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) VOLUME_DOWN, 4072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) VOLUME_MUTE, 4082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) VOLUME_UP, 409c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if defined(OS_CHROMEOS) 4107d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) SWAP_PRIMARY_DISPLAY, 4117d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOGGLE_SPOKEN_FEEDBACK, 41290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ADD_REMOVE_DISPLAY, 413c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DISABLE_GPU_WATCHDOG, 41490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) TOGGLE_MIRROR_MODE, 415c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif // defined(OS_CHROMEOS) 4162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 4172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 4182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const size_t kActionsAllowedInAppModeLength = 4192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) arraysize(kActionsAllowedInAppMode); 4202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 421f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)const AcceleratorAction kActionsNeedingWindow[] = { 422f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ACCESSIBLE_FOCUS_NEXT, 423f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ACCESSIBLE_FOCUS_PREVIOUS, 424f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) CYCLE_BACKWARD_MRU, 425f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) CYCLE_FORWARD_MRU, 426a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) TOGGLE_OVERVIEW, 427f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) WINDOW_SNAP_LEFT, 428f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) WINDOW_SNAP_RIGHT, 429f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) WINDOW_MINIMIZE, 430f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) TOGGLE_FULLSCREEN, 431f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) TOGGLE_MAXIMIZED, 432f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) WINDOW_POSITION_CENTER, 433f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ROTATE_WINDOW, 434f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}; 435f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 436f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)const size_t kActionsNeedingWindowLength = arraysize(kActionsNeedingWindow); 437f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 4385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace ash 439