| 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 |