OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ash/accelerators/accelerator_table.h" | 5 #include "ash/accelerators/accelerator_table.h" |
6 | 6 |
7 #include "ash/strings/grit/ash_strings.h" | 7 #include "ash/strings/grit/ash_strings.h" |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 | 9 |
10 namespace ash { | 10 namespace ash { |
11 | 11 |
12 const int kDebugModifier = | 12 const int kDebugModifier = |
13 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN; | 13 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN; |
14 | 14 |
15 const AcceleratorData kAcceleratorData[] = { | 15 const AcceleratorData kAcceleratorData[] = { |
16 { true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, PREVIOUS_IME }, | 16 {true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, PREVIOUS_IME}, |
17 { false, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, PREVIOUS_IME }, | 17 {false, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, PREVIOUS_IME}, |
18 // Shortcuts for Japanese IME. | 18 // Shortcuts for Japanese IME. |
19 { true, ui::VKEY_CONVERT, ui::EF_NONE, SWITCH_IME }, | 19 {true, ui::VKEY_CONVERT, ui::EF_NONE, SWITCH_IME}, |
20 { true, ui::VKEY_NONCONVERT, ui::EF_NONE, SWITCH_IME }, | 20 {true, ui::VKEY_NONCONVERT, ui::EF_NONE, SWITCH_IME}, |
21 { true, ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE, SWITCH_IME }, | 21 {true, ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE, SWITCH_IME}, |
22 { true, ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE, SWITCH_IME }, | 22 {true, ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE, SWITCH_IME}, |
23 // Shortcut for Koren IME. | 23 // Shortcut for Koren IME. |
24 { true, ui::VKEY_HANGUL, ui::EF_NONE, SWITCH_IME }, | 24 {true, ui::VKEY_HANGUL, ui::EF_NONE, SWITCH_IME}, |
25 | 25 |
26 { true, ui::VKEY_TAB, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU }, | 26 {true, ui::VKEY_TAB, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU}, |
27 { true, ui::VKEY_TAB, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, | 27 {true, ui::VKEY_TAB, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, |
28 CYCLE_BACKWARD_MRU }, | 28 CYCLE_BACKWARD_MRU}, |
29 { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE, TOGGLE_OVERVIEW }, | 29 {true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE, TOGGLE_OVERVIEW}, |
30 #if defined(OS_CHROMEOS) | 30 #if defined(OS_CHROMEOS) |
31 { true, ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, TOGGLE_APP_LIST }, | 31 {true, ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, TOGGLE_APP_LIST}, |
32 { true, ui::VKEY_WLAN, ui::EF_NONE, TOGGLE_WIFI }, | 32 {true, ui::VKEY_WLAN, ui::EF_NONE, TOGGLE_WIFI}, |
33 { true, ui::VKEY_KBD_BRIGHTNESS_DOWN, ui::EF_NONE, KEYBOARD_BRIGHTNESS_DOWN }, | 33 {true, ui::VKEY_KBD_BRIGHTNESS_DOWN, ui::EF_NONE, KEYBOARD_BRIGHTNESS_DOWN}, |
34 { true, ui::VKEY_KBD_BRIGHTNESS_UP, ui::EF_NONE, KEYBOARD_BRIGHTNESS_UP }, | 34 {true, ui::VKEY_KBD_BRIGHTNESS_UP, ui::EF_NONE, KEYBOARD_BRIGHTNESS_UP}, |
35 // Maximize button. | 35 // Maximize button. |
36 { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_CONTROL_DOWN, TOGGLE_MIRROR_MODE }, | 36 {true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_CONTROL_DOWN, TOGGLE_MIRROR_MODE}, |
37 { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_ALT_DOWN, SWAP_PRIMARY_DISPLAY }, | 37 {true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_ALT_DOWN, SWAP_PRIMARY_DISPLAY}, |
38 // Cycle windows button. | 38 // Cycle windows button. |
39 { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN, TAKE_SCREENSHOT }, | 39 {true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN, TAKE_SCREENSHOT}, |
40 { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 40 {true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
41 TAKE_PARTIAL_SCREENSHOT }, | 41 TAKE_PARTIAL_SCREENSHOT}, |
42 { true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN, | 42 {true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN, |
43 TAKE_WINDOW_SCREENSHOT }, | 43 TAKE_WINDOW_SCREENSHOT}, |
44 { true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE, BRIGHTNESS_DOWN }, | 44 {true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE, BRIGHTNESS_DOWN}, |
45 { true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_ALT_DOWN, KEYBOARD_BRIGHTNESS_DOWN }, | 45 {true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_ALT_DOWN, KEYBOARD_BRIGHTNESS_DOWN}, |
46 { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE, BRIGHTNESS_UP }, | 46 {true, ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE, BRIGHTNESS_UP}, |
47 { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_ALT_DOWN, KEYBOARD_BRIGHTNESS_UP }, | 47 {true, ui::VKEY_BRIGHTNESS_UP, ui::EF_ALT_DOWN, KEYBOARD_BRIGHTNESS_UP}, |
48 { true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 48 {true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
49 MAGNIFY_SCREEN_ZOOM_OUT}, | 49 MAGNIFY_SCREEN_ZOOM_OUT}, |
50 { true, ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 50 {true, ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
51 MAGNIFY_SCREEN_ZOOM_IN}, | 51 MAGNIFY_SCREEN_ZOOM_IN}, |
52 { true, ui::VKEY_L, ui::EF_COMMAND_DOWN, LOCK_SCREEN }, | 52 {true, ui::VKEY_L, ui::EF_COMMAND_DOWN, LOCK_SCREEN}, |
53 { true, ui::VKEY_L, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, SUSPEND }, | 53 {true, ui::VKEY_L, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, SUSPEND}, |
54 // The lock key on Chrome OS keyboards produces F13 scancodes. | 54 // The lock key on Chrome OS keyboards produces F13 scancodes. |
55 { true, ui::VKEY_F13, ui::EF_NONE, LOCK_PRESSED }, | 55 {true, ui::VKEY_F13, ui::EF_NONE, LOCK_PRESSED}, |
56 { false, ui::VKEY_F13, ui::EF_NONE, LOCK_RELEASED }, | 56 {false, ui::VKEY_F13, ui::EF_NONE, LOCK_RELEASED}, |
57 // Generic keyboards can use VKEY_SLEEP to mimic ChromeOS keyboard's lock key. | 57 // Generic keyboards can use VKEY_SLEEP to mimic ChromeOS keyboard's lock |
58 { true, ui::VKEY_SLEEP, ui::EF_NONE, LOCK_PRESSED }, | 58 // key. |
59 { false, ui::VKEY_SLEEP, ui::EF_NONE, LOCK_RELEASED }, | 59 {true, ui::VKEY_SLEEP, ui::EF_NONE, LOCK_PRESSED}, |
60 { true, ui::VKEY_POWER, ui::EF_NONE, POWER_PRESSED }, | 60 {false, ui::VKEY_SLEEP, ui::EF_NONE, LOCK_RELEASED}, |
61 { false, ui::VKEY_POWER, ui::EF_NONE, POWER_RELEASED }, | 61 {true, ui::VKEY_POWER, ui::EF_NONE, POWER_PRESSED}, |
62 { true, ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, | 62 {false, ui::VKEY_POWER, ui::EF_NONE, POWER_RELEASED}, |
63 OPEN_FILE_MANAGER }, | 63 {true, ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FILE_MANAGER}, |
64 { true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN, OPEN_GET_HELP }, | 64 {true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN, OPEN_GET_HELP}, |
65 { true, ui::VKEY_OEM_2, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 65 {true, ui::VKEY_OEM_2, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
66 OPEN_GET_HELP }, | 66 OPEN_GET_HELP}, |
67 { true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, OPEN_CROSH }, | 67 {true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, OPEN_CROSH}, |
68 { true, ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 68 {true, ui::VKEY_G, |
69 DISABLE_GPU_WATCHDOG }, | 69 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
70 { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 70 DISABLE_GPU_WATCHDOG}, |
71 TOUCH_HUD_MODE_CHANGE }, | 71 {true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
72 { true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, | 72 TOUCH_HUD_MODE_CHANGE}, |
73 TOUCH_HUD_CLEAR }, | 73 {true, ui::VKEY_I, |
74 { true, ui::VKEY_P, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 74 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, |
75 TOUCH_HUD_PROJECTION_TOGGLE }, | 75 TOUCH_HUD_CLEAR}, |
76 // Accessibility: Spoken feedback shortcuts. The first one is to toggle | 76 {true, ui::VKEY_P, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
77 // spoken feedback on or off. The others are only valid when | 77 TOUCH_HUD_PROJECTION_TOGGLE}, |
78 // spoken feedback is enabled. | 78 // Accessibility: Spoken feedback shortcuts. The first one is to toggle |
79 { true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 79 // spoken feedback on or off. The others are only valid when |
80 TOGGLE_SPOKEN_FEEDBACK }, | 80 // spoken feedback is enabled. |
81 { true, ui::VKEY_OEM_COMMA, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 81 {true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
82 SWITCH_TO_PREVIOUS_USER }, | 82 TOGGLE_SPOKEN_FEEDBACK}, |
83 { true, ui::VKEY_OEM_PERIOD, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 83 {true, ui::VKEY_OEM_COMMA, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
84 SWITCH_TO_NEXT_USER }, | 84 SWITCH_TO_PREVIOUS_USER}, |
85 // Single shift release turns off caps lock. | 85 {true, ui::VKEY_OEM_PERIOD, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
86 { false, ui::VKEY_LSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, | 86 SWITCH_TO_NEXT_USER}, |
87 { false, ui::VKEY_SHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, | 87 // Single shift release turns off caps lock. |
88 { false, ui::VKEY_RSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK }, | 88 {false, ui::VKEY_LSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK}, |
89 { false, ui::VKEY_LWIN, ui::EF_ALT_DOWN, TOGGLE_CAPS_LOCK }, | 89 {false, ui::VKEY_SHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK}, |
90 { true, ui::VKEY_VOLUME_MUTE, ui::EF_NONE, VOLUME_MUTE }, | 90 {false, ui::VKEY_RSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK}, |
91 { true, ui::VKEY_VOLUME_DOWN, ui::EF_NONE, VOLUME_DOWN }, | 91 {false, ui::VKEY_LWIN, ui::EF_ALT_DOWN, TOGGLE_CAPS_LOCK}, |
92 { true, ui::VKEY_VOLUME_UP, ui::EF_NONE, VOLUME_UP }, | 92 {true, ui::VKEY_VOLUME_MUTE, ui::EF_NONE, VOLUME_MUTE}, |
93 { true, ui::VKEY_ESCAPE, ui::EF_COMMAND_DOWN, SHOW_TASK_MANAGER }, | 93 {true, ui::VKEY_VOLUME_DOWN, ui::EF_NONE, VOLUME_DOWN}, |
94 { true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, NEXT_IME }, | 94 {true, ui::VKEY_VOLUME_UP, ui::EF_NONE, VOLUME_UP}, |
| 95 {true, ui::VKEY_ESCAPE, ui::EF_COMMAND_DOWN, SHOW_TASK_MANAGER}, |
| 96 {true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, NEXT_IME}, |
95 #else | 97 #else |
96 // This key has been deprecated on CrOS. It is instead included below in the | 98 // This key has been deprecated on CrOS. It is instead included below in the |
97 // |kDeprecatedAccelerators|, and above in the CrOS accelerators as | 99 // |kDeprecatedAccelerators|, and above in the CrOS accelerators as |
98 // Search+Esc. | 100 // Search+Esc. |
99 { true, ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, SHOW_TASK_MANAGER }, | 101 {true, ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, SHOW_TASK_MANAGER}, |
100 #endif // defined(OS_CHROMEOS) | 102 #endif // defined(OS_CHROMEOS) |
101 { true, ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FEEDBACK_PAGE }, | 103 {true, ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FEEDBACK_PAGE}, |
102 #if !defined(OS_WIN) | 104 #if !defined(OS_WIN) |
103 { true, ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, EXIT }, | 105 {true, ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, EXIT}, |
104 #endif | 106 #endif |
105 { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 107 {true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
106 NEW_INCOGNITO_WINDOW }, | 108 NEW_INCOGNITO_WINDOW}, |
107 { true, ui::VKEY_N, ui::EF_CONTROL_DOWN, NEW_WINDOW }, | 109 {true, ui::VKEY_N, ui::EF_CONTROL_DOWN, NEW_WINDOW}, |
108 { true, ui::VKEY_T, ui::EF_CONTROL_DOWN, NEW_TAB }, | 110 {true, ui::VKEY_T, ui::EF_CONTROL_DOWN, NEW_TAB}, |
109 { true, ui::VKEY_OEM_MINUS, | 111 {true, ui::VKEY_OEM_MINUS, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, |
110 ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_UP }, | 112 SCALE_UI_UP}, |
111 { true, ui::VKEY_OEM_PLUS, | 113 {true, ui::VKEY_OEM_PLUS, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, |
112 ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_DOWN }, | 114 SCALE_UI_DOWN}, |
113 { true, ui::VKEY_0, | 115 {true, ui::VKEY_0, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_RESET}, |
114 ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, SCALE_UI_RESET }, | 116 {true, ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, |
115 { true, ui::VKEY_BROWSER_REFRESH, | 117 ROTATE_SCREEN}, |
116 ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, ROTATE_SCREEN }, | 118 {true, ui::VKEY_BROWSER_REFRESH, |
117 { true, ui::VKEY_BROWSER_REFRESH, | 119 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ROTATE_WINDOW}, |
118 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 120 {true, ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, RESTORE_TAB}, |
119 ROTATE_WINDOW }, | 121 {true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT}, |
120 { true, ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, RESTORE_TAB }, | 122 // On Chrome OS, Search key is mapped to LWIN. The Search key binding should |
121 { true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT }, | 123 // act on release instead of press when using Search as a modifier key for |
122 // On Chrome OS, Search key is mapped to LWIN. The Search key binding should | 124 // extended keyboard shortcuts. |
123 // act on release instead of press when using Search as a modifier key for | 125 {false, ui::VKEY_LWIN, ui::EF_NONE, TOGGLE_APP_LIST}, |
124 // extended keyboard shortcuts. | 126 {true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE, TOGGLE_FULLSCREEN}, |
125 { false, ui::VKEY_LWIN, ui::EF_NONE, TOGGLE_APP_LIST }, | 127 {true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_SHIFT_DOWN, TOGGLE_FULLSCREEN}, |
126 { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE, TOGGLE_FULLSCREEN }, | 128 {true, ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN, UNPIN}, |
127 { true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_SHIFT_DOWN, TOGGLE_FULLSCREEN }, | 129 {true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, FOCUS_SHELF}, |
128 { true, ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN, UNPIN }, | 130 {true, ui::VKEY_HELP, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY}, |
129 { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, FOCUS_SHELF }, | 131 {true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
130 { true, ui::VKEY_HELP, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY }, | 132 SHOW_KEYBOARD_OVERLAY}, |
131 { true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 133 {true, ui::VKEY_OEM_2, |
132 SHOW_KEYBOARD_OVERLAY }, | 134 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
133 { true, ui::VKEY_OEM_2, | 135 SHOW_KEYBOARD_OVERLAY}, |
134 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 136 {true, ui::VKEY_F14, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY}, |
135 SHOW_KEYBOARD_OVERLAY }, | 137 {true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, |
136 { true, ui::VKEY_F14, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY }, | 138 SHOW_MESSAGE_CENTER_BUBBLE}, |
137 { true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, | 139 {true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, |
138 SHOW_MESSAGE_CENTER_BUBBLE }, | 140 SHOW_SYSTEM_TRAY_BUBBLE}, |
139 { true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, | 141 {true, ui::VKEY_1, ui::EF_ALT_DOWN, LAUNCH_APP_0}, |
140 SHOW_SYSTEM_TRAY_BUBBLE }, | 142 {true, ui::VKEY_2, ui::EF_ALT_DOWN, LAUNCH_APP_1}, |
141 { true, ui::VKEY_1, ui::EF_ALT_DOWN, LAUNCH_APP_0 }, | 143 {true, ui::VKEY_3, ui::EF_ALT_DOWN, LAUNCH_APP_2}, |
142 { true, ui::VKEY_2, ui::EF_ALT_DOWN, LAUNCH_APP_1 }, | 144 {true, ui::VKEY_4, ui::EF_ALT_DOWN, LAUNCH_APP_3}, |
143 { true, ui::VKEY_3, ui::EF_ALT_DOWN, LAUNCH_APP_2 }, | 145 {true, ui::VKEY_5, ui::EF_ALT_DOWN, LAUNCH_APP_4}, |
144 { true, ui::VKEY_4, ui::EF_ALT_DOWN, LAUNCH_APP_3 }, | 146 {true, ui::VKEY_6, ui::EF_ALT_DOWN, LAUNCH_APP_5}, |
145 { true, ui::VKEY_5, ui::EF_ALT_DOWN, LAUNCH_APP_4 }, | 147 {true, ui::VKEY_7, ui::EF_ALT_DOWN, LAUNCH_APP_6}, |
146 { true, ui::VKEY_6, ui::EF_ALT_DOWN, LAUNCH_APP_5 }, | 148 {true, ui::VKEY_8, ui::EF_ALT_DOWN, LAUNCH_APP_7}, |
147 { true, ui::VKEY_7, ui::EF_ALT_DOWN, LAUNCH_APP_6 }, | 149 {true, ui::VKEY_9, ui::EF_ALT_DOWN, LAUNCH_LAST_APP}, |
148 { true, ui::VKEY_8, ui::EF_ALT_DOWN, LAUNCH_APP_7 }, | |
149 { true, ui::VKEY_9, ui::EF_ALT_DOWN, LAUNCH_LAST_APP }, | |
150 | 150 |
151 // Window management shortcuts. | 151 // Window management shortcuts. |
152 { true, ui::VKEY_OEM_4, ui::EF_ALT_DOWN, WINDOW_CYCLE_SNAP_DOCK_LEFT }, | 152 {true, ui::VKEY_OEM_4, ui::EF_ALT_DOWN, WINDOW_CYCLE_SNAP_DOCK_LEFT}, |
153 { true, ui::VKEY_OEM_6, ui::EF_ALT_DOWN, WINDOW_CYCLE_SNAP_DOCK_RIGHT }, | 153 {true, ui::VKEY_OEM_6, ui::EF_ALT_DOWN, WINDOW_CYCLE_SNAP_DOCK_RIGHT}, |
154 { true, ui::VKEY_OEM_MINUS, ui::EF_ALT_DOWN, WINDOW_MINIMIZE }, | 154 {true, ui::VKEY_OEM_MINUS, ui::EF_ALT_DOWN, WINDOW_MINIMIZE}, |
155 { true, ui::VKEY_OEM_PLUS, ui::EF_ALT_DOWN, TOGGLE_MAXIMIZED }, | 155 {true, ui::VKEY_OEM_PLUS, ui::EF_ALT_DOWN, TOGGLE_MAXIMIZED}, |
156 { true, ui::VKEY_OEM_PLUS, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, | 156 {true, ui::VKEY_OEM_PLUS, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, |
157 WINDOW_POSITION_CENTER }, | 157 WINDOW_POSITION_CENTER}, |
158 { true, ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN, FOCUS_NEXT_PANE }, | 158 {true, ui::VKEY_BROWSER_FORWARD, ui::EF_CONTROL_DOWN, FOCUS_NEXT_PANE}, |
159 { true, ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN, FOCUS_PREVIOUS_PANE }, | 159 {true, ui::VKEY_BROWSER_BACK, ui::EF_CONTROL_DOWN, FOCUS_PREVIOUS_PANE}, |
160 | 160 |
161 // Media Player shortcuts. | 161 // Media Player shortcuts. |
162 { true, ui::VKEY_MEDIA_NEXT_TRACK, ui::EF_NONE, MEDIA_NEXT_TRACK}, | 162 {true, ui::VKEY_MEDIA_NEXT_TRACK, ui::EF_NONE, MEDIA_NEXT_TRACK}, |
163 { true, ui::VKEY_MEDIA_PLAY_PAUSE, ui::EF_NONE, MEDIA_PLAY_PAUSE}, | 163 {true, ui::VKEY_MEDIA_PLAY_PAUSE, ui::EF_NONE, MEDIA_PLAY_PAUSE}, |
164 { true, ui::VKEY_MEDIA_PREV_TRACK, ui::EF_NONE, MEDIA_PREV_TRACK}, | 164 {true, ui::VKEY_MEDIA_PREV_TRACK, ui::EF_NONE, MEDIA_PREV_TRACK}, |
165 | 165 |
166 // Debugging shortcuts that need to be available to end-users in | 166 // Debugging shortcuts that need to be available to end-users in |
167 // release builds. | 167 // release builds. |
168 { true, ui::VKEY_U, kDebugModifier, PRINT_UI_HIERARCHIES }, | 168 {true, ui::VKEY_U, kDebugModifier, PRINT_UI_HIERARCHIES}, |
169 | 169 |
170 // TODO(yusukes): Handle VKEY_MEDIA_STOP, and | 170 // TODO(yusukes): Handle VKEY_MEDIA_STOP, and |
171 // VKEY_MEDIA_LAUNCH_MAIL. | 171 // VKEY_MEDIA_LAUNCH_MAIL. |
172 }; | 172 }; |
173 | 173 |
174 const size_t kAcceleratorDataLength = arraysize(kAcceleratorData); | 174 const size_t kAcceleratorDataLength = arraysize(kAcceleratorData); |
175 | 175 |
176 // Instructions for how to deprecate and replace an Accelerator: | 176 // Instructions for how to deprecate and replace an Accelerator: |
177 // | 177 // |
178 // 1- Replace the old deprecated accelerator from the above list with the new | 178 // 1- Replace the old deprecated accelerator from the above list with the new |
179 // accelerator that will take its place. | 179 // accelerator that will take its place. |
180 // 2- Add an entry for it in the following |kDeprecatedAccelerators| list. | 180 // 2- Add an entry for it in the following |kDeprecatedAccelerators| list. |
181 // 3- Add another entry in the |kDeprecatedAcceleratorsData|. | 181 // 3- Add another entry in the |kDeprecatedAcceleratorsData|. |
182 // 4- That entry should contain the following: | 182 // 4- That entry should contain the following: |
183 // - The action that the deprecated accelerator maps to. | 183 // - The action that the deprecated accelerator maps to. |
184 // - Define a histogram for this action in |histograms.xml| in the form | 184 // - Define a histogram for this action in |histograms.xml| in the form |
185 // "Ash.Accelerators.Deprecated.{ActionName}" and include the name of this | 185 // "Ash.Accelerators.Deprecated.{ActionName}" and include the name of this |
186 // histogram in this entry. This name will be used as the ID of the | 186 // histogram in this entry. This name will be used as the ID of the |
187 // notification to be shown to the user. This is to prevent duplication of | 187 // notification to be shown to the user. This is to prevent duplication of |
188 // same notification. | 188 // same notification. |
189 // - The ID of the localized notification message to give the users telling | 189 // - The ID of the localized notification message to give the users telling |
190 // them about the deprecation (Add one in |ash_chromeos_strings.grdp|. | 190 // them about the deprecation (Add one in |ash_chromeos_strings.grdp|. |
191 // Search for the comment <!-- Deprecated Accelerators Messages -->). | 191 // Search for the comment <!-- Deprecated Accelerators Messages -->). |
192 // - The IDs of the localized old and new shortcut text to be used to fill | 192 // - The IDs of the localized old and new shortcut text to be used to fill |
193 // the notification text. Also found in |ash_chromeos_strings.grdp|. | 193 // the notification text. Also found in |ash_chromeos_strings.grdp|. |
194 // - {true or false} whether the deprecated accelerator is still enabled (we | 194 // - {true or false} whether the deprecated accelerator is still enabled (we |
195 // don't disable a deprecated accelerator abruptly). | 195 // don't disable a deprecated accelerator abruptly). |
196 // 5- Don't forget to update the keyboard overlay. Find 'shortcut' in the file | 196 // 5- Don't forget to update the keyboard overlay. Find 'shortcut' in the file |
197 // keyboard_overlay_data.js. | 197 // keyboard_overlay_data.js. |
198 #if defined(OS_CHROMEOS) | 198 #if defined(OS_CHROMEOS) |
199 | 199 |
200 const AcceleratorData kDeprecatedAccelerators[] = { | 200 const AcceleratorData kDeprecatedAccelerators[] = { |
201 { true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, LOCK_SCREEN }, | 201 {true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, LOCK_SCREEN}, |
202 { true, ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, SHOW_TASK_MANAGER }, | 202 {true, ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, SHOW_TASK_MANAGER}, |
203 { false, ui::VKEY_LMENU, ui::EF_SHIFT_DOWN, NEXT_IME }, | 203 {false, ui::VKEY_LMENU, ui::EF_SHIFT_DOWN, NEXT_IME}, |
204 { false, ui::VKEY_MENU, ui::EF_SHIFT_DOWN, NEXT_IME }, | 204 {false, ui::VKEY_MENU, ui::EF_SHIFT_DOWN, NEXT_IME}, |
205 { false, ui::VKEY_RMENU, ui::EF_SHIFT_DOWN, NEXT_IME }, | 205 {false, ui::VKEY_RMENU, ui::EF_SHIFT_DOWN, NEXT_IME}, |
206 { false, ui::VKEY_LSHIFT, ui::EF_ALT_DOWN, NEXT_IME }, | 206 {false, ui::VKEY_LSHIFT, ui::EF_ALT_DOWN, NEXT_IME}, |
207 { false, ui::VKEY_SHIFT, ui::EF_ALT_DOWN, NEXT_IME }, | 207 {false, ui::VKEY_SHIFT, ui::EF_ALT_DOWN, NEXT_IME}, |
208 { false, ui::VKEY_RSHIFT, ui::EF_ALT_DOWN, NEXT_IME }, | 208 {false, ui::VKEY_RSHIFT, ui::EF_ALT_DOWN, NEXT_IME}, |
209 }; | 209 }; |
210 | 210 |
211 const size_t kDeprecatedAcceleratorsLength = arraysize(kDeprecatedAccelerators); | 211 const size_t kDeprecatedAcceleratorsLength = arraysize(kDeprecatedAccelerators); |
212 | 212 |
213 const DeprecatedAcceleratorData kDeprecatedAcceleratorsData[] = { | 213 const DeprecatedAcceleratorData kDeprecatedAcceleratorsData[] = { |
214 { | 214 {LOCK_SCREEN, "Ash.Accelerators.Deprecated.LockScreen", |
215 LOCK_SCREEN, | 215 IDS_DEPRECATED_LOCK_SCREEN_MSG, IDS_SHORTCUT_LOCK_SCREEN_OLD, |
216 "Ash.Accelerators.Deprecated.LockScreen", | 216 IDS_SHORTCUT_LOCK_SCREEN_NEW, true}, |
217 IDS_DEPRECATED_LOCK_SCREEN_MSG, | 217 {SHOW_TASK_MANAGER, "Ash.Accelerators.Deprecated.ShowTaskManager", |
218 IDS_SHORTCUT_LOCK_SCREEN_OLD, | 218 IDS_DEPRECATED_SHOW_TASK_MANAGER_MSG, IDS_SHORTCUT_TASK_MANAGER_OLD, |
219 IDS_SHORTCUT_LOCK_SCREEN_NEW, | 219 IDS_SHORTCUT_TASK_MANAGER_NEW, true}, |
220 true | 220 { |
221 }, | 221 NEXT_IME, "Ash.Accelerators.Deprecated.NextIME", |
222 { | 222 IDS_DEPRECATED_NEXT_IME_MSG, IDS_SHORTCUT_NEXT_IME_OLD, |
223 SHOW_TASK_MANAGER, | 223 IDS_SHORTCUT_NEXT_IME_NEW, |
224 "Ash.Accelerators.Deprecated.ShowTaskManager", | 224 false // Old accelerator has been disabled. |
225 IDS_DEPRECATED_SHOW_TASK_MANAGER_MSG, | 225 }}; |
226 IDS_SHORTCUT_TASK_MANAGER_OLD, | |
227 IDS_SHORTCUT_TASK_MANAGER_NEW, | |
228 true | |
229 }, | |
230 { | |
231 NEXT_IME, | |
232 "Ash.Accelerators.Deprecated.NextIME", | |
233 IDS_DEPRECATED_NEXT_IME_MSG, | |
234 IDS_SHORTCUT_NEXT_IME_OLD, | |
235 IDS_SHORTCUT_NEXT_IME_NEW, | |
236 false // Old accelerator has been disabled. | |
237 } | |
238 }; | |
239 | 226 |
240 const size_t kDeprecatedAcceleratorsDataLength = | 227 const size_t kDeprecatedAcceleratorsDataLength = |
241 arraysize(kDeprecatedAcceleratorsData); | 228 arraysize(kDeprecatedAcceleratorsData); |
242 | 229 |
243 #endif // defined(OS_CHROMEOS) | 230 #endif // defined(OS_CHROMEOS) |
244 | 231 |
245 const AcceleratorData kDebugAcceleratorData[] = { | 232 const AcceleratorData kDebugAcceleratorData[] = { |
246 #if defined(OS_CHROMEOS) | 233 #if defined(OS_CHROMEOS) |
247 // Extra shortcut for debug build to control magnifier on linux desktop. | 234 // Extra shortcut for debug build to control magnifier on linux desktop. |
248 {true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN, | 235 {true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN, |
(...skipping 10 matching lines...) Expand all Loading... |
259 DEBUG_ADD_REMOVE_DISPLAY}, | 246 DEBUG_ADD_REMOVE_DISPLAY}, |
260 {true, ui::VKEY_O, kDebugModifier, DEBUG_SHOW_TOAST}, | 247 {true, ui::VKEY_O, kDebugModifier, DEBUG_SHOW_TOAST}, |
261 {true, ui::VKEY_J, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, | 248 {true, ui::VKEY_J, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, |
262 DEBUG_TOGGLE_UNIFIED_DESKTOP}, | 249 DEBUG_TOGGLE_UNIFIED_DESKTOP}, |
263 {true, ui::VKEY_M, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, | 250 {true, ui::VKEY_M, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, |
264 TOGGLE_MIRROR_MODE}, | 251 TOGGLE_MIRROR_MODE}, |
265 {true, ui::VKEY_P, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, | 252 {true, ui::VKEY_P, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, |
266 DEBUG_TOGGLE_TOUCH_PAD}, | 253 DEBUG_TOGGLE_TOUCH_PAD}, |
267 {true, ui::VKEY_T, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, | 254 {true, ui::VKEY_T, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, |
268 DEBUG_TOGGLE_TOUCH_SCREEN}, | 255 DEBUG_TOGGLE_TOUCH_SCREEN}, |
269 { true, ui::VKEY_T, kDebugModifier, DEBUG_TOGGLE_TOUCH_VIEW}, | 256 {true, ui::VKEY_T, kDebugModifier, DEBUG_TOGGLE_TOUCH_VIEW}, |
270 {true, ui::VKEY_W, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, TOGGLE_WIFI}, | 257 {true, ui::VKEY_W, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, TOGGLE_WIFI}, |
271 // Extra shortcut for display swapping as alt-f4 is taken on linux desktop. | 258 // Extra shortcut for display swapping as alt-f4 is taken on linux desktop. |
272 {true, ui::VKEY_S, kDebugModifier, SWAP_PRIMARY_DISPLAY}, | 259 {true, ui::VKEY_S, kDebugModifier, SWAP_PRIMARY_DISPLAY}, |
273 #endif | 260 #endif |
274 // Extra shortcut to rotate/scale up/down the screen on linux desktop. | 261 // Extra shortcut to rotate/scale up/down the screen on linux desktop. |
275 {true, ui::VKEY_R, | 262 {true, ui::VKEY_R, |
276 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ROTATE_SCREEN}, | 263 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ROTATE_SCREEN}, |
277 // For testing on systems where Alt-Tab is already mapped. | 264 // For testing on systems where Alt-Tab is already mapped. |
278 {true, ui::VKEY_W, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU}, | 265 {true, ui::VKEY_W, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU}, |
279 {true, ui::VKEY_F11, ui::EF_CONTROL_DOWN, | 266 {true, ui::VKEY_F11, ui::EF_CONTROL_DOWN, |
280 DEBUG_TOGGLE_ROOT_WINDOW_FULL_SCREEN}, | 267 DEBUG_TOGGLE_ROOT_WINDOW_FULL_SCREEN}, |
281 {true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, CYCLE_BACKWARD_MRU}, | 268 {true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, CYCLE_BACKWARD_MRU}, |
282 {true, ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 269 {true, ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
283 DEBUG_TOGGLE_DESKTOP_BACKGROUND_MODE}, | 270 DEBUG_TOGGLE_DESKTOP_BACKGROUND_MODE}, |
284 {true, ui::VKEY_F, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 271 {true, ui::VKEY_F, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
285 TOGGLE_FULLSCREEN}, | 272 TOGGLE_FULLSCREEN}, |
286 {true, ui::VKEY_L, kDebugModifier, DEBUG_PRINT_LAYER_HIERARCHY}, | 273 {true, ui::VKEY_L, kDebugModifier, DEBUG_PRINT_LAYER_HIERARCHY}, |
287 {true, ui::VKEY_V, kDebugModifier, DEBUG_PRINT_VIEW_HIERARCHY}, | 274 {true, ui::VKEY_V, kDebugModifier, DEBUG_PRINT_VIEW_HIERARCHY}, |
288 {true, ui::VKEY_W, kDebugModifier, DEBUG_PRINT_WINDOW_HIERARCHY}, | 275 {true, ui::VKEY_W, kDebugModifier, DEBUG_PRINT_WINDOW_HIERARCHY}, |
289 {true, ui::VKEY_D, kDebugModifier, DEBUG_TOGGLE_DEVICE_SCALE_FACTOR}, | 276 {true, ui::VKEY_D, kDebugModifier, DEBUG_TOGGLE_DEVICE_SCALE_FACTOR}, |
290 {true, ui::VKEY_B, kDebugModifier, DEBUG_TOGGLE_SHOW_DEBUG_BORDERS}, | 277 {true, ui::VKEY_B, kDebugModifier, DEBUG_TOGGLE_SHOW_DEBUG_BORDERS}, |
291 {true, ui::VKEY_F, kDebugModifier, DEBUG_TOGGLE_SHOW_FPS_COUNTER}, | 278 {true, ui::VKEY_F, kDebugModifier, DEBUG_TOGGLE_SHOW_FPS_COUNTER}, |
292 {true, ui::VKEY_P, kDebugModifier, DEBUG_TOGGLE_SHOW_PAINT_RECTS}, | 279 {true, ui::VKEY_P, kDebugModifier, DEBUG_TOGGLE_SHOW_PAINT_RECTS}, |
293 }; | 280 }; |
294 | 281 |
295 const size_t kDebugAcceleratorDataLength = arraysize(kDebugAcceleratorData); | 282 const size_t kDebugAcceleratorDataLength = arraysize(kDebugAcceleratorData); |
296 | 283 |
297 const AcceleratorAction kPreferredActions[] = { | 284 const AcceleratorAction kPreferredActions[] = { |
298 // Window cycling accelerators. | 285 // Window cycling accelerators. |
299 CYCLE_BACKWARD_MRU, // Shift+Alt+Tab | 286 CYCLE_BACKWARD_MRU, // Shift+Alt+Tab |
300 CYCLE_FORWARD_MRU, // Alt+Tab | 287 CYCLE_FORWARD_MRU, // Alt+Tab |
301 }; | 288 }; |
302 | 289 |
303 const size_t kPreferredActionsLength = arraysize(kPreferredActions); | 290 const size_t kPreferredActionsLength = arraysize(kPreferredActions); |
304 | 291 |
305 const AcceleratorAction kReservedActions[] = { | 292 const AcceleratorAction kReservedActions[] = { |
306 #if defined(OS_CHROMEOS) | 293 #if defined(OS_CHROMEOS) |
307 POWER_PRESSED, | 294 POWER_PRESSED, POWER_RELEASED, SUSPEND, |
308 POWER_RELEASED, | |
309 SUSPEND, | |
310 #else | 295 #else |
311 DUMMY_FOR_RESERVED, | 296 DUMMY_FOR_RESERVED, |
312 #endif | 297 #endif |
313 }; | 298 }; |
314 | 299 |
315 const size_t kReservedActionsLength = arraysize(kReservedActions); | 300 const size_t kReservedActionsLength = arraysize(kReservedActions); |
316 | 301 |
317 const AcceleratorAction kActionsAllowedAtLoginOrLockScreen[] = { | 302 const AcceleratorAction kActionsAllowedAtLoginOrLockScreen[] = { |
318 DEBUG_PRINT_LAYER_HIERARCHY, | 303 DEBUG_PRINT_LAYER_HIERARCHY, |
319 DEBUG_PRINT_VIEW_HIERARCHY, | 304 DEBUG_PRINT_VIEW_HIERARCHY, |
320 DEBUG_PRINT_WINDOW_HIERARCHY, | 305 DEBUG_PRINT_WINDOW_HIERARCHY, |
321 MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 | 306 MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 |
322 MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 | 307 MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 |
323 NEXT_IME, | 308 NEXT_IME, |
324 PREVIOUS_IME, | 309 PREVIOUS_IME, |
325 PRINT_UI_HIERARCHIES, | 310 PRINT_UI_HIERARCHIES, |
326 ROTATE_SCREEN, | 311 ROTATE_SCREEN, |
327 SCALE_UI_UP, | 312 SCALE_UI_UP, |
328 SCALE_UI_DOWN, | 313 SCALE_UI_DOWN, |
329 SCALE_UI_RESET, | 314 SCALE_UI_RESET, |
330 SHOW_SYSTEM_TRAY_BUBBLE, | 315 SHOW_SYSTEM_TRAY_BUBBLE, |
331 SWITCH_IME, // Switch to another IME depending on the accelerator. | 316 SWITCH_IME, // Switch to another IME depending on the accelerator. |
332 TAKE_WINDOW_SCREENSHOT, | 317 TAKE_WINDOW_SCREENSHOT, |
333 TAKE_PARTIAL_SCREENSHOT, | 318 TAKE_PARTIAL_SCREENSHOT, |
334 TAKE_SCREENSHOT, | 319 TAKE_SCREENSHOT, |
335 #if defined(OS_CHROMEOS) | 320 #if defined(OS_CHROMEOS) |
336 BRIGHTNESS_DOWN, | 321 BRIGHTNESS_DOWN, |
337 BRIGHTNESS_UP, | 322 BRIGHTNESS_UP, |
338 DEBUG_ADD_REMOVE_DISPLAY, | 323 DEBUG_ADD_REMOVE_DISPLAY, |
339 DEBUG_TOGGLE_TOUCH_PAD, | 324 DEBUG_TOGGLE_TOUCH_PAD, |
340 DEBUG_TOGGLE_TOUCH_SCREEN, | 325 DEBUG_TOGGLE_TOUCH_SCREEN, |
341 DEBUG_TOGGLE_TOUCH_VIEW, | 326 DEBUG_TOGGLE_TOUCH_VIEW, |
342 DISABLE_CAPS_LOCK, | 327 DISABLE_CAPS_LOCK, |
343 DISABLE_GPU_WATCHDOG, | 328 DISABLE_GPU_WATCHDOG, |
344 KEYBOARD_BRIGHTNESS_DOWN, | 329 KEYBOARD_BRIGHTNESS_DOWN, |
345 KEYBOARD_BRIGHTNESS_UP, | 330 KEYBOARD_BRIGHTNESS_UP, |
346 TOGGLE_CAPS_LOCK, | 331 TOGGLE_CAPS_LOCK, |
347 TOGGLE_SPOKEN_FEEDBACK, | 332 TOGGLE_SPOKEN_FEEDBACK, |
348 TOGGLE_MIRROR_MODE, | 333 TOGGLE_MIRROR_MODE, |
349 TOGGLE_WIFI, | 334 TOGGLE_WIFI, |
350 TOUCH_HUD_CLEAR, | 335 TOUCH_HUD_CLEAR, |
351 VOLUME_DOWN, | 336 VOLUME_DOWN, |
352 VOLUME_MUTE, | 337 VOLUME_MUTE, |
353 VOLUME_UP, | 338 VOLUME_UP, |
354 #endif | 339 #endif |
355 #if defined(OS_CHROMEOS) && !defined(NDEBUG) | 340 #if defined(OS_CHROMEOS) && !defined(NDEBUG) |
356 POWER_PRESSED, | 341 POWER_PRESSED, |
357 POWER_RELEASED, | 342 POWER_RELEASED, |
358 #endif // defined(OS_CHROMEOS) | 343 #endif // defined(OS_CHROMEOS) |
359 }; | 344 }; |
360 | 345 |
361 const size_t kActionsAllowedAtLoginOrLockScreenLength = | 346 const size_t kActionsAllowedAtLoginOrLockScreenLength = |
362 arraysize(kActionsAllowedAtLoginOrLockScreen); | 347 arraysize(kActionsAllowedAtLoginOrLockScreen); |
363 | 348 |
364 const AcceleratorAction kActionsAllowedAtLockScreen[] = { | 349 const AcceleratorAction kActionsAllowedAtLockScreen[] = { |
365 EXIT, | 350 EXIT, |
366 #if defined(OS_CHROMEOS) | 351 #if defined(OS_CHROMEOS) |
367 SUSPEND, | 352 SUSPEND, |
368 #endif // defined(OS_CHROMEOS) | 353 #endif // defined(OS_CHROMEOS) |
369 }; | 354 }; |
370 | 355 |
371 const size_t kActionsAllowedAtLockScreenLength = | 356 const size_t kActionsAllowedAtLockScreenLength = |
372 arraysize(kActionsAllowedAtLockScreen); | 357 arraysize(kActionsAllowedAtLockScreen); |
373 | 358 |
374 const AcceleratorAction kActionsAllowedAtModalWindow[] = { | 359 const AcceleratorAction kActionsAllowedAtModalWindow[] = { |
375 EXIT, | 360 EXIT, |
376 MAGNIFY_SCREEN_ZOOM_IN, | 361 MAGNIFY_SCREEN_ZOOM_IN, |
377 MAGNIFY_SCREEN_ZOOM_OUT, | 362 MAGNIFY_SCREEN_ZOOM_OUT, |
378 MEDIA_NEXT_TRACK, | 363 MEDIA_NEXT_TRACK, |
379 MEDIA_PLAY_PAUSE, | 364 MEDIA_PLAY_PAUSE, |
380 MEDIA_PREV_TRACK, | 365 MEDIA_PREV_TRACK, |
381 NEXT_IME, | 366 NEXT_IME, |
382 OPEN_FEEDBACK_PAGE, | 367 OPEN_FEEDBACK_PAGE, |
383 PREVIOUS_IME, | 368 PREVIOUS_IME, |
384 PRINT_UI_HIERARCHIES, | 369 PRINT_UI_HIERARCHIES, |
385 ROTATE_SCREEN, | 370 ROTATE_SCREEN, |
386 SCALE_UI_UP, | 371 SCALE_UI_UP, |
387 SCALE_UI_DOWN, | 372 SCALE_UI_DOWN, |
388 SCALE_UI_RESET, | 373 SCALE_UI_RESET, |
389 SHOW_KEYBOARD_OVERLAY, | 374 SHOW_KEYBOARD_OVERLAY, |
390 SWITCH_IME, | 375 SWITCH_IME, |
391 TAKE_WINDOW_SCREENSHOT, | 376 TAKE_WINDOW_SCREENSHOT, |
392 TAKE_PARTIAL_SCREENSHOT, | 377 TAKE_PARTIAL_SCREENSHOT, |
393 TAKE_SCREENSHOT, | 378 TAKE_SCREENSHOT, |
394 #if defined(OS_CHROMEOS) | 379 #if defined(OS_CHROMEOS) |
395 BRIGHTNESS_DOWN, | 380 BRIGHTNESS_DOWN, |
396 BRIGHTNESS_UP, | 381 BRIGHTNESS_UP, |
397 DEBUG_ADD_REMOVE_DISPLAY, | 382 DEBUG_ADD_REMOVE_DISPLAY, |
398 DEBUG_TOGGLE_TOUCH_PAD, | 383 DEBUG_TOGGLE_TOUCH_PAD, |
399 DEBUG_TOGGLE_TOUCH_SCREEN, | 384 DEBUG_TOGGLE_TOUCH_SCREEN, |
400 DISABLE_CAPS_LOCK, | 385 DISABLE_CAPS_LOCK, |
401 KEYBOARD_BRIGHTNESS_DOWN, | 386 KEYBOARD_BRIGHTNESS_DOWN, |
402 KEYBOARD_BRIGHTNESS_UP, | 387 KEYBOARD_BRIGHTNESS_UP, |
403 LOCK_SCREEN, | 388 LOCK_SCREEN, |
404 POWER_PRESSED, | 389 POWER_PRESSED, |
405 POWER_RELEASED, | 390 POWER_RELEASED, |
406 SUSPEND, | 391 SUSPEND, |
407 SWAP_PRIMARY_DISPLAY, | 392 SWAP_PRIMARY_DISPLAY, |
408 TOGGLE_CAPS_LOCK, | 393 TOGGLE_CAPS_LOCK, |
409 TOGGLE_MIRROR_MODE, | 394 TOGGLE_MIRROR_MODE, |
410 TOGGLE_SPOKEN_FEEDBACK, | 395 TOGGLE_SPOKEN_FEEDBACK, |
411 TOGGLE_WIFI, | 396 TOGGLE_WIFI, |
412 VOLUME_DOWN, | 397 VOLUME_DOWN, |
413 VOLUME_MUTE, | 398 VOLUME_MUTE, |
414 VOLUME_UP, | 399 VOLUME_UP, |
415 #endif | 400 #endif |
416 }; | 401 }; |
417 | 402 |
418 const size_t kActionsAllowedAtModalWindowLength = | 403 const size_t kActionsAllowedAtModalWindowLength = |
419 arraysize(kActionsAllowedAtModalWindow); | 404 arraysize(kActionsAllowedAtModalWindow); |
420 | 405 |
421 const AcceleratorAction kNonrepeatableActions[] = { | 406 const AcceleratorAction kNonrepeatableActions[] = { |
422 // TODO(mazda): Add other actions which should not be repeated. | 407 // TODO(mazda): Add other actions which should not be repeated. |
423 CYCLE_BACKWARD_MRU, | 408 CYCLE_BACKWARD_MRU, |
424 CYCLE_FORWARD_MRU, | 409 CYCLE_FORWARD_MRU, |
(...skipping 15 matching lines...) Expand all Loading... |
440 TOGGLE_OVERVIEW, | 425 TOGGLE_OVERVIEW, |
441 WINDOW_MINIMIZE, | 426 WINDOW_MINIMIZE, |
442 #if defined(OS_CHROMEOS) | 427 #if defined(OS_CHROMEOS) |
443 DEBUG_TOGGLE_TOUCH_PAD, | 428 DEBUG_TOGGLE_TOUCH_PAD, |
444 DEBUG_TOGGLE_TOUCH_SCREEN, | 429 DEBUG_TOGGLE_TOUCH_SCREEN, |
445 LOCK_SCREEN, | 430 LOCK_SCREEN, |
446 SUSPEND, | 431 SUSPEND, |
447 #endif | 432 #endif |
448 }; | 433 }; |
449 | 434 |
450 const size_t kNonrepeatableActionsLength = | 435 const size_t kNonrepeatableActionsLength = arraysize(kNonrepeatableActions); |
451 arraysize(kNonrepeatableActions); | |
452 | 436 |
453 const AcceleratorAction kActionsAllowedInAppModeOrPinnedMode[] = { | 437 const AcceleratorAction kActionsAllowedInAppModeOrPinnedMode[] = { |
454 DEBUG_PRINT_LAYER_HIERARCHY, | 438 DEBUG_PRINT_LAYER_HIERARCHY, |
455 DEBUG_PRINT_VIEW_HIERARCHY, | 439 DEBUG_PRINT_VIEW_HIERARCHY, |
456 DEBUG_PRINT_WINDOW_HIERARCHY, | 440 DEBUG_PRINT_WINDOW_HIERARCHY, |
457 MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 | 441 MAGNIFY_SCREEN_ZOOM_IN, // Control+F7 |
458 MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 | 442 MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6 |
459 MEDIA_NEXT_TRACK, | 443 MEDIA_NEXT_TRACK, |
460 MEDIA_PLAY_PAUSE, | 444 MEDIA_PLAY_PAUSE, |
461 MEDIA_PREV_TRACK, | 445 MEDIA_PREV_TRACK, |
462 NEXT_IME, | 446 NEXT_IME, |
463 PREVIOUS_IME, | 447 PREVIOUS_IME, |
464 PRINT_UI_HIERARCHIES, | 448 PRINT_UI_HIERARCHIES, |
465 ROTATE_SCREEN, | 449 ROTATE_SCREEN, |
466 SCALE_UI_DOWN, | 450 SCALE_UI_DOWN, |
467 SCALE_UI_RESET, | 451 SCALE_UI_RESET, |
468 SCALE_UI_UP, | 452 SCALE_UI_UP, |
469 SWITCH_IME, // Switch to another IME depending on the accelerator. | 453 SWITCH_IME, // Switch to another IME depending on the accelerator. |
470 #if defined(OS_CHROMEOS) | 454 #if defined(OS_CHROMEOS) |
471 BRIGHTNESS_DOWN, | 455 BRIGHTNESS_DOWN, |
472 BRIGHTNESS_UP, | 456 BRIGHTNESS_UP, |
473 DEBUG_ADD_REMOVE_DISPLAY, | 457 DEBUG_ADD_REMOVE_DISPLAY, |
474 DEBUG_TOGGLE_TOUCH_PAD, | 458 DEBUG_TOGGLE_TOUCH_PAD, |
475 DEBUG_TOGGLE_TOUCH_SCREEN, | 459 DEBUG_TOGGLE_TOUCH_SCREEN, |
476 DISABLE_CAPS_LOCK, | 460 DISABLE_CAPS_LOCK, |
477 DISABLE_GPU_WATCHDOG, | 461 DISABLE_GPU_WATCHDOG, |
478 KEYBOARD_BRIGHTNESS_DOWN, | 462 KEYBOARD_BRIGHTNESS_DOWN, |
479 KEYBOARD_BRIGHTNESS_UP, | 463 KEYBOARD_BRIGHTNESS_UP, |
480 POWER_PRESSED, | 464 POWER_PRESSED, |
481 POWER_RELEASED, | 465 POWER_RELEASED, |
482 SWAP_PRIMARY_DISPLAY, | 466 SWAP_PRIMARY_DISPLAY, |
483 TOGGLE_CAPS_LOCK, | 467 TOGGLE_CAPS_LOCK, |
484 TOGGLE_MIRROR_MODE, | 468 TOGGLE_MIRROR_MODE, |
485 TOGGLE_SPOKEN_FEEDBACK, | 469 TOGGLE_SPOKEN_FEEDBACK, |
486 TOGGLE_WIFI, | 470 TOGGLE_WIFI, |
487 TOUCH_HUD_CLEAR, | 471 TOUCH_HUD_CLEAR, |
488 VOLUME_DOWN, | 472 VOLUME_DOWN, |
489 VOLUME_MUTE, | 473 VOLUME_MUTE, |
490 VOLUME_UP, | 474 VOLUME_UP, |
491 #endif // defined(OS_CHROMEOS) | 475 #endif // defined(OS_CHROMEOS) |
492 }; | 476 }; |
493 | 477 |
494 const size_t kActionsAllowedInAppModeOrPinnedModeLength = | 478 const size_t kActionsAllowedInAppModeOrPinnedModeLength = |
495 arraysize(kActionsAllowedInAppModeOrPinnedMode); | 479 arraysize(kActionsAllowedInAppModeOrPinnedMode); |
496 | 480 |
497 const AcceleratorAction kActionsAllowedInPinnedMode[] = { | 481 const AcceleratorAction kActionsAllowedInPinnedMode[] = { |
498 TAKE_WINDOW_SCREENSHOT, | 482 TAKE_WINDOW_SCREENSHOT, |
499 TAKE_PARTIAL_SCREENSHOT, | 483 TAKE_PARTIAL_SCREENSHOT, |
500 TAKE_SCREENSHOT, | 484 TAKE_SCREENSHOT, |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
547 TOGGLE_WIFI, | 531 TOGGLE_WIFI, |
548 VOLUME_DOWN, | 532 VOLUME_DOWN, |
549 VOLUME_MUTE, | 533 VOLUME_MUTE, |
550 VOLUME_UP, | 534 VOLUME_UP, |
551 #endif // defined(OS_CHROMEOS) | 535 #endif // defined(OS_CHROMEOS) |
552 }; | 536 }; |
553 | 537 |
554 const size_t kActionsKeepingMenuOpenLength = arraysize(kActionsKeepingMenuOpen); | 538 const size_t kActionsKeepingMenuOpenLength = arraysize(kActionsKeepingMenuOpen); |
555 | 539 |
556 } // namespace ash | 540 } // namespace ash |
OLD | NEW |