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 "chrome/browser/ui/views/accelerator_table.h" | 5 #include "chrome/browser/ui/views/accelerator_table.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "chrome/app/chrome_command_ids.h" | 8 #include "chrome/app/chrome_command_ids.h" |
9 #include "ui/base/accelerators/accelerator.h" | 9 #include "ui/base/accelerators/accelerator.h" |
10 #include "ui/events/event_constants.h" | 10 #include "ui/events/event_constants.h" |
11 | 11 |
12 #if defined(USE_ASH) | 12 #if defined(USE_ASH) |
13 #include "ash/accelerators/accelerator_table.h" | 13 #include "ash/accelerators/accelerator_table.h" |
14 #endif | 14 #endif |
15 | 15 |
16 namespace chrome { | 16 namespace chrome { |
17 namespace { | 17 namespace { |
18 | 18 |
19 // NOTE: Keep this list in the same (mostly-alphabetical) order as | 19 // NOTE: Keep this list in the same (mostly-alphabetical) order as |
20 // the Windows accelerators in ../../app/chrome_dll.rc. | 20 // the Windows accelerators in ../../app/chrome_dll.rc. |
21 // Do not use Ctrl-Alt as a shortcut modifier, as it is used by i18n keyboards: | 21 // Do not use Ctrl-Alt as a shortcut modifier, as it is used by i18n keyboards: |
22 // http://blogs.msdn.com/b/oldnewthing/archive/2004/03/29/101121.aspx | 22 // http://blogs.msdn.com/b/oldnewthing/archive/2004/03/29/101121.aspx |
23 const AcceleratorMapping kAcceleratorMap[] = { | 23 const AcceleratorMapping kAcceleratorMap[] = { |
24 { ui::VKEY_LEFT, ui::EF_ALT_DOWN, IDC_BACK }, | 24 {ui::VKEY_LEFT, ui::EF_ALT_DOWN, IDC_BACK}, |
25 { ui::VKEY_BACK, ui::EF_NONE, IDC_BACK }, | 25 {ui::VKEY_BACK, ui::EF_NONE, IDC_BACK}, |
26 { ui::VKEY_D, ui::EF_CONTROL_DOWN, IDC_BOOKMARK_PAGE }, | 26 {ui::VKEY_D, ui::EF_CONTROL_DOWN, IDC_BOOKMARK_PAGE}, |
27 { ui::VKEY_D, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 27 {ui::VKEY_D, |
28 IDC_BOOKMARK_ALL_TABS }, | 28 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
29 { ui::VKEY_W, ui::EF_CONTROL_DOWN, IDC_CLOSE_TAB }, | 29 IDC_BOOKMARK_ALL_TABS}, |
30 { ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_CLOSE_WINDOW }, | 30 {ui::VKEY_W, ui::EF_CONTROL_DOWN, IDC_CLOSE_TAB}, |
31 { ui::VKEY_F, ui::EF_CONTROL_DOWN, IDC_FIND }, | 31 {ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_CLOSE_WINDOW}, |
32 { ui::VKEY_G, ui::EF_CONTROL_DOWN, IDC_FIND_NEXT }, | 32 {ui::VKEY_F, ui::EF_CONTROL_DOWN, IDC_FIND}, |
33 { ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_FIND_PREVIOUS }, | 33 {ui::VKEY_G, ui::EF_CONTROL_DOWN, IDC_FIND_NEXT}, |
34 { ui::VKEY_D, ui::EF_ALT_DOWN, IDC_FOCUS_LOCATION }, | 34 {ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_FIND_PREVIOUS}, |
35 { ui::VKEY_L, ui::EF_CONTROL_DOWN, IDC_FOCUS_LOCATION }, | 35 {ui::VKEY_D, ui::EF_ALT_DOWN, IDC_FOCUS_LOCATION}, |
36 { ui::VKEY_K, ui::EF_CONTROL_DOWN, IDC_FOCUS_SEARCH }, | 36 {ui::VKEY_L, ui::EF_CONTROL_DOWN, IDC_FOCUS_LOCATION}, |
37 { ui::VKEY_E, ui::EF_CONTROL_DOWN, IDC_FOCUS_SEARCH }, | 37 {ui::VKEY_K, ui::EF_CONTROL_DOWN, IDC_FOCUS_SEARCH}, |
38 { ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_TOOLBAR }, | 38 {ui::VKEY_E, ui::EF_CONTROL_DOWN, IDC_FOCUS_SEARCH}, |
39 { ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_BOOKMARKS }, | 39 {ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_TOOLBAR}, |
40 { ui::VKEY_A, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_INFOBARS }, | 40 {ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_BOOKMARKS}, |
41 { ui::VKEY_RIGHT, ui::EF_ALT_DOWN, IDC_FORWARD }, | 41 {ui::VKEY_A, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_INFOBARS}, |
42 { ui::VKEY_BACK, ui::EF_SHIFT_DOWN, IDC_FORWARD }, | 42 {ui::VKEY_RIGHT, ui::EF_ALT_DOWN, IDC_FORWARD}, |
43 { ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_DEV_TOOLS }, | 43 {ui::VKEY_BACK, ui::EF_SHIFT_DOWN, IDC_FORWARD}, |
44 { ui::VKEY_F12, ui::EF_NONE, IDC_DEV_TOOLS_TOGGLE }, | 44 {ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_DEV_TOOLS}, |
45 { ui::VKEY_J, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 45 {ui::VKEY_F12, ui::EF_NONE, IDC_DEV_TOOLS_TOGGLE}, |
46 IDC_DEV_TOOLS_CONSOLE }, | 46 {ui::VKEY_J, |
47 { ui::VKEY_C, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 47 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
48 IDC_DEV_TOOLS_INSPECT }, | 48 IDC_DEV_TOOLS_CONSOLE}, |
49 { ui::VKEY_O, ui::EF_CONTROL_DOWN, IDC_OPEN_FILE }, | 49 {ui::VKEY_C, |
50 { ui::VKEY_P, ui::EF_CONTROL_DOWN, IDC_PRINT}, | 50 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
51 #if !defined(DISABLE_BASIC_PRINTING) | 51 IDC_DEV_TOOLS_INSPECT}, |
52 { ui::VKEY_P, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_BASIC_PRINT}, | 52 {ui::VKEY_O, ui::EF_CONTROL_DOWN, IDC_OPEN_FILE}, |
53 #endif // !DISABLE_BASIC_PRINTING | 53 {ui::VKEY_P, ui::EF_CONTROL_DOWN, IDC_PRINT}, |
54 { ui::VKEY_R, ui::EF_CONTROL_DOWN, IDC_RELOAD }, | 54 #if defined(ENABLE_BASIC_PRINTING) |
55 { ui::VKEY_R, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 55 {ui::VKEY_P, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_BASIC_PRINT}, |
56 IDC_RELOAD_IGNORING_CACHE }, | 56 #endif // ENABLE_BASIC_PRINTING |
57 { ui::VKEY_HOME, ui::EF_ALT_DOWN, IDC_HOME }, | 57 {ui::VKEY_R, ui::EF_CONTROL_DOWN, IDC_RELOAD}, |
58 { ui::VKEY_S, ui::EF_CONTROL_DOWN, IDC_SAVE_PAGE }, | 58 {ui::VKEY_R, |
59 { ui::VKEY_9, ui::EF_CONTROL_DOWN, IDC_SELECT_LAST_TAB }, | 59 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
60 { ui::VKEY_NUMPAD9, ui::EF_CONTROL_DOWN, IDC_SELECT_LAST_TAB }, | 60 IDC_RELOAD_IGNORING_CACHE}, |
| 61 {ui::VKEY_HOME, ui::EF_ALT_DOWN, IDC_HOME}, |
| 62 {ui::VKEY_S, ui::EF_CONTROL_DOWN, IDC_SAVE_PAGE}, |
| 63 {ui::VKEY_9, ui::EF_CONTROL_DOWN, IDC_SELECT_LAST_TAB}, |
| 64 {ui::VKEY_NUMPAD9, ui::EF_CONTROL_DOWN, IDC_SELECT_LAST_TAB}, |
61 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) | 65 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
62 { ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB }, | 66 {ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, |
63 { ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB }, | 67 {ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, |
64 { ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT }, | 68 {ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT}, |
65 { ui::VKEY_PRIOR, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, | 69 {ui::VKEY_PRIOR, |
66 IDC_MOVE_TAB_PREVIOUS }, | 70 ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, |
| 71 IDC_MOVE_TAB_PREVIOUS}, |
67 #endif | 72 #endif |
68 { ui::VKEY_TAB, ui::EF_CONTROL_DOWN, IDC_SELECT_NEXT_TAB }, | 73 {ui::VKEY_TAB, ui::EF_CONTROL_DOWN, IDC_SELECT_NEXT_TAB}, |
69 { ui::VKEY_NEXT, ui::EF_CONTROL_DOWN, IDC_SELECT_NEXT_TAB }, | 74 {ui::VKEY_NEXT, ui::EF_CONTROL_DOWN, IDC_SELECT_NEXT_TAB}, |
70 { ui::VKEY_TAB, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 75 {ui::VKEY_TAB, |
71 IDC_SELECT_PREVIOUS_TAB }, | 76 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
72 { ui::VKEY_PRIOR, ui::EF_CONTROL_DOWN, IDC_SELECT_PREVIOUS_TAB }, | 77 IDC_SELECT_PREVIOUS_TAB}, |
73 { ui::VKEY_1, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_0 }, | 78 {ui::VKEY_PRIOR, ui::EF_CONTROL_DOWN, IDC_SELECT_PREVIOUS_TAB}, |
74 { ui::VKEY_NUMPAD1, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_0 }, | 79 {ui::VKEY_1, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_0}, |
75 { ui::VKEY_2, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_1 }, | 80 {ui::VKEY_NUMPAD1, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_0}, |
76 { ui::VKEY_NUMPAD2, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_1 }, | 81 {ui::VKEY_2, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_1}, |
77 { ui::VKEY_3, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_2 }, | 82 {ui::VKEY_NUMPAD2, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_1}, |
78 { ui::VKEY_NUMPAD3, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_2 }, | 83 {ui::VKEY_3, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_2}, |
79 { ui::VKEY_4, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_3 }, | 84 {ui::VKEY_NUMPAD3, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_2}, |
80 { ui::VKEY_NUMPAD4, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_3 }, | 85 {ui::VKEY_4, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_3}, |
81 { ui::VKEY_5, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_4 }, | 86 {ui::VKEY_NUMPAD4, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_3}, |
82 { ui::VKEY_NUMPAD5, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_4 }, | 87 {ui::VKEY_5, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_4}, |
83 { ui::VKEY_6, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_5 }, | 88 {ui::VKEY_NUMPAD5, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_4}, |
84 { ui::VKEY_NUMPAD6, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_5 }, | 89 {ui::VKEY_6, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_5}, |
85 { ui::VKEY_7, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_6 }, | 90 {ui::VKEY_NUMPAD6, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_5}, |
86 { ui::VKEY_NUMPAD7, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_6 }, | 91 {ui::VKEY_7, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_6}, |
87 { ui::VKEY_8, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_7 }, | 92 {ui::VKEY_NUMPAD7, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_6}, |
88 { ui::VKEY_NUMPAD8, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_7 }, | 93 {ui::VKEY_8, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_7}, |
| 94 {ui::VKEY_NUMPAD8, ui::EF_CONTROL_DOWN, IDC_SELECT_TAB_7}, |
89 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) | 95 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
90 { ui::VKEY_1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0 }, | 96 {ui::VKEY_1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0}, |
91 { ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0 }, | 97 {ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0}, |
92 { ui::VKEY_2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1 }, | 98 {ui::VKEY_2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1}, |
93 { ui::VKEY_NUMPAD2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1 }, | 99 {ui::VKEY_NUMPAD2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1}, |
94 { ui::VKEY_3, ui::EF_ALT_DOWN, IDC_SELECT_TAB_2 }, | 100 {ui::VKEY_3, ui::EF_ALT_DOWN, IDC_SELECT_TAB_2}, |
95 { ui::VKEY_NUMPAD3, ui::EF_ALT_DOWN, IDC_SELECT_TAB_2 }, | 101 {ui::VKEY_NUMPAD3, ui::EF_ALT_DOWN, IDC_SELECT_TAB_2}, |
96 { ui::VKEY_4, ui::EF_ALT_DOWN, IDC_SELECT_TAB_3 }, | 102 {ui::VKEY_4, ui::EF_ALT_DOWN, IDC_SELECT_TAB_3}, |
97 { ui::VKEY_NUMPAD4, ui::EF_ALT_DOWN, IDC_SELECT_TAB_3 }, | 103 {ui::VKEY_NUMPAD4, ui::EF_ALT_DOWN, IDC_SELECT_TAB_3}, |
98 { ui::VKEY_5, ui::EF_ALT_DOWN, IDC_SELECT_TAB_4 }, | 104 {ui::VKEY_5, ui::EF_ALT_DOWN, IDC_SELECT_TAB_4}, |
99 { ui::VKEY_NUMPAD5, ui::EF_ALT_DOWN, IDC_SELECT_TAB_4 }, | 105 {ui::VKEY_NUMPAD5, ui::EF_ALT_DOWN, IDC_SELECT_TAB_4}, |
100 { ui::VKEY_6, ui::EF_ALT_DOWN, IDC_SELECT_TAB_5 }, | 106 {ui::VKEY_6, ui::EF_ALT_DOWN, IDC_SELECT_TAB_5}, |
101 { ui::VKEY_NUMPAD6, ui::EF_ALT_DOWN, IDC_SELECT_TAB_5 }, | 107 {ui::VKEY_NUMPAD6, ui::EF_ALT_DOWN, IDC_SELECT_TAB_5}, |
102 { ui::VKEY_7, ui::EF_ALT_DOWN, IDC_SELECT_TAB_6 }, | 108 {ui::VKEY_7, ui::EF_ALT_DOWN, IDC_SELECT_TAB_6}, |
103 { ui::VKEY_NUMPAD7, ui::EF_ALT_DOWN, IDC_SELECT_TAB_6 }, | 109 {ui::VKEY_NUMPAD7, ui::EF_ALT_DOWN, IDC_SELECT_TAB_6}, |
104 { ui::VKEY_8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7 }, | 110 {ui::VKEY_8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7}, |
105 { ui::VKEY_NUMPAD8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7 }, | 111 {ui::VKEY_NUMPAD8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7}, |
106 { ui::VKEY_BROWSER_FAVORITES, ui::EF_NONE, IDC_SHOW_BOOKMARK_BAR }, | 112 {ui::VKEY_BROWSER_FAVORITES, ui::EF_NONE, IDC_SHOW_BOOKMARK_BAR}, |
107 #endif | 113 #endif |
108 { ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 114 {ui::VKEY_B, |
109 IDC_SHOW_BOOKMARK_BAR }, | 115 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
110 { ui::VKEY_O, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 116 IDC_SHOW_BOOKMARK_BAR}, |
111 IDC_SHOW_BOOKMARK_MANAGER }, | 117 {ui::VKEY_O, |
112 { ui::VKEY_J, ui::EF_CONTROL_DOWN, IDC_SHOW_DOWNLOADS }, | 118 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
113 { ui::VKEY_H, ui::EF_CONTROL_DOWN, IDC_SHOW_HISTORY }, | 119 IDC_SHOW_BOOKMARK_MANAGER}, |
114 { ui::VKEY_F, ui::EF_ALT_DOWN, IDC_SHOW_APP_MENU}, | 120 {ui::VKEY_J, ui::EF_CONTROL_DOWN, IDC_SHOW_DOWNLOADS}, |
115 { ui::VKEY_E, ui::EF_ALT_DOWN, IDC_SHOW_APP_MENU}, | 121 {ui::VKEY_H, ui::EF_CONTROL_DOWN, IDC_SHOW_HISTORY}, |
116 { ui::VKEY_ESCAPE, ui::EF_NONE, IDC_STOP }, | 122 {ui::VKEY_F, ui::EF_ALT_DOWN, IDC_SHOW_APP_MENU}, |
117 { ui::VKEY_OEM_PERIOD, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 123 {ui::VKEY_E, ui::EF_ALT_DOWN, IDC_SHOW_APP_MENU}, |
118 IDC_TOGGLE_SPEECH_INPUT }, | 124 {ui::VKEY_ESCAPE, ui::EF_NONE, IDC_STOP}, |
119 { ui::VKEY_U, ui::EF_CONTROL_DOWN, IDC_VIEW_SOURCE }, | 125 {ui::VKEY_OEM_PERIOD, |
120 { ui::VKEY_OEM_MINUS, ui::EF_CONTROL_DOWN, IDC_ZOOM_MINUS }, | 126 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
121 { ui::VKEY_SUBTRACT, ui::EF_CONTROL_DOWN, IDC_ZOOM_MINUS }, | 127 IDC_TOGGLE_SPEECH_INPUT}, |
122 { ui::VKEY_0, ui::EF_CONTROL_DOWN, IDC_ZOOM_NORMAL }, | 128 {ui::VKEY_U, ui::EF_CONTROL_DOWN, IDC_VIEW_SOURCE}, |
123 { ui::VKEY_NUMPAD0, ui::EF_CONTROL_DOWN, IDC_ZOOM_NORMAL }, | 129 {ui::VKEY_OEM_MINUS, ui::EF_CONTROL_DOWN, IDC_ZOOM_MINUS}, |
124 { ui::VKEY_OEM_PLUS, ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS }, | 130 {ui::VKEY_SUBTRACT, ui::EF_CONTROL_DOWN, IDC_ZOOM_MINUS}, |
125 { ui::VKEY_ADD, ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS }, | 131 {ui::VKEY_0, ui::EF_CONTROL_DOWN, IDC_ZOOM_NORMAL}, |
126 { ui::VKEY_F1, ui::EF_NONE, IDC_HELP_PAGE_VIA_KEYBOARD }, | 132 {ui::VKEY_NUMPAD0, ui::EF_CONTROL_DOWN, IDC_ZOOM_NORMAL}, |
127 { ui::VKEY_F3, ui::EF_NONE, IDC_FIND_NEXT }, | 133 {ui::VKEY_OEM_PLUS, ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS}, |
128 { ui::VKEY_F3, ui::EF_SHIFT_DOWN, IDC_FIND_PREVIOUS }, | 134 {ui::VKEY_ADD, ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS}, |
129 { ui::VKEY_F4, ui::EF_CONTROL_DOWN, IDC_CLOSE_TAB }, | 135 {ui::VKEY_F1, ui::EF_NONE, IDC_HELP_PAGE_VIA_KEYBOARD}, |
130 { ui::VKEY_F4, ui::EF_ALT_DOWN, IDC_CLOSE_WINDOW }, | 136 {ui::VKEY_F3, ui::EF_NONE, IDC_FIND_NEXT}, |
131 { ui::VKEY_F5, ui::EF_NONE, IDC_RELOAD }, | 137 {ui::VKEY_F3, ui::EF_SHIFT_DOWN, IDC_FIND_PREVIOUS}, |
132 { ui::VKEY_F5, ui::EF_CONTROL_DOWN, IDC_RELOAD_IGNORING_CACHE }, | 138 {ui::VKEY_F4, ui::EF_CONTROL_DOWN, IDC_CLOSE_TAB}, |
133 { ui::VKEY_F5, ui::EF_SHIFT_DOWN, IDC_RELOAD_IGNORING_CACHE }, | 139 {ui::VKEY_F4, ui::EF_ALT_DOWN, IDC_CLOSE_WINDOW}, |
134 { ui::VKEY_F6, ui::EF_NONE, IDC_FOCUS_NEXT_PANE }, | 140 {ui::VKEY_F5, ui::EF_NONE, IDC_RELOAD}, |
135 { ui::VKEY_F6, ui::EF_SHIFT_DOWN, IDC_FOCUS_PREVIOUS_PANE }, | 141 {ui::VKEY_F5, ui::EF_CONTROL_DOWN, IDC_RELOAD_IGNORING_CACHE}, |
136 { ui::VKEY_F10, ui::EF_NONE, IDC_FOCUS_MENU_BAR }, | 142 {ui::VKEY_F5, ui::EF_SHIFT_DOWN, IDC_RELOAD_IGNORING_CACHE}, |
137 { ui::VKEY_F11, ui::EF_NONE, IDC_FULLSCREEN }, | 143 {ui::VKEY_F6, ui::EF_NONE, IDC_FOCUS_NEXT_PANE}, |
138 { ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, IDC_TASK_MANAGER }, | 144 {ui::VKEY_F6, ui::EF_SHIFT_DOWN, IDC_FOCUS_PREVIOUS_PANE}, |
| 145 {ui::VKEY_F10, ui::EF_NONE, IDC_FOCUS_MENU_BAR}, |
| 146 {ui::VKEY_F11, ui::EF_NONE, IDC_FULLSCREEN}, |
| 147 {ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, IDC_TASK_MANAGER}, |
139 | 148 |
140 // Platform-specific key maps. | 149 // Platform-specific key maps. |
141 #if defined(OS_LINUX) | 150 #if defined(OS_LINUX) |
142 { ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK }, | 151 {ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK}, |
143 { ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD }, | 152 {ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD}, |
144 { ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME }, | 153 {ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME}, |
145 { ui::VKEY_BROWSER_REFRESH, ui::EF_NONE, IDC_RELOAD }, | 154 {ui::VKEY_BROWSER_REFRESH, ui::EF_NONE, IDC_RELOAD}, |
146 { ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN, IDC_RELOAD_IGNORING_CACHE }, | 155 {ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN, IDC_RELOAD_IGNORING_CACHE}, |
147 { ui::VKEY_BROWSER_REFRESH, ui::EF_SHIFT_DOWN, IDC_RELOAD_IGNORING_CACHE }, | 156 {ui::VKEY_BROWSER_REFRESH, ui::EF_SHIFT_DOWN, IDC_RELOAD_IGNORING_CACHE}, |
148 #endif // defined(OS_LINUX) | 157 #endif // defined(OS_LINUX) |
149 | 158 |
150 #if defined(OS_CHROMEOS) | 159 #if defined(OS_CHROMEOS) |
151 // On Chrome OS, VKEY_BROWSER_SEARCH is handled in Ash. | 160 // On Chrome OS, VKEY_BROWSER_SEARCH is handled in Ash. |
152 { ui::VKEY_BACK, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 161 {ui::VKEY_BACK, |
153 IDC_CLEAR_BROWSING_DATA }, | 162 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
154 { ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN, IDC_HELP_PAGE_VIA_KEYBOARD }, | 163 IDC_CLEAR_BROWSING_DATA}, |
155 { ui::VKEY_OEM_2, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 164 {ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN, IDC_HELP_PAGE_VIA_KEYBOARD}, |
156 IDC_HELP_PAGE_VIA_KEYBOARD }, | 165 {ui::VKEY_OEM_2, |
157 { ui::VKEY_BROWSER_FAVORITES, ui::EF_NONE, IDC_SHOW_BOOKMARK_MANAGER }, | 166 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
158 { ui::VKEY_BROWSER_STOP, ui::EF_NONE, IDC_STOP }, | 167 IDC_HELP_PAGE_VIA_KEYBOARD}, |
159 { ui::VKEY_P, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, | 168 {ui::VKEY_BROWSER_FAVORITES, ui::EF_NONE, IDC_SHOW_BOOKMARK_MANAGER}, |
160 IDC_TOUCH_HUD_PROJECTION_TOGGLE }, | 169 {ui::VKEY_BROWSER_STOP, ui::EF_NONE, IDC_STOP}, |
| 170 {ui::VKEY_P, |
| 171 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
| 172 IDC_TOUCH_HUD_PROJECTION_TOGGLE}, |
161 #else // OS_CHROMEOS | 173 #else // OS_CHROMEOS |
162 { ui::VKEY_DELETE, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 174 {ui::VKEY_DELETE, |
163 IDC_CLEAR_BROWSING_DATA }, | 175 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
164 { ui::VKEY_LMENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR }, | 176 IDC_CLEAR_BROWSING_DATA}, |
165 { ui::VKEY_MENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR }, | 177 {ui::VKEY_LMENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR}, |
166 { ui::VKEY_RMENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR }, | 178 {ui::VKEY_MENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR}, |
167 // On Windows, all VKEY_BROWSER_* keys except VKEY_BROWSER_SEARCH are handled | 179 {ui::VKEY_RMENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR}, |
168 // via WM_APPCOMMAND. | 180 // On Windows, all VKEY_BROWSER_* keys except VKEY_BROWSER_SEARCH are |
169 { ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, IDC_FOCUS_SEARCH }, | 181 // handled |
170 { ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_SHOW_AVATAR_MENU}, | 182 // via WM_APPCOMMAND. |
171 // On ChromeOS, these keys are assigned to change UI scale. | 183 {ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, IDC_FOCUS_SEARCH}, |
172 { ui::VKEY_OEM_PLUS, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS }, | 184 {ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_SHOW_AVATAR_MENU}, |
173 { ui::VKEY_OEM_MINUS, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 185 // On ChromeOS, these keys are assigned to change UI scale. |
174 IDC_ZOOM_MINUS }, | 186 {ui::VKEY_OEM_PLUS, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS}, |
| 187 {ui::VKEY_OEM_MINUS, |
| 188 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
| 189 IDC_ZOOM_MINUS}, |
175 // For each entry here add an entry into kChromeCmdId2AshActionId below | 190 // For each entry here add an entry into kChromeCmdId2AshActionId below |
176 // if Ash has a corresponding accelerator. | 191 // if Ash has a corresponding accelerator. |
177 #if defined(GOOGLE_CHROME_BUILD) | 192 #if defined(GOOGLE_CHROME_BUILD) |
178 { ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FEEDBACK }, | 193 {ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FEEDBACK}, |
179 #endif | 194 #endif |
180 { ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_EXIT }, | 195 {ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_EXIT}, |
181 { ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, | 196 {ui::VKEY_N, |
182 IDC_NEW_INCOGNITO_WINDOW }, | 197 ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
183 { ui::VKEY_T, ui::EF_CONTROL_DOWN, IDC_NEW_TAB }, | 198 IDC_NEW_INCOGNITO_WINDOW}, |
184 { ui::VKEY_N, ui::EF_CONTROL_DOWN, IDC_NEW_WINDOW }, | 199 {ui::VKEY_T, ui::EF_CONTROL_DOWN, IDC_NEW_TAB}, |
185 { ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_RESTORE_TAB }, | 200 {ui::VKEY_N, ui::EF_CONTROL_DOWN, IDC_NEW_WINDOW}, |
| 201 {ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_RESTORE_TAB}, |
186 #endif | 202 #endif |
187 }; | 203 }; |
188 const size_t kAcceleratorMapLength = arraysize(kAcceleratorMap); | 204 const size_t kAcceleratorMapLength = arraysize(kAcceleratorMap); |
189 | 205 |
190 #if defined(USE_ASH) | 206 #if defined(USE_ASH) |
191 // Below we map Chrome command ids to Ash action ids for commands that have | 207 // Below we map Chrome command ids to Ash action ids for commands that have |
192 // an shortcut that is handled by Ash (instead of Chrome). Adding entries | 208 // an shortcut that is handled by Ash (instead of Chrome). Adding entries |
193 // here will show shortcut text on menus. See comment above. | 209 // here will show shortcut text on menus. See comment above. |
194 struct ChromeCmdId2AshActionId { | 210 struct ChromeCmdId2AshActionId { |
195 const int chrome_cmd_id; | 211 const int chrome_cmd_id; |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 *accelerator = ui::Accelerator(ui::VKEY_C, ui::EF_CONTROL_DOWN); | 268 *accelerator = ui::Accelerator(ui::VKEY_C, ui::EF_CONTROL_DOWN); |
253 return true; | 269 return true; |
254 case IDC_PASTE: | 270 case IDC_PASTE: |
255 *accelerator = ui::Accelerator(ui::VKEY_V, ui::EF_CONTROL_DOWN); | 271 *accelerator = ui::Accelerator(ui::VKEY_V, ui::EF_CONTROL_DOWN); |
256 return true; | 272 return true; |
257 } | 273 } |
258 return false; | 274 return false; |
259 } | 275 } |
260 | 276 |
261 } // namespace chrome | 277 } // namespace chrome |
OLD | NEW |