accelerator_table.cc revision 0f1bc08d4cfcc34181b0b5cbf065c40f687bf740
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) // Single shift release turns off caps lock. 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { false, ui::VKEY_LSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { false, ui::VKEY_SHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { false, ui::VKEY_RSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, PREVIOUS_IME }, 28a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch { false, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, PREVIOUS_IME }, 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Shortcuts for Japanese IME. 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_CONVERT, ui::EF_NONE, SWITCH_IME }, 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_NONCONVERT, ui::EF_NONE, SWITCH_IME }, 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE, SWITCH_IME }, 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE, SWITCH_IME }, 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Shortcut for Koren IME. 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_HANGUL, ui::EF_NONE, SWITCH_IME }, 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_TAB, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU }, 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_TAB, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_MRU }, 4058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE, CYCLE_LINEAR }, 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, TOGGLE_APP_LIST }, 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_WLAN, ui::EF_NONE, TOGGLE_WIFI }, 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_KBD_BRIGHTNESS_DOWN, ui::EF_NONE, KEYBOARD_BRIGHTNESS_DOWN }, 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_KBD_BRIGHTNESS_UP, ui::EF_NONE, KEYBOARD_BRIGHTNESS_UP }, 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Maximize button. 4790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_CONTROL_DOWN, TOGGLE_MIRROR_MODE }, 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_ALT_DOWN, SWAP_PRIMARY_DISPLAY }, 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Cycle windows button. 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN, TAKE_SCREENSHOT }, 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TAKE_PARTIAL_SCREENSHOT }, 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE, BRIGHTNESS_DOWN }, 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_ALT_DOWN, KEYBOARD_BRIGHTNESS_DOWN }, 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE, BRIGHTNESS_UP }, 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_ALT_DOWN, KEYBOARD_BRIGHTNESS_UP }, 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT}, 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_IN}, 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, LOCK_SCREEN }, 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // The lock key on Chrome OS keyboards produces F13 scancodes. 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_F13, ui::EF_NONE, LOCK_PRESSED }, 642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { false, ui::VKEY_F13, ui::EF_NONE, LOCK_RELEASED }, 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_POWER, ui::EF_NONE, POWER_PRESSED }, 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { false, ui::VKEY_POWER, ui::EF_NONE, POWER_RELEASED }, 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) OPEN_FILE_MANAGER }, 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, OPEN_CROSH }, 702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISABLE_GPU_WATCHDOG }, 727d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 737d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOUCH_HUD_MODE_CHANGE }, 747d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, 757d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOUCH_HUD_CLEAR }, 767dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch { true, ui::VKEY_9, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, 77eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch TOUCH_HUD_PROJECTION_TOGGLE }, 787d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) // Accessibility: Spoken feedback shortcuts. The first one is to toggle 797d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) // spoken feedback on or off. The others are only valid when 807d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) // spoken feedback is enabled. 817d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 827d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOGGLE_SPOKEN_FEEDBACK }, 837d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN, SILENCE_SPOKEN_FEEDBACK}, 8468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 8568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) SWITCH_TO_NEXT_USER }, 862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // defined(OS_CHROMEOS) 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FEEDBACK_PAGE }, 882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if !defined(OS_WIN) 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, EXIT }, 902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NEW_INCOGNITO_WINDOW }, 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_N, ui::EF_CONTROL_DOWN, NEW_WINDOW }, 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_T, ui::EF_CONTROL_DOWN, NEW_TAB }, 95c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_OEM_MINUS, 962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_UP }, 97c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_OEM_PLUS, 982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_DOWN }, 99c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_0, 100c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_RESET }, 1012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_REFRESH, 1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, ROTATE_SCREEN }, 1032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_REFRESH, 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ROTATE_WINDOW }, 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, RESTORE_TAB }, 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT }, 1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // On Chrome OS, Search key is mapped to LWIN. The Search key binding should 1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // act on release instead of press when using Search as a modifier key for 1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // extended keyboard shortcuts. 1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { false, ui::VKEY_LWIN, ui::EF_NONE, TOGGLE_APP_LIST }, 1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { false, ui::VKEY_LWIN, ui::EF_ALT_DOWN, TOGGLE_CAPS_LOCK }, 113eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE, TOGGLE_FULLSCREEN }, 114c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_SHIFT_DOWN, TOGGLE_FULLSCREEN }, 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_VOLUME_MUTE, ui::EF_NONE, VOLUME_MUTE }, 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_VOLUME_DOWN, ui::EF_NONE, VOLUME_DOWN }, 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_VOLUME_UP, ui::EF_NONE, VOLUME_UP }, 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, FOCUS_LAUNCHER }, 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_HELP, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY }, 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SHOW_KEYBOARD_OVERLAY }, 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_2, 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SHOW_KEYBOARD_OVERLAY }, 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_F14, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY }, 1262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 1272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SHOW_MESSAGE_CENTER_BUBBLE }, 1282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_BACK, 1292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SHOW_OAK }, 1312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 1322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SHOW_SYSTEM_TRAY_BUBBLE }, 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, SHOW_TASK_MANAGER }, 134eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_1, ui::EF_ALT_DOWN, LAUNCH_APP_0 }, 135eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_2, ui::EF_ALT_DOWN, LAUNCH_APP_1 }, 136eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_3, ui::EF_ALT_DOWN, LAUNCH_APP_2 }, 137eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_4, ui::EF_ALT_DOWN, LAUNCH_APP_3 }, 138eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_5, ui::EF_ALT_DOWN, LAUNCH_APP_4 }, 139eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_6, ui::EF_ALT_DOWN, LAUNCH_APP_5 }, 140eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_7, ui::EF_ALT_DOWN, LAUNCH_APP_6 }, 141eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_8, ui::EF_ALT_DOWN, LAUNCH_APP_7 }, 142eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_9, ui::EF_ALT_DOWN, LAUNCH_LAST_APP }, 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Window management shortcuts. 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_4, ui::EF_ALT_DOWN, WINDOW_SNAP_LEFT }, 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_6, ui::EF_ALT_DOWN, WINDOW_SNAP_RIGHT }, 1471e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) // The same accelerator is defined in 1481e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) // c/b/ui/views/accelerator_table.cc in order for the web page to 1491e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) // intercept and process this shortcut. This accelerator is used if the 1501e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) // focused window isn't browser window nor web content. 1510f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) // TODO(stevet/jamescook): Remove this in M33, as well as the copy 1520f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) // referenced above. We want to move away from shortcuts bound to Ctrl 1530f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) // because web content often uses them. 1541e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) { true, ui::VKEY_M, ui::EF_CONTROL_DOWN, WINDOW_MINIMIZE }, 1550f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) { true, ui::VKEY_OEM_MINUS, ui::EF_ALT_DOWN, WINDOW_MINIMIZE }, 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_PLUS, ui::EF_ALT_DOWN, TOGGLE_MAXIMIZED }, 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_PLUS, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) WINDOW_POSITION_CENTER }, 1592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN, FOCUS_NEXT_PANE }, 1602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN, FOCUS_PREVIOUS_PANE }, 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Media Player shortcuts. 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_MEDIA_NEXT_TRACK, ui::EF_NONE, MEDIA_NEXT_TRACK}, 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_MEDIA_PLAY_PAUSE, ui::EF_NONE, MEDIA_PLAY_PAUSE}, 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_MEDIA_PREV_TRACK, ui::EF_NONE, MEDIA_PREV_TRACK}, 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Debugging shortcuts that need to be available to end-users in 1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // release builds. 1692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_U, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, 1702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES }, 1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 172c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_HOME, ui::EF_SHIFT_DOWN, ACCESSIBLE_FOCUS_PREVIOUS}, 173c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_PRIOR, ui::EF_SHIFT_DOWN, ACCESSIBLE_FOCUS_PREVIOUS}, 174c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_END, ui::EF_SHIFT_DOWN, ACCESSIBLE_FOCUS_NEXT}, 175c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_NEXT, ui::EF_SHIFT_DOWN, ACCESSIBLE_FOCUS_NEXT}, 176c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // TODO(yusukes): Handle VKEY_MEDIA_STOP, and 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // VKEY_MEDIA_LAUNCH_MAIL. 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kAcceleratorDataLength = arraysize(kAcceleratorData); 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 183c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if !defined(NDEBUG) 184c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const AcceleratorData kDesktopAcceleratorData[] = { 185c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if defined(OS_CHROMEOS) 186c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Extra shortcut for debug build to control magnifier on linux desktop. 187c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN, 188c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT}, 189c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN, MAGNIFY_SCREEN_ZOOM_IN}, 190c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Extra shortcuts to lock the screen on linux desktop. 191c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_L, ui::EF_ALT_DOWN, LOCK_SCREEN }, 192c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_POWER, ui::EF_SHIFT_DOWN, LOCK_PRESSED }, 193c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_POWER, ui::EF_SHIFT_DOWN, LOCK_RELEASED }, 19490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) { true, ui::VKEY_D, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, 19590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ADD_REMOVE_DISPLAY }, 19690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) { true, ui::VKEY_M, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, 19790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) TOGGLE_MIRROR_MODE }, 1987d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_W, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, TOGGLE_WIFI }, 199c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Extra shortcut for display swaping as alt-f4 is taken on linux desktop. 200c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, 201c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SWAP_PRIMARY_DISPLAY }, 2027d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#endif 203c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Extra shortcut to rotate/scale up/down the screen on linux desktop. 204c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_R, 205c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ROTATE_SCREEN }, 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // For testing on systems where Alt-Tab is already mapped. 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_W, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU }, 208c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 209c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_F11, ui::EF_CONTROL_DOWN, TOGGLE_ROOT_WINDOW_FULL_SCREEN }, 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_MRU }, 212c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 213c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TOGGLE_DESKTOP_BACKGROUND_MODE }, 214c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}; 215c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 216c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const size_t kDesktopAcceleratorDataLength = arraysize(kDesktopAcceleratorData); 217c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif 218c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 219c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const AcceleratorData kDebugAcceleratorData[] = { 2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PRINT_LAYER_HIERARCHY }, 2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_V, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PRINT_VIEW_HIERARCHY }, 2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PRINT_WINDOW_HIERARCHY }, 226c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 227c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DEBUG_TOGGLE_DEVICE_SCALE_FACTOR }, 228c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 229c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DEBUG_TOGGLE_SHOW_DEBUG_BORDERS }, 230c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_F, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 231c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DEBUG_TOGGLE_SHOW_FPS_COUNTER }, 232c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_P, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 233c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DEBUG_TOGGLE_SHOW_PAINT_RECTS }, 2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kDebugAcceleratorDataLength = arraysize(kDebugAcceleratorData); 2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kReservedActions[] = { 2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Window cycling accelerators. 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_MRU, // Shift+Alt+Tab 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_FORWARD_MRU, // Alt+Tab 2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_PRESSED, 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_RELEASED, 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kReservedActionsLength = arraysize(kReservedActions); 2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 25090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const AcceleratorAction kReservedDebugActions[] = { 25190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) PRINT_LAYER_HIERARCHY, 25290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) PRINT_VIEW_HIERARCHY, 25390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) PRINT_WINDOW_HIERARCHY, 25490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DEBUG_TOGGLE_DEVICE_SCALE_FACTOR, 25590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DEBUG_TOGGLE_SHOW_DEBUG_BORDERS, 25690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DEBUG_TOGGLE_SHOW_FPS_COUNTER, 25790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DEBUG_TOGGLE_SHOW_PAINT_RECTS, 25890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}; 25990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 26090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const size_t kReservedDebugActionsLength = arraysize(kReservedDebugActions); 26190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kActionsAllowedAtLoginOrLockScreen[] = { 2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BRIGHTNESS_DOWN, 2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BRIGHTNESS_UP, 2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISABLE_CAPS_LOCK, 2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KEYBOARD_BRIGHTNESS_DOWN, 2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KEYBOARD_BRIGHTNESS_UP, 2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NEXT_IME, 2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PREVIOUS_IME, 272c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_LAYER_HIERARCHY, 2732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES, 274c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_VIEW_HIERARCHY, 275c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_WINDOW_HIERARCHY, 276c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ROTATE_WINDOW, 277424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) SHOW_SYSTEM_TRAY_BUBBLE, 2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SWITCH_IME, // Switch to another IME depending on the accelerator. 2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TAKE_PARTIAL_SCREENSHOT, 280c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TAKE_SCREENSHOT, 2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_CAPS_LOCK, 2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_WIFI, 2832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TOUCH_HUD_CLEAR, 2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_DOWN, 2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_MUTE, 2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_UP, 287c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if defined(OS_CHROMEOS) 2887d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOGGLE_SPOKEN_FEEDBACK, 28990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ADD_REMOVE_DISPLAY, 290c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DISABLE_GPU_WATCHDOG, 29190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) TOGGLE_MIRROR_MODE, 2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) && !defined(NDEBUG) 2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_PRESSED, 2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_RELEASED, 296c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif // defined(OS_CHROMEOS) 2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kActionsAllowedAtLoginOrLockScreenLength = 3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) arraysize(kActionsAllowedAtLoginOrLockScreen); 3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kActionsAllowedAtLockScreen[] = { 3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXIT, 3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kActionsAllowedAtLockScreenLength = 3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) arraysize(kActionsAllowedAtLockScreen); 3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kActionsAllowedAtModalWindow[] = { 3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BRIGHTNESS_DOWN, 3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BRIGHTNESS_UP, 3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISABLE_CAPS_LOCK, 3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXIT, 3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KEYBOARD_BRIGHTNESS_DOWN, 3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KEYBOARD_BRIGHTNESS_UP, 3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_IN, 3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT, 3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MEDIA_NEXT_TRACK, 3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MEDIA_PLAY_PAUSE, 3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MEDIA_PREV_TRACK, 3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NEXT_IME, 3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) OPEN_FEEDBACK_PAGE, 3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_PRESSED, 3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_RELEASED, 3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PREVIOUS_IME, 3262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES, 3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SHOW_KEYBOARD_OVERLAY, 3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SWITCH_IME, 3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TAKE_PARTIAL_SCREENSHOT, 330c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TAKE_SCREENSHOT, 3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_CAPS_LOCK, 3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_WIFI, 3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_DOWN, 3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_MUTE, 3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_UP, 3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 3377d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) SWAP_PRIMARY_DISPLAY, 3387d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOGGLE_SPOKEN_FEEDBACK, 33990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#if !defined(NDEBUG) 34090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ADD_REMOVE_DISPLAY, 34190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif 3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LOCK_SCREEN, 34390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) TOGGLE_MIRROR_MODE, 3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kActionsAllowedAtModalWindowLength = 3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) arraysize(kActionsAllowedAtModalWindow); 3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kNonrepeatableActions[] = { 3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // TODO(mazda): Add other actions which should not be repeated. 3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_MRU, 3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_FORWARD_MRU, 35458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) CYCLE_LINEAR, 35590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) EXIT, 3562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES, // Don't fill the logs if the key is held down. 3572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ROTATE_SCREEN, 3582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ROTATE_WINDOW, 3592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SCALE_UI_UP, 3602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SCALE_UI_DOWN, 361c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SCALE_UI_RESET, 362c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TOGGLE_FULLSCREEN, 3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_MAXIMIZED, 3642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WINDOW_MINIMIZE, 3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kNonrepeatableActionsLength = 3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) arraysize(kNonrepeatableActions); 3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const AcceleratorAction kActionsAllowedInAppMode[] = { 3712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BRIGHTNESS_DOWN, 3722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BRIGHTNESS_UP, 373c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) CYCLE_BACKWARD_MRU, 374c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) CYCLE_FORWARD_MRU, 37558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) CYCLE_LINEAR, 3762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISABLE_CAPS_LOCK, 377c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) EXIT, 3782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) KEYBOARD_BRIGHTNESS_DOWN, 3792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) KEYBOARD_BRIGHTNESS_UP, 3802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 3812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 3822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MEDIA_NEXT_TRACK, 3832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MEDIA_PLAY_PAUSE, 3842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MEDIA_PREV_TRACK, 3852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) NEXT_IME, 3862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) POWER_PRESSED, 3872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) POWER_RELEASED, 3882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PREVIOUS_IME, 389c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_LAYER_HIERARCHY, 3902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES, 391c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_VIEW_HIERARCHY, 392c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_WINDOW_HIERARCHY, 3932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ROTATE_SCREEN, 3942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SCALE_UI_DOWN, 395c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SCALE_UI_RESET, 396c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SCALE_UI_UP, 3972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SWITCH_IME, // Switch to another IME depending on the accelerator. 3982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TOGGLE_CAPS_LOCK, 3992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TOGGLE_WIFI, 4002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TOUCH_HUD_CLEAR, 4012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) VOLUME_DOWN, 4022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) VOLUME_MUTE, 4032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) VOLUME_UP, 404c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if defined(OS_CHROMEOS) 4057d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) SWAP_PRIMARY_DISPLAY, 4067d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOGGLE_SPOKEN_FEEDBACK, 40790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ADD_REMOVE_DISPLAY, 408c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DISABLE_GPU_WATCHDOG, 40990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) TOGGLE_MIRROR_MODE, 410c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif // defined(OS_CHROMEOS) 4112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 4122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 4132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const size_t kActionsAllowedInAppModeLength = 4142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) arraysize(kActionsAllowedInAppMode); 4152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace ash 417