accelerator_table.cc revision eb525c5499e34cc9c4b825d6d9e75bb07cc06ace
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 }, 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Shortcuts for Japanese IME. 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_CONVERT, ui::EF_NONE, SWITCH_IME }, 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_NONCONVERT, ui::EF_NONE, SWITCH_IME }, 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE, SWITCH_IME }, 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE, SWITCH_IME }, 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Shortcut for Koren IME. 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_HANGUL, ui::EF_NONE, SWITCH_IME }, 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_TAB, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU }, 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_TAB, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_MRU }, 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE, 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_FORWARD_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_O, ui::EF_CONTROL_DOWN, OPEN_FILE_DIALOG }, 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) OPEN_FILE_MANAGER }, 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, OPEN_CROSH }, 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISABLE_GPU_WATCHDOG }, 737d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 747d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOUCH_HUD_MODE_CHANGE }, 757d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, 767d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOUCH_HUD_CLEAR }, 77eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_9, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 78eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch TOUCH_HUD_PROJECTION_TOGGLE }, 797d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) // Accessibility: Spoken feedback shortcuts. The first one is to toggle 807d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) // spoken feedback on or off. The others are only valid when 817d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) // spoken feedback is enabled. 827d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 837d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOGGLE_SPOKEN_FEEDBACK }, 847d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN, SILENCE_SPOKEN_FEEDBACK}, 852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // defined(OS_CHROMEOS) 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FEEDBACK_PAGE }, 872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if !defined(OS_WIN) 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, EXIT }, 892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NEW_INCOGNITO_WINDOW }, 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_N, ui::EF_CONTROL_DOWN, NEW_WINDOW }, 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_T, ui::EF_CONTROL_DOWN, NEW_TAB }, 94c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_OEM_MINUS, 952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_UP }, 96c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_OEM_PLUS, 972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_DOWN }, 98c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_0, 99c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_RESET }, 1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_REFRESH, 1012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, ROTATE_SCREEN }, 1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_REFRESH, 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ROTATE_WINDOW }, 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN, 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_LINEAR }, 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, RESTORE_TAB }, 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT }, 1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // On Chrome OS, Search key is mapped to LWIN. The Search key binding should 1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // act on release instead of press when using Search as a modifier key for 1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // extended keyboard shortcuts. 1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { false, ui::VKEY_LWIN, ui::EF_NONE, TOGGLE_APP_LIST }, 1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { false, ui::VKEY_LWIN, ui::EF_ALT_DOWN, TOGGLE_CAPS_LOCK }, 114eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE, TOGGLE_FULLSCREEN }, 115c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_SHIFT_DOWN, TOGGLE_FULLSCREEN }, 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_VOLUME_MUTE, ui::EF_NONE, VOLUME_MUTE }, 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_VOLUME_DOWN, ui::EF_NONE, VOLUME_DOWN }, 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_VOLUME_UP, ui::EF_NONE, VOLUME_UP }, 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, FOCUS_LAUNCHER }, 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_HELP, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY }, 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SHOW_KEYBOARD_OVERLAY }, 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_2, 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SHOW_KEYBOARD_OVERLAY }, 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_F14, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY }, 1272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 1282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SHOW_MESSAGE_CENTER_BUBBLE }, 1292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_BACK, 1302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SHOW_OAK }, 1322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 1332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SHOW_SYSTEM_TRAY_BUBBLE }, 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, SHOW_TASK_MANAGER }, 135eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_1, ui::EF_ALT_DOWN, LAUNCH_APP_0 }, 136eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_2, ui::EF_ALT_DOWN, LAUNCH_APP_1 }, 137eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_3, ui::EF_ALT_DOWN, LAUNCH_APP_2 }, 138eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_4, ui::EF_ALT_DOWN, LAUNCH_APP_3 }, 139eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_5, ui::EF_ALT_DOWN, LAUNCH_APP_4 }, 140eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_6, ui::EF_ALT_DOWN, LAUNCH_APP_5 }, 141eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_7, ui::EF_ALT_DOWN, LAUNCH_APP_6 }, 142eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_8, ui::EF_ALT_DOWN, LAUNCH_APP_7 }, 143eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch { true, ui::VKEY_9, ui::EF_ALT_DOWN, LAUNCH_LAST_APP }, 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Window management shortcuts. 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_4, ui::EF_ALT_DOWN, WINDOW_SNAP_LEFT }, 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_6, ui::EF_ALT_DOWN, WINDOW_SNAP_RIGHT }, 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_MINUS, ui::EF_ALT_DOWN, WINDOW_MINIMIZE }, 1492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Convenience for users switching from Mac OS. 1502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_M, ui::EF_CONTROL_DOWN, WINDOW_MINIMIZE }, 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_PLUS, ui::EF_ALT_DOWN, TOGGLE_MAXIMIZED }, 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_OEM_PLUS, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) WINDOW_POSITION_CENTER }, 1542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN, FOCUS_NEXT_PANE }, 1552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN, FOCUS_PREVIOUS_PANE }, 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Media Player shortcuts. 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_MEDIA_NEXT_TRACK, ui::EF_NONE, MEDIA_NEXT_TRACK}, 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_MEDIA_PLAY_PAUSE, ui::EF_NONE, MEDIA_PLAY_PAUSE}, 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_MEDIA_PREV_TRACK, ui::EF_NONE, MEDIA_PREV_TRACK}, 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Debugging shortcuts that need to be available to end-users in 1632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // release builds. 1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { true, ui::VKEY_U, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, 1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES }, 1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 167c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_HOME, ui::EF_SHIFT_DOWN, ACCESSIBLE_FOCUS_PREVIOUS}, 168c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_PRIOR, ui::EF_SHIFT_DOWN, ACCESSIBLE_FOCUS_PREVIOUS}, 169c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_END, ui::EF_SHIFT_DOWN, ACCESSIBLE_FOCUS_NEXT}, 170c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_NEXT, ui::EF_SHIFT_DOWN, ACCESSIBLE_FOCUS_NEXT}, 171c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // TODO(yusukes): Handle VKEY_MEDIA_STOP, and 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // VKEY_MEDIA_LAUNCH_MAIL. 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kAcceleratorDataLength = arraysize(kAcceleratorData); 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 178c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if !defined(NDEBUG) 179c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const AcceleratorData kDesktopAcceleratorData[] = { 180c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if defined(OS_CHROMEOS) 181c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Extra shortcut for debug build to control magnifier on linux desktop. 182c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN, 183c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT}, 184c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN, MAGNIFY_SCREEN_ZOOM_IN}, 185c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Extra shortcuts to lock the screen on linux desktop. 186c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_L, ui::EF_ALT_DOWN, LOCK_SCREEN }, 187c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_POWER, ui::EF_SHIFT_DOWN, LOCK_PRESSED }, 188c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { false, ui::VKEY_POWER, ui::EF_SHIFT_DOWN, LOCK_RELEASED }, 18990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) { true, ui::VKEY_D, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, 19090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ADD_REMOVE_DISPLAY }, 19190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) { true, ui::VKEY_M, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, 19290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) TOGGLE_MIRROR_MODE }, 1937d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) { true, ui::VKEY_W, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, TOGGLE_WIFI }, 194c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Extra shortcut for display swaping as alt-f4 is taken on linux desktop. 195c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, 196c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SWAP_PRIMARY_DISPLAY }, 1977d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#endif 198c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Extra shortcut to rotate/scale up/down the screen on linux desktop. 199c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_R, 200c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ROTATE_SCREEN }, 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // For testing on systems where Alt-Tab is already mapped. 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_W, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU }, 203c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 204c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_F11, ui::EF_CONTROL_DOWN, TOGGLE_ROOT_WINDOW_FULL_SCREEN }, 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_MRU }, 207c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 208c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TOGGLE_DESKTOP_BACKGROUND_MODE }, 209c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}; 210c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 211c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const size_t kDesktopAcceleratorDataLength = arraysize(kDesktopAcceleratorData); 212c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif 213c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 214c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const AcceleratorData kDebugAcceleratorData[] = { 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PRINT_LAYER_HIERARCHY }, 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_V, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PRINT_VIEW_HIERARCHY }, 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PRINT_WINDOW_HIERARCHY }, 221c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 222c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DEBUG_TOGGLE_DEVICE_SCALE_FACTOR }, 223c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 224c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DEBUG_TOGGLE_SHOW_DEBUG_BORDERS }, 225c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_F, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 226c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DEBUG_TOGGLE_SHOW_FPS_COUNTER }, 227c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { true, ui::VKEY_P, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 228c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DEBUG_TOGGLE_SHOW_PAINT_RECTS }, 2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kDebugAcceleratorDataLength = arraysize(kDebugAcceleratorData); 2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kReservedActions[] = { 2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Window cycling accelerators. 2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_MRU, // Shift+Alt+Tab 2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_FORWARD_MRU, // Alt+Tab 2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_PRESSED, 2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_RELEASED, 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kReservedActionsLength = arraysize(kReservedActions); 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 24590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const AcceleratorAction kReservedDebugActions[] = { 24690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) PRINT_LAYER_HIERARCHY, 24790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) PRINT_VIEW_HIERARCHY, 24890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) PRINT_WINDOW_HIERARCHY, 24990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DEBUG_TOGGLE_DEVICE_SCALE_FACTOR, 25090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DEBUG_TOGGLE_SHOW_DEBUG_BORDERS, 25190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DEBUG_TOGGLE_SHOW_FPS_COUNTER, 25290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DEBUG_TOGGLE_SHOW_PAINT_RECTS, 25390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}; 25490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 25590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const size_t kReservedDebugActionsLength = arraysize(kReservedDebugActions); 25690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kActionsAllowedAtLoginOrLockScreen[] = { 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BRIGHTNESS_DOWN, 2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BRIGHTNESS_UP, 2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISABLE_CAPS_LOCK, 2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KEYBOARD_BRIGHTNESS_DOWN, 2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KEYBOARD_BRIGHTNESS_UP, 2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NEXT_IME, 2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PREVIOUS_IME, 267c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_LAYER_HIERARCHY, 2682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES, 269c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_VIEW_HIERARCHY, 270c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_WINDOW_HIERARCHY, 271c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ROTATE_WINDOW, 2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SWITCH_IME, // Switch to another IME depending on the accelerator. 2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TAKE_PARTIAL_SCREENSHOT, 274c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TAKE_SCREENSHOT, 2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_CAPS_LOCK, 2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_WIFI, 2772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TOUCH_HUD_CLEAR, 2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_DOWN, 2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_MUTE, 2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_UP, 281c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if defined(OS_CHROMEOS) 2827d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOGGLE_SPOKEN_FEEDBACK, 28390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ADD_REMOVE_DISPLAY, 284c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DISABLE_GPU_WATCHDOG, 28590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) TOGGLE_MIRROR_MODE, 2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) && !defined(NDEBUG) 2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_PRESSED, 2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_RELEASED, 290c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif // defined(OS_CHROMEOS) 2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kActionsAllowedAtLoginOrLockScreenLength = 2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) arraysize(kActionsAllowedAtLoginOrLockScreen); 2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kActionsAllowedAtLockScreen[] = { 2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXIT, 2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kActionsAllowedAtLockScreenLength = 3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) arraysize(kActionsAllowedAtLockScreen); 3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kActionsAllowedAtModalWindow[] = { 3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BRIGHTNESS_DOWN, 3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BRIGHTNESS_UP, 3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISABLE_CAPS_LOCK, 3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXIT, 3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KEYBOARD_BRIGHTNESS_DOWN, 3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KEYBOARD_BRIGHTNESS_UP, 3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_IN, 3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT, 3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MEDIA_NEXT_TRACK, 3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MEDIA_PLAY_PAUSE, 3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MEDIA_PREV_TRACK, 3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NEXT_IME, 3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) OPEN_FEEDBACK_PAGE, 3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_PRESSED, 3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) POWER_RELEASED, 3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PREVIOUS_IME, 3202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES, 3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SHOW_KEYBOARD_OVERLAY, 3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SWITCH_IME, 3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TAKE_PARTIAL_SCREENSHOT, 324c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TAKE_SCREENSHOT, 3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_CAPS_LOCK, 3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_WIFI, 3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_DOWN, 3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_MUTE, 3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) VOLUME_UP, 3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 3317d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) SWAP_PRIMARY_DISPLAY, 3327d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOGGLE_SPOKEN_FEEDBACK, 33390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#if !defined(NDEBUG) 33490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ADD_REMOVE_DISPLAY, 33590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif 3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LOCK_SCREEN, 33790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) TOGGLE_MIRROR_MODE, 3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kActionsAllowedAtModalWindowLength = 3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) arraysize(kActionsAllowedAtModalWindow); 3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const AcceleratorAction kNonrepeatableActions[] = { 3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // TODO(mazda): Add other actions which should not be repeated. 3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_LINEAR, 3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_BACKWARD_MRU, 3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_FORWARD_LINEAR, 3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CYCLE_FORWARD_MRU, 35090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) EXIT, 3512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES, // Don't fill the logs if the key is held down. 3522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ROTATE_SCREEN, 3532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ROTATE_WINDOW, 3542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SCALE_UI_UP, 3552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SCALE_UI_DOWN, 356c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SCALE_UI_RESET, 357c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TOGGLE_FULLSCREEN, 3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TOGGLE_MAXIMIZED, 3592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WINDOW_MINIMIZE, 3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const size_t kNonrepeatableActionsLength = 3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) arraysize(kNonrepeatableActions); 3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const AcceleratorAction kActionsAllowedInAppMode[] = { 3662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BRIGHTNESS_DOWN, 3672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BRIGHTNESS_UP, 368c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) CYCLE_BACKWARD_LINEAR, 369c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) CYCLE_BACKWARD_MRU, 370c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) CYCLE_FORWARD_LINEAR, 371c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) CYCLE_FORWARD_MRU, 3722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISABLE_CAPS_LOCK, 373c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) EXIT, 3742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) KEYBOARD_BRIGHTNESS_DOWN, 3752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) KEYBOARD_BRIGHTNESS_UP, 3762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 3772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 3782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MEDIA_NEXT_TRACK, 3792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MEDIA_PLAY_PAUSE, 3802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MEDIA_PREV_TRACK, 3812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) NEXT_IME, 3822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) POWER_PRESSED, 3832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) POWER_RELEASED, 3842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PREVIOUS_IME, 385c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_LAYER_HIERARCHY, 3862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PRINT_UI_HIERARCHIES, 387c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_VIEW_HIERARCHY, 388c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PRINT_WINDOW_HIERARCHY, 3892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ROTATE_SCREEN, 3902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SCALE_UI_DOWN, 391c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SCALE_UI_RESET, 392c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SCALE_UI_UP, 3932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SWITCH_IME, // Switch to another IME depending on the accelerator. 3942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TOGGLE_CAPS_LOCK, 3952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TOGGLE_WIFI, 3962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TOUCH_HUD_CLEAR, 3972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) VOLUME_DOWN, 3982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) VOLUME_MUTE, 3992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) VOLUME_UP, 400c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if defined(OS_CHROMEOS) 4017d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) SWAP_PRIMARY_DISPLAY, 4027d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) TOGGLE_SPOKEN_FEEDBACK, 40390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ADD_REMOVE_DISPLAY, 404c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DISABLE_GPU_WATCHDOG, 40590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) TOGGLE_MIRROR_MODE, 406c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif // defined(OS_CHROMEOS) 4072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 4082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 4092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const size_t kActionsAllowedInAppModeLength = 4102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) arraysize(kActionsAllowedInAppMode); 4112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace ash 413