Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(189)

Side by Side Diff: ash/accelerators/accelerator_table.cc

Issue 2166793005: Moves accelerator code using common types to ash/common (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@debug_commands
Patch Set: not relative Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ash/accelerators/accelerator_table.h ('k') | ash/accelerators/accelerator_table_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "ash/accelerators/accelerator_table.h"
6
7 #include "ash/common/strings/grit/ash_strings.h"
8 #include "base/macros.h"
9
10 namespace ash {
11
12 const int kDebugModifier =
13 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN;
14
15 const AcceleratorData kAcceleratorData[] = {
16 {true, 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.
19 {true, ui::VKEY_CONVERT, 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},
22 {true, ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE, SWITCH_IME},
23 // Shortcut for Koren IME.
24 {true, ui::VKEY_HANGUL, ui::EF_NONE, SWITCH_IME},
25
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,
28 CYCLE_BACKWARD_MRU},
29 {true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE, TOGGLE_OVERVIEW},
30 #if defined(OS_CHROMEOS)
31 {true, ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, TOGGLE_APP_LIST},
32 {true, ui::VKEY_WLAN, ui::EF_NONE, TOGGLE_WIFI},
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},
35 // Maximize button.
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},
38 // Cycle windows button.
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,
41 TAKE_PARTIAL_SCREENSHOT},
42 {true, ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_ALT_DOWN | ui::EF_CONTROL_DOWN,
43 TAKE_WINDOW_SCREENSHOT},
44 {true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE, 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},
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,
49 MAGNIFY_SCREEN_ZOOM_OUT},
50 {true, ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
51 MAGNIFY_SCREEN_ZOOM_IN},
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},
54 // The lock key on Chrome OS keyboards produces F13 scancodes.
55 {true, ui::VKEY_F13, ui::EF_NONE, LOCK_PRESSED},
56 {false, ui::VKEY_F13, ui::EF_NONE, LOCK_RELEASED},
57 // Generic keyboards can use VKEY_SLEEP to mimic ChromeOS keyboard's lock
58 // key.
59 {true, ui::VKEY_SLEEP, ui::EF_NONE, LOCK_PRESSED},
60 {false, ui::VKEY_SLEEP, ui::EF_NONE, LOCK_RELEASED},
61 {true, ui::VKEY_POWER, ui::EF_NONE, POWER_PRESSED},
62 {false, ui::VKEY_POWER, ui::EF_NONE, POWER_RELEASED},
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},
65 {true, ui::VKEY_OEM_2, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
66 OPEN_GET_HELP},
67 {true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, OPEN_CROSH},
68 {true, ui::VKEY_G,
69 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
70 DISABLE_GPU_WATCHDOG},
71 {true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
72 TOUCH_HUD_MODE_CHANGE},
73 {true, ui::VKEY_I,
74 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN,
75 TOUCH_HUD_CLEAR},
76 {true, ui::VKEY_P, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
77 TOUCH_HUD_PROJECTION_TOGGLE},
78 // Accessibility: Spoken feedback shortcuts. The first one is to toggle
79 // spoken feedback on or off. The others are only valid when
80 // spoken feedback is enabled.
81 {true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
82 TOGGLE_SPOKEN_FEEDBACK},
83 {true, ui::VKEY_OEM_COMMA, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
84 SWITCH_TO_PREVIOUS_USER},
85 {true, ui::VKEY_OEM_PERIOD, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
86 SWITCH_TO_NEXT_USER},
87 // Single shift release turns off caps lock.
88 {false, ui::VKEY_LSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK},
89 {false, ui::VKEY_SHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK},
90 {false, ui::VKEY_RSHIFT, ui::EF_NONE, DISABLE_CAPS_LOCK},
91 {false, ui::VKEY_LWIN, ui::EF_ALT_DOWN, TOGGLE_CAPS_LOCK},
92 {true, ui::VKEY_VOLUME_MUTE, ui::EF_NONE, VOLUME_MUTE},
93 {true, ui::VKEY_VOLUME_DOWN, ui::EF_NONE, VOLUME_DOWN},
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},
97 #else
98 // This key has been deprecated on CrOS. It is instead included below in the
99 // |kDeprecatedAccelerators|, and above in the CrOS accelerators as
100 // Search+Esc.
101 {true, ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, SHOW_TASK_MANAGER},
102 #endif // defined(OS_CHROMEOS)
103 {true, ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FEEDBACK_PAGE},
104 #if !defined(OS_WIN)
105 {true, ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, EXIT},
106 #endif
107 {true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
108 NEW_INCOGNITO_WINDOW},
109 {true, ui::VKEY_N, ui::EF_CONTROL_DOWN, NEW_WINDOW},
110 {true, ui::VKEY_T, ui::EF_CONTROL_DOWN, NEW_TAB},
111 {true, ui::VKEY_OEM_MINUS, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN,
112 SCALE_UI_UP},
113 {true, ui::VKEY_OEM_PLUS, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN,
114 SCALE_UI_DOWN},
115 {true, ui::VKEY_0, 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,
117 ROTATE_SCREEN},
118 {true, ui::VKEY_BROWSER_REFRESH,
119 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ROTATE_WINDOW},
120 {true, ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, RESTORE_TAB},
121 {true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT},
122 // On Chrome OS, Search key is mapped to LWIN. The Search key binding should
123 // act on release instead of press when using Search as a modifier key for
124 // extended keyboard shortcuts.
125 {false, ui::VKEY_LWIN, ui::EF_NONE, TOGGLE_APP_LIST},
126 {true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_NONE, TOGGLE_FULLSCREEN},
127 {true, ui::VKEY_MEDIA_LAUNCH_APP2, ui::EF_SHIFT_DOWN, TOGGLE_FULLSCREEN},
128 {true, ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN, UNPIN},
129 {true, ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, FOCUS_SHELF},
130 {true, ui::VKEY_HELP, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY},
131 {true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
132 SHOW_KEYBOARD_OVERLAY},
133 {true, ui::VKEY_OEM_2,
134 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
135 SHOW_KEYBOARD_OVERLAY},
136 {true, ui::VKEY_F14, ui::EF_NONE, SHOW_KEYBOARD_OVERLAY},
137 {true, ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN,
138 SHOW_MESSAGE_CENTER_BUBBLE},
139 {true, ui::VKEY_S, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN,
140 SHOW_SYSTEM_TRAY_BUBBLE},
141 {true, ui::VKEY_1, ui::EF_ALT_DOWN, LAUNCH_APP_0},
142 {true, ui::VKEY_2, ui::EF_ALT_DOWN, LAUNCH_APP_1},
143 {true, ui::VKEY_3, ui::EF_ALT_DOWN, LAUNCH_APP_2},
144 {true, ui::VKEY_4, ui::EF_ALT_DOWN, LAUNCH_APP_3},
145 {true, ui::VKEY_5, ui::EF_ALT_DOWN, LAUNCH_APP_4},
146 {true, ui::VKEY_6, ui::EF_ALT_DOWN, LAUNCH_APP_5},
147 {true, ui::VKEY_7, ui::EF_ALT_DOWN, LAUNCH_APP_6},
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
151 // Window management shortcuts.
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},
154 {true, ui::VKEY_OEM_MINUS, ui::EF_ALT_DOWN, WINDOW_MINIMIZE},
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,
157 WINDOW_POSITION_CENTER},
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},
160
161 // Media Player shortcuts.
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},
164 {true, ui::VKEY_MEDIA_PREV_TRACK, ui::EF_NONE, MEDIA_PREV_TRACK},
165
166 // Debugging shortcuts that need to be available to end-users in
167 // release builds.
168 {true, ui::VKEY_U, kDebugModifier, PRINT_UI_HIERARCHIES},
169
170 // TODO(yusukes): Handle VKEY_MEDIA_STOP, and
171 // VKEY_MEDIA_LAUNCH_MAIL.
172 };
173
174 const size_t kAcceleratorDataLength = arraysize(kAcceleratorData);
175
176 // Instructions for how to deprecate and replace an Accelerator:
177 //
178 // 1- Replace the old deprecated accelerator from the above list with the new
179 // accelerator that will take its place.
180 // 2- Add an entry for it in the following |kDeprecatedAccelerators| list.
181 // 3- Add another entry in the |kDeprecatedAcceleratorsData|.
182 // 4- That entry should contain the following:
183 // - The action that the deprecated accelerator maps to.
184 // - Define a histogram for this action in |histograms.xml| in the form
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
187 // notification to be shown to the user. This is to prevent duplication of
188 // same notification.
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|.
191 // Search for the comment <!-- Deprecated Accelerators Messages -->).
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|.
194 // - {true or false} whether the deprecated accelerator is still enabled (we
195 // don't disable a deprecated accelerator abruptly).
196 // 5- Don't forget to update the keyboard overlay. Find 'shortcut' in the file
197 // keyboard_overlay_data.js.
198 #if defined(OS_CHROMEOS)
199
200 const AcceleratorData kDeprecatedAccelerators[] = {
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},
203 {false, ui::VKEY_LMENU, 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},
206 {false, ui::VKEY_LSHIFT, 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},
209 };
210
211 const size_t kDeprecatedAcceleratorsLength = arraysize(kDeprecatedAccelerators);
212
213 const DeprecatedAcceleratorData kDeprecatedAcceleratorsData[] = {
214 {LOCK_SCREEN, "Ash.Accelerators.Deprecated.LockScreen",
215 IDS_DEPRECATED_LOCK_SCREEN_MSG, IDS_SHORTCUT_LOCK_SCREEN_OLD,
216 IDS_SHORTCUT_LOCK_SCREEN_NEW, true},
217 {SHOW_TASK_MANAGER, "Ash.Accelerators.Deprecated.ShowTaskManager",
218 IDS_DEPRECATED_SHOW_TASK_MANAGER_MSG, IDS_SHORTCUT_TASK_MANAGER_OLD,
219 IDS_SHORTCUT_TASK_MANAGER_NEW, true},
220 {
221 NEXT_IME, "Ash.Accelerators.Deprecated.NextIME",
222 IDS_DEPRECATED_NEXT_IME_MSG, IDS_SHORTCUT_NEXT_IME_OLD,
223 IDS_SHORTCUT_NEXT_IME_NEW,
224 false // Old accelerator has been disabled.
225 }};
226
227 const size_t kDeprecatedAcceleratorsDataLength =
228 arraysize(kDeprecatedAcceleratorsData);
229
230 #endif // defined(OS_CHROMEOS)
231
232 const AcceleratorData kDebugAcceleratorData[] = {
233 #if defined(OS_CHROMEOS)
234 // Extra shortcut for debug build to control magnifier on linux desktop.
235 {true, ui::VKEY_BRIGHTNESS_DOWN, ui::EF_CONTROL_DOWN,
236 MAGNIFY_SCREEN_ZOOM_OUT},
237 {true, ui::VKEY_BRIGHTNESS_UP, ui::EF_CONTROL_DOWN, MAGNIFY_SCREEN_ZOOM_IN},
238 // Extra shortcuts to lock the screen on linux desktop.
239 {true, ui::VKEY_L, ui::EF_ALT_DOWN, LOCK_PRESSED},
240 {false, ui::VKEY_L, ui::EF_ALT_DOWN, LOCK_RELEASED},
241 {true, ui::VKEY_P, ui::EF_ALT_DOWN, POWER_PRESSED},
242 {false, ui::VKEY_P, ui::EF_ALT_DOWN, POWER_RELEASED},
243 {true, ui::VKEY_POWER, ui::EF_SHIFT_DOWN, LOCK_PRESSED},
244 {false, ui::VKEY_POWER, ui::EF_SHIFT_DOWN, LOCK_RELEASED},
245 {true, ui::VKEY_D, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN,
246 DEBUG_ADD_REMOVE_DISPLAY},
247 {true, ui::VKEY_O, kDebugModifier, DEBUG_SHOW_TOAST},
248 {true, ui::VKEY_J, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN,
249 DEBUG_TOGGLE_UNIFIED_DESKTOP},
250 {true, ui::VKEY_M, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN,
251 TOGGLE_MIRROR_MODE},
252 {true, ui::VKEY_P, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN,
253 DEBUG_TOGGLE_TOUCH_PAD},
254 {true, ui::VKEY_T, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN,
255 DEBUG_TOGGLE_TOUCH_SCREEN},
256 {true, ui::VKEY_T, kDebugModifier, DEBUG_TOGGLE_TOUCH_VIEW},
257 {true, ui::VKEY_W, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, TOGGLE_WIFI},
258 // Extra shortcut for display swapping as alt-f4 is taken on linux desktop.
259 {true, ui::VKEY_S, kDebugModifier, SWAP_PRIMARY_DISPLAY},
260 #endif
261 // Extra shortcut to rotate/scale up/down the screen on linux desktop.
262 {true, ui::VKEY_R,
263 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ROTATE_SCREEN},
264 // For testing on systems where Alt-Tab is already mapped.
265 {true, ui::VKEY_W, ui::EF_ALT_DOWN, CYCLE_FORWARD_MRU},
266 {true, ui::VKEY_F11, ui::EF_CONTROL_DOWN,
267 DEBUG_TOGGLE_ROOT_WINDOW_FULL_SCREEN},
268 {true, ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, CYCLE_BACKWARD_MRU},
269 {true, ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
270 DEBUG_TOGGLE_DESKTOP_BACKGROUND_MODE},
271 {true, ui::VKEY_F, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
272 TOGGLE_FULLSCREEN},
273 {true, ui::VKEY_L, kDebugModifier, DEBUG_PRINT_LAYER_HIERARCHY},
274 {true, ui::VKEY_V, kDebugModifier, DEBUG_PRINT_VIEW_HIERARCHY},
275 {true, ui::VKEY_W, kDebugModifier, DEBUG_PRINT_WINDOW_HIERARCHY},
276 {true, ui::VKEY_D, kDebugModifier, DEBUG_TOGGLE_DEVICE_SCALE_FACTOR},
277 {true, ui::VKEY_B, kDebugModifier, DEBUG_TOGGLE_SHOW_DEBUG_BORDERS},
278 {true, ui::VKEY_F, kDebugModifier, DEBUG_TOGGLE_SHOW_FPS_COUNTER},
279 {true, ui::VKEY_P, kDebugModifier, DEBUG_TOGGLE_SHOW_PAINT_RECTS},
280 };
281
282 const size_t kDebugAcceleratorDataLength = arraysize(kDebugAcceleratorData);
283
284 const AcceleratorAction kPreferredActions[] = {
285 // Window cycling accelerators.
286 CYCLE_BACKWARD_MRU, // Shift+Alt+Tab
287 CYCLE_FORWARD_MRU, // Alt+Tab
288 };
289
290 const size_t kPreferredActionsLength = arraysize(kPreferredActions);
291
292 const AcceleratorAction kReservedActions[] = {
293 #if defined(OS_CHROMEOS)
294 POWER_PRESSED, POWER_RELEASED, SUSPEND,
295 #else
296 DUMMY_FOR_RESERVED,
297 #endif
298 };
299
300 const size_t kReservedActionsLength = arraysize(kReservedActions);
301
302 const AcceleratorAction kActionsAllowedAtLoginOrLockScreen[] = {
303 DEBUG_PRINT_LAYER_HIERARCHY,
304 DEBUG_PRINT_VIEW_HIERARCHY,
305 DEBUG_PRINT_WINDOW_HIERARCHY,
306 MAGNIFY_SCREEN_ZOOM_IN, // Control+F7
307 MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6
308 NEXT_IME,
309 PREVIOUS_IME,
310 PRINT_UI_HIERARCHIES,
311 ROTATE_SCREEN,
312 SCALE_UI_UP,
313 SCALE_UI_DOWN,
314 SCALE_UI_RESET,
315 SHOW_SYSTEM_TRAY_BUBBLE,
316 SWITCH_IME, // Switch to another IME depending on the accelerator.
317 TAKE_WINDOW_SCREENSHOT,
318 TAKE_PARTIAL_SCREENSHOT,
319 TAKE_SCREENSHOT,
320 #if defined(OS_CHROMEOS)
321 BRIGHTNESS_DOWN,
322 BRIGHTNESS_UP,
323 DEBUG_ADD_REMOVE_DISPLAY,
324 DEBUG_TOGGLE_TOUCH_PAD,
325 DEBUG_TOGGLE_TOUCH_SCREEN,
326 DEBUG_TOGGLE_TOUCH_VIEW,
327 DISABLE_CAPS_LOCK,
328 DISABLE_GPU_WATCHDOG,
329 KEYBOARD_BRIGHTNESS_DOWN,
330 KEYBOARD_BRIGHTNESS_UP,
331 TOGGLE_CAPS_LOCK,
332 TOGGLE_SPOKEN_FEEDBACK,
333 TOGGLE_MIRROR_MODE,
334 TOGGLE_WIFI,
335 TOUCH_HUD_CLEAR,
336 VOLUME_DOWN,
337 VOLUME_MUTE,
338 VOLUME_UP,
339 #endif
340 #if defined(OS_CHROMEOS) && !defined(NDEBUG)
341 POWER_PRESSED,
342 POWER_RELEASED,
343 #endif // defined(OS_CHROMEOS)
344 };
345
346 const size_t kActionsAllowedAtLoginOrLockScreenLength =
347 arraysize(kActionsAllowedAtLoginOrLockScreen);
348
349 const AcceleratorAction kActionsAllowedAtLockScreen[] = {
350 EXIT,
351 #if defined(OS_CHROMEOS)
352 SUSPEND,
353 #endif // defined(OS_CHROMEOS)
354 };
355
356 const size_t kActionsAllowedAtLockScreenLength =
357 arraysize(kActionsAllowedAtLockScreen);
358
359 const AcceleratorAction kActionsAllowedAtModalWindow[] = {
360 EXIT,
361 MAGNIFY_SCREEN_ZOOM_IN,
362 MAGNIFY_SCREEN_ZOOM_OUT,
363 MEDIA_NEXT_TRACK,
364 MEDIA_PLAY_PAUSE,
365 MEDIA_PREV_TRACK,
366 NEXT_IME,
367 OPEN_FEEDBACK_PAGE,
368 PREVIOUS_IME,
369 PRINT_UI_HIERARCHIES,
370 ROTATE_SCREEN,
371 SCALE_UI_UP,
372 SCALE_UI_DOWN,
373 SCALE_UI_RESET,
374 SHOW_KEYBOARD_OVERLAY,
375 SWITCH_IME,
376 TAKE_WINDOW_SCREENSHOT,
377 TAKE_PARTIAL_SCREENSHOT,
378 TAKE_SCREENSHOT,
379 #if defined(OS_CHROMEOS)
380 BRIGHTNESS_DOWN,
381 BRIGHTNESS_UP,
382 DEBUG_ADD_REMOVE_DISPLAY,
383 DEBUG_TOGGLE_TOUCH_PAD,
384 DEBUG_TOGGLE_TOUCH_SCREEN,
385 DISABLE_CAPS_LOCK,
386 KEYBOARD_BRIGHTNESS_DOWN,
387 KEYBOARD_BRIGHTNESS_UP,
388 LOCK_SCREEN,
389 POWER_PRESSED,
390 POWER_RELEASED,
391 SUSPEND,
392 SWAP_PRIMARY_DISPLAY,
393 TOGGLE_CAPS_LOCK,
394 TOGGLE_MIRROR_MODE,
395 TOGGLE_SPOKEN_FEEDBACK,
396 TOGGLE_WIFI,
397 VOLUME_DOWN,
398 VOLUME_MUTE,
399 VOLUME_UP,
400 #endif
401 };
402
403 const size_t kActionsAllowedAtModalWindowLength =
404 arraysize(kActionsAllowedAtModalWindow);
405
406 const AcceleratorAction kRepeatableActions[] = {
407 FOCUS_NEXT_PANE,
408 FOCUS_PREVIOUS_PANE,
409 MAGNIFY_SCREEN_ZOOM_IN,
410 MAGNIFY_SCREEN_ZOOM_OUT,
411 MEDIA_NEXT_TRACK,
412 MEDIA_PREV_TRACK,
413 RESTORE_TAB,
414 #if defined(OS_CHROMEOS)
415 BRIGHTNESS_DOWN,
416 BRIGHTNESS_UP,
417 KEYBOARD_BRIGHTNESS_DOWN,
418 KEYBOARD_BRIGHTNESS_UP,
419 VOLUME_DOWN,
420 VOLUME_UP,
421 #endif // defined(OS_CHROMEOS)
422 };
423
424 const size_t kRepeatableActionsLength = arraysize(kRepeatableActions);
425
426 const AcceleratorAction kActionsAllowedInAppModeOrPinnedMode[] = {
427 DEBUG_PRINT_LAYER_HIERARCHY,
428 DEBUG_PRINT_VIEW_HIERARCHY,
429 DEBUG_PRINT_WINDOW_HIERARCHY,
430 MAGNIFY_SCREEN_ZOOM_IN, // Control+F7
431 MAGNIFY_SCREEN_ZOOM_OUT, // Control+F6
432 MEDIA_NEXT_TRACK,
433 MEDIA_PLAY_PAUSE,
434 MEDIA_PREV_TRACK,
435 NEXT_IME,
436 PREVIOUS_IME,
437 PRINT_UI_HIERARCHIES,
438 ROTATE_SCREEN,
439 SCALE_UI_DOWN,
440 SCALE_UI_RESET,
441 SCALE_UI_UP,
442 SWITCH_IME, // Switch to another IME depending on the accelerator.
443 #if defined(OS_CHROMEOS)
444 BRIGHTNESS_DOWN,
445 BRIGHTNESS_UP,
446 DEBUG_ADD_REMOVE_DISPLAY,
447 DEBUG_TOGGLE_TOUCH_PAD,
448 DEBUG_TOGGLE_TOUCH_SCREEN,
449 DISABLE_CAPS_LOCK,
450 DISABLE_GPU_WATCHDOG,
451 KEYBOARD_BRIGHTNESS_DOWN,
452 KEYBOARD_BRIGHTNESS_UP,
453 POWER_PRESSED,
454 POWER_RELEASED,
455 SWAP_PRIMARY_DISPLAY,
456 TOGGLE_CAPS_LOCK,
457 TOGGLE_MIRROR_MODE,
458 TOGGLE_SPOKEN_FEEDBACK,
459 TOGGLE_WIFI,
460 TOUCH_HUD_CLEAR,
461 VOLUME_DOWN,
462 VOLUME_MUTE,
463 VOLUME_UP,
464 #endif // defined(OS_CHROMEOS)
465 };
466
467 const size_t kActionsAllowedInAppModeOrPinnedModeLength =
468 arraysize(kActionsAllowedInAppModeOrPinnedMode);
469
470 const AcceleratorAction kActionsAllowedInPinnedMode[] = {
471 TAKE_WINDOW_SCREENSHOT,
472 TAKE_PARTIAL_SCREENSHOT,
473 TAKE_SCREENSHOT,
474 UNPIN,
475 #if defined(OS_CHROMEOS)
476 LOCK_SCREEN,
477 SUSPEND,
478 #endif
479 };
480
481 const size_t kActionsAllowedInPinnedModeLength =
482 arraysize(kActionsAllowedInPinnedMode);
483
484 const AcceleratorAction kActionsNeedingWindow[] = {
485 CYCLE_BACKWARD_MRU,
486 CYCLE_FORWARD_MRU,
487 TOGGLE_OVERVIEW,
488 WINDOW_CYCLE_SNAP_DOCK_LEFT,
489 WINDOW_CYCLE_SNAP_DOCK_RIGHT,
490 WINDOW_MINIMIZE,
491 TOGGLE_FULLSCREEN,
492 TOGGLE_MAXIMIZED,
493 WINDOW_POSITION_CENTER,
494 ROTATE_WINDOW,
495 };
496
497 const size_t kActionsNeedingWindowLength = arraysize(kActionsNeedingWindow);
498
499 const AcceleratorAction kActionsKeepingMenuOpen[] = {
500 MEDIA_NEXT_TRACK,
501 MEDIA_PLAY_PAUSE,
502 MEDIA_PREV_TRACK,
503 NEXT_IME,
504 PREVIOUS_IME,
505 PRINT_UI_HIERARCHIES,
506 SWITCH_IME,
507 TAKE_WINDOW_SCREENSHOT,
508 TAKE_PARTIAL_SCREENSHOT,
509 TAKE_SCREENSHOT,
510 #if defined(OS_CHROMEOS)
511 BRIGHTNESS_DOWN,
512 BRIGHTNESS_UP,
513 DEBUG_TOGGLE_TOUCH_PAD,
514 DEBUG_TOGGLE_TOUCH_SCREEN,
515 DISABLE_CAPS_LOCK,
516 KEYBOARD_BRIGHTNESS_DOWN,
517 KEYBOARD_BRIGHTNESS_UP,
518 TOGGLE_CAPS_LOCK,
519 TOGGLE_SPOKEN_FEEDBACK,
520 TOGGLE_WIFI,
521 VOLUME_DOWN,
522 VOLUME_MUTE,
523 VOLUME_UP,
524 #endif // defined(OS_CHROMEOS)
525 };
526
527 const size_t kActionsKeepingMenuOpenLength = arraysize(kActionsKeepingMenuOpen);
528
529 } // namespace ash
OLDNEW
« no previous file with comments | « ash/accelerators/accelerator_table.h ('k') | ash/accelerators/accelerator_table_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698