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

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

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

Powered by Google App Engine
This is Rietveld 408576698