OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 <gdk/gdkkeysyms.h> | |
6 #include <X11/XF86keysym.h> | |
7 | |
8 #include "chrome/browser/views/accelerator_table_gtk.h" | 5 #include "chrome/browser/views/accelerator_table_gtk.h" |
9 | 6 |
10 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/keyboard_codes.h" |
11 #include "chrome/app/chrome_dll_resource.h" | 9 #include "chrome/app/chrome_dll_resource.h" |
12 | 10 |
13 namespace browser { | 11 namespace browser { |
14 | 12 |
15 const AcceleratorMapping kAcceleratorMap[] = { | 13 const AcceleratorMapping kAcceleratorMap[] = { |
16 // Focus. | 14 // Focus. |
17 { GDK_k, IDC_FOCUS_SEARCH, GDK_CONTROL_MASK }, | 15 { base::VKEY_K, false, true, false, IDC_FOCUS_SEARCH }, |
18 { GDK_e, IDC_FOCUS_SEARCH, GDK_CONTROL_MASK }, | 16 { base::VKEY_E, false, true, false, IDC_FOCUS_SEARCH }, |
19 { XF86XK_Search, IDC_FOCUS_SEARCH, GdkModifierType(0) }, | 17 { base::VKEY_BROWSER_SEARCH, false, false, false, IDC_FOCUS_SEARCH }, |
20 { GDK_l, IDC_FOCUS_LOCATION, GDK_CONTROL_MASK }, | 18 { base::VKEY_L, false, true, false, IDC_FOCUS_LOCATION }, |
21 { GDK_d, IDC_FOCUS_LOCATION, GDK_MOD1_MASK }, | 19 { base::VKEY_D, false, false, true, IDC_FOCUS_LOCATION }, |
22 { GDK_F6, IDC_FOCUS_LOCATION, GdkModifierType(0) }, | 20 { base::VKEY_F6, false, false, false, IDC_FOCUS_LOCATION }, |
23 { XF86XK_OpenURL, IDC_FOCUS_LOCATION, GdkModifierType(0) }, | |
24 { XF86XK_Go, IDC_FOCUS_LOCATION, GdkModifierType(0) }, | |
25 | 21 |
26 // Tab/window controls. | 22 // Tab/window controls. |
27 { GDK_t, IDC_NEW_TAB, GDK_CONTROL_MASK }, | 23 { base::VKEY_T, false, true, false, IDC_NEW_TAB }, |
28 { GDK_n, IDC_NEW_WINDOW, GDK_CONTROL_MASK }, | 24 { base::VKEY_N, false, true, false, IDC_NEW_WINDOW }, |
29 { GDK_n, IDC_NEW_INCOGNITO_WINDOW, | 25 { base::VKEY_N, true, true, false, IDC_NEW_INCOGNITO_WINDOW }, |
30 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, | 26 { base::VKEY_DOWN, false, true, false, IDC_SELECT_NEXT_TAB }, |
31 { GDK_Page_Down, IDC_SELECT_NEXT_TAB, GDK_CONTROL_MASK }, | 27 { base::VKEY_UP, false, true, false, IDC_SELECT_PREVIOUS_TAB }, |
32 { GDK_Page_Up, IDC_SELECT_PREVIOUS_TAB, GDK_CONTROL_MASK }, | 28 { base::VKEY_W, false, true, false, IDC_CLOSE_TAB }, |
33 { GDK_w, IDC_CLOSE_TAB, GDK_CONTROL_MASK }, | 29 { base::VKEY_T, true, true, false, IDC_RESTORE_TAB }, |
34 { GDK_t, IDC_RESTORE_TAB, | |
35 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, | |
36 | 30 |
37 { GDK_1, IDC_SELECT_TAB_0, GDK_CONTROL_MASK }, | 31 { base::VKEY_1, false, true, false, IDC_SELECT_TAB_0 }, |
38 { GDK_2, IDC_SELECT_TAB_1, GDK_CONTROL_MASK }, | 32 { base::VKEY_2, false, true, false, IDC_SELECT_TAB_1 }, |
39 { GDK_3, IDC_SELECT_TAB_2, GDK_CONTROL_MASK }, | 33 { base::VKEY_3, false, true, false, IDC_SELECT_TAB_2 }, |
40 { GDK_4, IDC_SELECT_TAB_3, GDK_CONTROL_MASK }, | 34 { base::VKEY_4, false, true, false, IDC_SELECT_TAB_3 }, |
41 { GDK_5, IDC_SELECT_TAB_4, GDK_CONTROL_MASK }, | 35 { base::VKEY_5, false, true, false, IDC_SELECT_TAB_4 }, |
42 { GDK_6, IDC_SELECT_TAB_5, GDK_CONTROL_MASK }, | 36 { base::VKEY_6, false, true, false, IDC_SELECT_TAB_5 }, |
43 { GDK_7, IDC_SELECT_TAB_6, GDK_CONTROL_MASK }, | 37 { base::VKEY_7, false, true, false, IDC_SELECT_TAB_6 }, |
44 { GDK_8, IDC_SELECT_TAB_7, GDK_CONTROL_MASK }, | 38 { base::VKEY_8, false, true, false, IDC_SELECT_TAB_7 }, |
45 { GDK_9, IDC_SELECT_LAST_TAB, GDK_CONTROL_MASK }, | 39 { base::VKEY_9, false, true, false, IDC_SELECT_LAST_TAB }, |
46 | 40 |
47 { GDK_1, IDC_SELECT_TAB_0, GDK_MOD1_MASK }, | 41 { base::VKEY_1, false, false, true, IDC_SELECT_TAB_0 }, |
48 { GDK_2, IDC_SELECT_TAB_1, GDK_MOD1_MASK }, | 42 { base::VKEY_2, false, false, true, IDC_SELECT_TAB_1 }, |
49 { GDK_3, IDC_SELECT_TAB_2, GDK_MOD1_MASK }, | 43 { base::VKEY_3, false, false, true, IDC_SELECT_TAB_2 }, |
50 { GDK_4, IDC_SELECT_TAB_3, GDK_MOD1_MASK }, | 44 { base::VKEY_4, false, false, true, IDC_SELECT_TAB_3 }, |
51 { GDK_5, IDC_SELECT_TAB_4, GDK_MOD1_MASK }, | 45 { base::VKEY_5, false, false, true, IDC_SELECT_TAB_4 }, |
52 { GDK_6, IDC_SELECT_TAB_5, GDK_MOD1_MASK }, | 46 { base::VKEY_6, false, false, true, IDC_SELECT_TAB_5 }, |
53 { GDK_7, IDC_SELECT_TAB_6, GDK_MOD1_MASK }, | 47 { base::VKEY_7, false, false, true, IDC_SELECT_TAB_6 }, |
54 { GDK_8, IDC_SELECT_TAB_7, GDK_MOD1_MASK }, | 48 { base::VKEY_8, false, false, true, IDC_SELECT_TAB_7 }, |
55 { GDK_9, IDC_SELECT_LAST_TAB, GDK_MOD1_MASK }, | 49 { base::VKEY_9, false, false, true, IDC_SELECT_LAST_TAB }, |
56 | 50 |
57 { GDK_KP_1, IDC_SELECT_TAB_0, GDK_CONTROL_MASK }, | 51 { base::VKEY_NUMPAD1, false, true, false, IDC_SELECT_TAB_0 }, |
58 { GDK_KP_2, IDC_SELECT_TAB_1, GDK_CONTROL_MASK }, | 52 { base::VKEY_NUMPAD2, false, true, false, IDC_SELECT_TAB_1 }, |
59 { GDK_KP_3, IDC_SELECT_TAB_2, GDK_CONTROL_MASK }, | 53 { base::VKEY_NUMPAD3, false, true, false, IDC_SELECT_TAB_2 }, |
60 { GDK_KP_4, IDC_SELECT_TAB_3, GDK_CONTROL_MASK }, | 54 { base::VKEY_NUMPAD4, false, true, false, IDC_SELECT_TAB_3 }, |
61 { GDK_KP_5, IDC_SELECT_TAB_4, GDK_CONTROL_MASK }, | 55 { base::VKEY_NUMPAD5, false, true, false, IDC_SELECT_TAB_4 }, |
62 { GDK_KP_6, IDC_SELECT_TAB_5, GDK_CONTROL_MASK }, | 56 { base::VKEY_NUMPAD6, false, true, false, IDC_SELECT_TAB_5 }, |
63 { GDK_KP_7, IDC_SELECT_TAB_6, GDK_CONTROL_MASK }, | 57 { base::VKEY_NUMPAD7, false, true, false, IDC_SELECT_TAB_6 }, |
64 { GDK_KP_8, IDC_SELECT_TAB_7, GDK_CONTROL_MASK }, | 58 { base::VKEY_NUMPAD8, false, true, false, IDC_SELECT_TAB_7 }, |
65 { GDK_KP_9, IDC_SELECT_LAST_TAB, GDK_CONTROL_MASK }, | 59 { base::VKEY_NUMPAD9, false, true, false, IDC_SELECT_LAST_TAB }, |
66 | 60 |
67 { GDK_KP_1, IDC_SELECT_TAB_0, GDK_MOD1_MASK }, | 61 { base::VKEY_NUMPAD1, false, false, true, IDC_SELECT_TAB_0 }, |
68 { GDK_KP_2, IDC_SELECT_TAB_1, GDK_MOD1_MASK }, | 62 { base::VKEY_NUMPAD2, false, false, true, IDC_SELECT_TAB_1 }, |
69 { GDK_KP_3, IDC_SELECT_TAB_2, GDK_MOD1_MASK }, | 63 { base::VKEY_NUMPAD3, false, false, true, IDC_SELECT_TAB_2 }, |
70 { GDK_KP_4, IDC_SELECT_TAB_3, GDK_MOD1_MASK }, | 64 { base::VKEY_NUMPAD4, false, false, true, IDC_SELECT_TAB_3 }, |
71 { GDK_KP_5, IDC_SELECT_TAB_4, GDK_MOD1_MASK }, | 65 { base::VKEY_NUMPAD5, false, false, true, IDC_SELECT_TAB_4 }, |
72 { GDK_KP_6, IDC_SELECT_TAB_5, GDK_MOD1_MASK }, | 66 { base::VKEY_NUMPAD6, false, false, true, IDC_SELECT_TAB_5 }, |
73 { GDK_KP_7, IDC_SELECT_TAB_6, GDK_MOD1_MASK }, | 67 { base::VKEY_NUMPAD7, false, false, true, IDC_SELECT_TAB_6 }, |
74 { GDK_KP_8, IDC_SELECT_TAB_7, GDK_MOD1_MASK }, | 68 { base::VKEY_NUMPAD8, false, false, true, IDC_SELECT_TAB_7 }, |
75 { GDK_KP_9, IDC_SELECT_LAST_TAB, GDK_MOD1_MASK }, | 69 { base::VKEY_NUMPAD9, false, false, true, IDC_SELECT_LAST_TAB }, |
76 | 70 |
77 { GDK_F4, IDC_CLOSE_TAB, GDK_CONTROL_MASK }, | 71 { base::VKEY_F4, false, true, false, IDC_CLOSE_TAB }, |
78 { GDK_F4, IDC_CLOSE_WINDOW, GDK_MOD1_MASK }, | 72 { base::VKEY_F4, false, false, true, IDC_CLOSE_WINDOW }, |
79 | 73 |
80 // Zoom level. | 74 // Zoom level. |
81 { GDK_plus, IDC_ZOOM_PLUS, | 75 { base::VKEY_OEM_PLUS, false, true, false, IDC_ZOOM_PLUS }, |
82 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, | 76 { base::VKEY_OEM_PLUS, true, true, false, IDC_ZOOM_PLUS }, |
83 { GDK_equal, IDC_ZOOM_PLUS, GDK_CONTROL_MASK }, | 77 { base::VKEY_0, false, true, false, IDC_ZOOM_NORMAL }, |
84 { XF86XK_ZoomIn, IDC_ZOOM_PLUS, GdkModifierType(0) }, | 78 { base::VKEY_OEM_MINUS, false, true, false, IDC_ZOOM_MINUS }, |
85 { GDK_0, IDC_ZOOM_NORMAL, GDK_CONTROL_MASK }, | 79 { base::VKEY_OEM_MINUS, true, true, false, IDC_ZOOM_MINUS }, |
86 { GDK_minus, IDC_ZOOM_MINUS, GDK_CONTROL_MASK }, | |
87 { GDK_underscore, IDC_ZOOM_MINUS, | |
88 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, | |
89 { XF86XK_ZoomOut, IDC_ZOOM_MINUS, GdkModifierType(0) }, | |
90 | 80 |
91 // Find in page. | 81 // Find in page. |
92 { GDK_g, IDC_FIND_NEXT, GDK_CONTROL_MASK }, | 82 { base::VKEY_F, false, true, false, IDC_FIND }, |
93 { GDK_F3, IDC_FIND_NEXT, GdkModifierType(0) }, | 83 { base::VKEY_G, false, true, false, IDC_FIND_NEXT }, |
94 { GDK_g, IDC_FIND_PREVIOUS, | 84 { base::VKEY_F3, false, false, false, IDC_FIND_NEXT }, |
95 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, | 85 { base::VKEY_G, true, true, false, IDC_FIND_PREVIOUS }, |
96 { GDK_F3, IDC_FIND_PREVIOUS, GDK_SHIFT_MASK }, | 86 { base::VKEY_F3, true, false, false, IDC_FIND_PREVIOUS }, |
97 | 87 |
98 // Navigation / toolbar buttons. | 88 // Navigation / toolbar buttons. |
99 { GDK_Home, IDC_HOME, GDK_MOD1_MASK }, | 89 { base::VKEY_HOME, false, false, true, IDC_HOME }, |
100 { XF86XK_HomePage, IDC_HOME, GdkModifierType(0) }, | 90 { base::VKEY_ESCAPE, false, false, false, IDC_STOP }, |
101 { GDK_Escape, IDC_STOP, GdkModifierType(0) }, | 91 { base::VKEY_LEFT, false, false, true, IDC_BACK }, |
102 { XF86XK_Stop, IDC_STOP, GdkModifierType(0) }, | 92 { base::VKEY_BACK, false, false, false, IDC_BACK }, |
103 { GDK_Left, IDC_BACK, GDK_MOD1_MASK }, | 93 { base::VKEY_RIGHT, false, false, true, IDC_FORWARD }, |
104 { GDK_BackSpace, IDC_BACK, GdkModifierType(0) }, | 94 { base::VKEY_BACK, true, false, false, IDC_FORWARD }, |
105 { XF86XK_Back, IDC_BACK, GdkModifierType(0) }, | 95 { base::VKEY_R, false, true, false, IDC_RELOAD }, |
106 { GDK_Right, IDC_FORWARD, GDK_MOD1_MASK }, | 96 { base::VKEY_F5, false, false, false, IDC_RELOAD }, |
107 { GDK_BackSpace, IDC_FORWARD, GDK_SHIFT_MASK }, | 97 { base::VKEY_F5, false, true, false, IDC_RELOAD }, |
108 { XF86XK_Forward, IDC_FORWARD, GdkModifierType(0) }, | 98 { base::VKEY_F5, true, false, false, IDC_RELOAD }, |
109 { GDK_r, IDC_RELOAD, GDK_CONTROL_MASK }, | |
110 { GDK_F5, IDC_RELOAD, GdkModifierType(0) }, | |
111 { GDK_F5, IDC_RELOAD, GDK_CONTROL_MASK }, | |
112 { GDK_F5, IDC_RELOAD, GDK_SHIFT_MASK }, | |
113 { XF86XK_Reload, IDC_RELOAD, GdkModifierType(0) }, | |
114 { XF86XK_Refresh, IDC_RELOAD, GdkModifierType(0) }, | |
115 | 99 |
116 // Miscellany. | 100 // Miscellany. |
117 { GDK_d, IDC_STAR, GDK_CONTROL_MASK }, | 101 { base::VKEY_D, false, true, false, IDC_STAR }, |
118 { XF86XK_AddFavorite, IDC_STAR, GdkModifierType(0) }, | 102 { base::VKEY_B, false, true, false, IDC_SHOW_BOOKMARK_BAR }, |
119 { XF86XK_Favorites, IDC_SHOW_BOOKMARK_BAR, GdkModifierType(0) }, | 103 { base::VKEY_H, false, true, false, IDC_SHOW_HISTORY }, |
120 { GDK_b, IDC_SHOW_BOOKMARK_BAR, GDK_CONTROL_MASK }, | 104 { base::VKEY_J, false, true, false, IDC_SHOW_DOWNLOADS }, |
121 { XF86XK_History, IDC_SHOW_HISTORY, GdkModifierType(0) }, | 105 { base::VKEY_O, false, true, false, IDC_OPEN_FILE }, |
122 { GDK_h, IDC_SHOW_HISTORY, GDK_CONTROL_MASK }, | 106 { base::VKEY_F11, false, false, false, IDC_FULLSCREEN }, |
123 { GDK_j, IDC_SHOW_DOWNLOADS, GDK_CONTROL_MASK }, | 107 { base::VKEY_U, false, true, false, IDC_VIEW_SOURCE }, |
124 { GDK_o, IDC_OPEN_FILE, GDK_CONTROL_MASK }, | 108 { base::VKEY_J, true, true, false, IDC_DEV_TOOLS }, |
125 { GDK_F11, IDC_FULLSCREEN, GdkModifierType(0) }, | 109 { base::VKEY_P, false, true, false, IDC_PRINT}, |
126 { GDK_u, IDC_VIEW_SOURCE, GDK_CONTROL_MASK }, | 110 { base::VKEY_ESCAPE, true, false, false, IDC_TASK_MANAGER }, |
127 { GDK_j, IDC_DEV_TOOLS, GdkModifierType(GDK_CONTROL_MASK | GDK_MOD1_MASK) }, | 111 { base::VKEY_F11, false, true, true, IDC_FULLSCREEN }, |
128 { GDK_p, IDC_PRINT, GDK_CONTROL_MASK }, | 112 { base::VKEY_DELETE, false, true, true, IDC_TASK_MANAGER }, |
129 { GDK_Escape, IDC_TASK_MANAGER, GDK_SHIFT_MASK }, | 113 { base::VKEY_OEM_COMMA, false, true, false, IDC_CONTROL_PANEL }, |
130 { GDK_f, IDC_FULLSCREEN, | 114 { base::VKEY_B, true, true, false, IDC_SHOW_BOOKMARK_MANAGER }, |
131 GdkModifierType(GDK_CONTROL_MASK | GDK_MOD1_MASK) }, | 115 { base::VKEY_F1, false, false, false, IDC_HELP_PAGE }, |
132 { GDK_Delete, IDC_TASK_MANAGER, | 116 { base::VKEY_Q, true, true, false, IDC_EXIT }, |
133 GdkModifierType(GDK_CONTROL_MASK | GDK_MOD1_MASK) }, | |
134 { GDK_comma, IDC_CONTROL_PANEL, GdkModifierType(GDK_CONTROL_MASK) }, | |
135 { GDK_b, IDC_SHOW_BOOKMARK_MANAGER, | |
136 GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, | |
137 { GDK_F1, IDC_HELP_PAGE, GdkModifierType(0) }, | |
138 { GDK_q, IDC_EXIT, GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, | |
139 }; | 117 }; |
140 | 118 |
141 const size_t kAcceleratorMapLength = arraysize(kAcceleratorMap); | 119 const size_t kAcceleratorMapLength = arraysize(kAcceleratorMap); |
142 | 120 |
143 } // namespace browser | 121 } // namespace browser |
OLD | NEW |