diff options
-rw-r--r-- | ash/accelerators/accelerator_table.cc | 4 | ||||
-rw-r--r-- | chrome/browser/ui/views/accelerator_table.cc | 132 | ||||
-rw-r--r-- | ui/base/keycodes/keyboard_code_conversion_x.cc | 51 |
3 files changed, 101 insertions, 86 deletions
diff --git a/ash/accelerators/accelerator_table.cc b/ash/accelerators/accelerator_table.cc index bbe3229..c225674 100644 --- a/ash/accelerators/accelerator_table.cc +++ b/ash/accelerators/accelerator_table.cc @@ -55,6 +55,7 @@ const AcceleratorData kAcceleratorData[] = { { true, ui::VKEY_PRINT, ui::EF_NONE, TAKE_SCREENSHOT }, // On Chrome OS, Search key is mapped to LWIN. { true, ui::VKEY_LWIN, ui::EF_NONE, SEARCH_KEY }, + { true, ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, SEARCH_KEY }, { true, ui::VKEY_LWIN, ui::EF_CONTROL_DOWN, TOGGLE_APP_LIST }, { true, ui::VKEY_LWIN, ui::EF_SHIFT_DOWN, TOGGLE_CAPS_LOCK }, { true, ui::VKEY_F6, ui::EF_NONE, BRIGHTNESS_DOWN }, @@ -112,6 +113,9 @@ const AcceleratorData kAcceleratorData[] = { { true, ui::VKEY_HOME, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, MONITOR_TOGGLE_SCALE }, #endif + + // TODO(yusukes): Handle VKEY_MEDIA_STOP, VKEY_MEDIA_PLAY_PAUSE, + // VKEY_MEDIA_LAUNCH_MAIL, and VKEY_MEDIA_LAUNCH_APP2 (aka Calculator button). }; const size_t kAcceleratorDataLength = arraysize(kAcceleratorData); diff --git a/chrome/browser/ui/views/accelerator_table.cc b/chrome/browser/ui/views/accelerator_table.cc index 2f27ce0..c8dd278 100644 --- a/chrome/browser/ui/views/accelerator_table.cc +++ b/chrome/browser/ui/views/accelerator_table.cc @@ -18,108 +18,35 @@ namespace browser { const AcceleratorMapping kAcceleratorMap[] = { { ui::VKEY_LEFT, ui::EF_ALT_DOWN, IDC_BACK }, { ui::VKEY_BACK, ui::EF_NONE, IDC_BACK }, -#if defined(OS_CHROMEOS) - { ui::VKEY_F1, ui::EF_NONE, IDC_BACK }, -#endif { ui::VKEY_D, ui::EF_CONTROL_DOWN, IDC_BOOKMARK_PAGE }, { ui::VKEY_D, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_BOOKMARK_ALL_TABS }, -#if !defined(OS_CHROMEOS) - { ui::VKEY_DELETE, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, - IDC_CLEAR_BROWSING_DATA }, -#else - { ui::VKEY_BACK, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, - IDC_CLEAR_BROWSING_DATA }, -#endif -#if !defined(OS_CHROMEOS) - { ui::VKEY_F4, ui::EF_CONTROL_DOWN, IDC_CLOSE_TAB }, -#endif { ui::VKEY_W, ui::EF_CONTROL_DOWN, IDC_CLOSE_TAB }, { ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_CLOSE_WINDOW }, -#if !defined(OS_CHROMEOS) - { ui::VKEY_F4, ui::EF_ALT_DOWN, IDC_CLOSE_WINDOW }, -#endif -#if !defined(USE_ASH) - { ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_EXIT }, -#endif { ui::VKEY_F, ui::EF_CONTROL_DOWN, IDC_FIND }, { ui::VKEY_G, ui::EF_CONTROL_DOWN, IDC_FIND_NEXT }, -#if !defined(OS_CHROMEOS) - { ui::VKEY_F3, ui::EF_NONE, IDC_FIND_NEXT }, -#endif { ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_FIND_PREVIOUS }, -#if !defined(OS_CHROMEOS) - { ui::VKEY_F3, ui::EF_SHIFT_DOWN, IDC_FIND_PREVIOUS }, -#endif { ui::VKEY_D, ui::EF_ALT_DOWN, IDC_FOCUS_LOCATION }, { ui::VKEY_L, ui::EF_CONTROL_DOWN, IDC_FOCUS_LOCATION }, -#if !defined(OS_CHROMEOS) - { ui::VKEY_F10, ui::EF_NONE, IDC_FOCUS_MENU_BAR }, - { ui::VKEY_MENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR }, - { ui::VKEY_F6, ui::EF_NONE, IDC_FOCUS_NEXT_PANE }, -#else - { ui::VKEY_F2, ui::EF_CONTROL_DOWN, IDC_FOCUS_NEXT_PANE }, -#endif -#if !defined(OS_CHROMEOS) - { ui::VKEY_F6, ui::EF_SHIFT_DOWN, IDC_FOCUS_PREVIOUS_PANE }, -#else - { ui::VKEY_F1, ui::EF_CONTROL_DOWN, IDC_FOCUS_PREVIOUS_PANE }, -#endif { ui::VKEY_K, ui::EF_CONTROL_DOWN, IDC_FOCUS_SEARCH }, { ui::VKEY_E, ui::EF_CONTROL_DOWN, IDC_FOCUS_SEARCH }, - { ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, IDC_FOCUS_SEARCH }, { ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_TOOLBAR }, { ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_BOOKMARKS }, { ui::VKEY_RIGHT, ui::EF_ALT_DOWN, IDC_FORWARD }, { ui::VKEY_BACK, ui::EF_SHIFT_DOWN, IDC_FORWARD }, -#if defined(OS_CHROMEOS) - { ui::VKEY_F2, ui::EF_NONE, IDC_FORWARD }, -#endif -#if !defined(OS_CHROMEOS) - { ui::VKEY_F11, ui::EF_NONE, IDC_FULLSCREEN }, -#else - { ui::VKEY_F4, ui::EF_NONE, IDC_FULLSCREEN }, -#endif -#if !defined(OS_CHROMEOS) - { ui::VKEY_F1, ui::EF_NONE, IDC_HELP_PAGE }, -#else - { ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN, IDC_HELP_PAGE }, - { ui::VKEY_OEM_2, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_HELP_PAGE }, -#endif { ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_DEV_TOOLS }, -#if defined(OS_CHROMEOS) - { ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FEEDBACK }, -#endif { ui::VKEY_F12, ui::EF_NONE, IDC_DEV_TOOLS }, { ui::VKEY_J, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_DEV_TOOLS_CONSOLE }, { ui::VKEY_C, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_DEV_TOOLS_INSPECT }, -#if !defined(USE_ASH) - { ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, - IDC_NEW_INCOGNITO_WINDOW }, - { ui::VKEY_T, ui::EF_CONTROL_DOWN, IDC_NEW_TAB }, - { ui::VKEY_N, ui::EF_CONTROL_DOWN, IDC_NEW_WINDOW }, -#endif { ui::VKEY_O, ui::EF_CONTROL_DOWN, IDC_OPEN_FILE }, { ui::VKEY_P, ui::EF_CONTROL_DOWN, IDC_PRINT}, { ui::VKEY_P, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_ADVANCED_PRINT}, { ui::VKEY_R, ui::EF_CONTROL_DOWN, IDC_RELOAD }, { ui::VKEY_R, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_RELOAD_IGNORING_CACHE }, -#if !defined(OS_CHROMEOS) - { ui::VKEY_F5, ui::EF_NONE, IDC_RELOAD }, - { ui::VKEY_F5, ui::EF_CONTROL_DOWN, IDC_RELOAD_IGNORING_CACHE }, - { ui::VKEY_F5, ui::EF_SHIFT_DOWN, IDC_RELOAD_IGNORING_CACHE }, -#else - { ui::VKEY_F3, ui::EF_NONE, IDC_RELOAD }, - { ui::VKEY_F3, ui::EF_CONTROL_DOWN, IDC_RELOAD_IGNORING_CACHE }, - { ui::VKEY_F3, ui::EF_SHIFT_DOWN, IDC_RELOAD_IGNORING_CACHE }, -#endif { ui::VKEY_HOME, ui::EF_ALT_DOWN, IDC_HOME }, -#if !defined(USE_ASH) - { ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_RESTORE_TAB }, -#endif { ui::VKEY_S, ui::EF_CONTROL_DOWN, IDC_SAVE_PAGE }, { ui::VKEY_9, ui::EF_CONTROL_DOWN, IDC_SELECT_LAST_TAB }, { ui::VKEY_NUMPAD9, ui::EF_CONTROL_DOWN, IDC_SELECT_LAST_TAB }, @@ -152,13 +79,7 @@ const AcceleratorMapping kAcceleratorMap[] = { { ui::VKEY_H, ui::EF_CONTROL_DOWN, IDC_SHOW_HISTORY }, { ui::VKEY_F, ui::EF_ALT_DOWN, IDC_SHOW_APP_MENU}, { ui::VKEY_E, ui::EF_ALT_DOWN, IDC_SHOW_APP_MENU}, -#if !defined(OS_CHROMEOS) - { ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_SHOW_AVATAR_MENU}, -#endif { ui::VKEY_ESCAPE, ui::EF_NONE, IDC_STOP }, -#if !defined(USE_ASH) - { ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, IDC_TASK_MANAGER }, -#endif { ui::VKEY_OEM_PERIOD, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_TOGGLE_SPEECH_INPUT }, { ui::VKEY_U, ui::EF_CONTROL_DOWN, IDC_VIEW_SOURCE }, @@ -171,6 +92,59 @@ const AcceleratorMapping kAcceleratorMap[] = { { ui::VKEY_OEM_PLUS, ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS }, { ui::VKEY_OEM_PLUS, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS }, { ui::VKEY_ADD, ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS }, + + // Platform-specific key maps. +#if defined(OS_CHROMEOS) + // On Chrome OS, VKEY_BROWSER_SEARCH is handled in Ash. + { ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK }, + { ui::VKEY_F1, ui::EF_NONE, IDC_BACK }, + { ui::VKEY_BACK, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, + IDC_CLEAR_BROWSING_DATA }, + { ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FEEDBACK }, + { ui::VKEY_F2, ui::EF_CONTROL_DOWN, IDC_FOCUS_NEXT_PANE }, + { ui::VKEY_F1, ui::EF_CONTROL_DOWN, IDC_FOCUS_PREVIOUS_PANE }, + { ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD }, + { ui::VKEY_F2, ui::EF_NONE, IDC_FORWARD }, + { ui::VKEY_F4, ui::EF_NONE, IDC_FULLSCREEN }, + { ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN, IDC_HELP_PAGE }, + { ui::VKEY_OEM_2, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_HELP_PAGE }, + { ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME }, + { ui::VKEY_BROWSER_REFRESH, ui::EF_NONE, IDC_RELOAD }, + { ui::VKEY_F3, ui::EF_NONE, IDC_RELOAD }, + { ui::VKEY_F3, ui::EF_CONTROL_DOWN, IDC_RELOAD_IGNORING_CACHE }, + { ui::VKEY_F3, ui::EF_SHIFT_DOWN, IDC_RELOAD_IGNORING_CACHE }, + { ui::VKEY_BROWSER_FAVORITES, ui::EF_NONE, IDC_SHOW_BOOKMARK_MANAGER }, + { ui::VKEY_BROWSER_STOP, ui::EF_NONE, IDC_STOP }, +#else // OS_CHROMEOS + { ui::VKEY_DELETE, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, + IDC_CLEAR_BROWSING_DATA }, + { ui::VKEY_F4, ui::EF_CONTROL_DOWN, IDC_CLOSE_TAB }, + { ui::VKEY_F4, ui::EF_ALT_DOWN, IDC_CLOSE_WINDOW }, + { ui::VKEY_F3, ui::EF_NONE, IDC_FIND_NEXT }, + { ui::VKEY_F3, ui::EF_SHIFT_DOWN, IDC_FIND_PREVIOUS }, + { ui::VKEY_F10, ui::EF_NONE, IDC_FOCUS_MENU_BAR }, + { ui::VKEY_MENU, ui::EF_NONE, IDC_FOCUS_MENU_BAR }, + { ui::VKEY_F6, ui::EF_NONE, IDC_FOCUS_NEXT_PANE }, + { ui::VKEY_F6, ui::EF_SHIFT_DOWN, IDC_FOCUS_PREVIOUS_PANE }, + // On Windows, all VKEY_BROWSER_* keys except VKEY_BROWSER_SEARCH are handled + // via WM_APPCOMMAND. + { ui::VKEY_BROWSER_SEARCH, ui::EF_NONE, IDC_FOCUS_SEARCH }, + { ui::VKEY_F11, ui::EF_NONE, IDC_FULLSCREEN }, + { ui::VKEY_F1, ui::EF_NONE, IDC_HELP_PAGE }, + { ui::VKEY_F5, ui::EF_NONE, IDC_RELOAD }, + { ui::VKEY_F5, ui::EF_CONTROL_DOWN, IDC_RELOAD_IGNORING_CACHE }, + { ui::VKEY_F5, ui::EF_SHIFT_DOWN, IDC_RELOAD_IGNORING_CACHE }, + { ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_SHOW_AVATAR_MENU}, +#endif // OS_CHROMEOS +#if !defined(USE_ASH) + { ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_EXIT }, + { ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, + IDC_NEW_INCOGNITO_WINDOW }, + { ui::VKEY_T, ui::EF_CONTROL_DOWN, IDC_NEW_TAB }, + { ui::VKEY_N, ui::EF_CONTROL_DOWN, IDC_NEW_WINDOW }, + { ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_RESTORE_TAB }, + { ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN, IDC_TASK_MANAGER }, +#endif }; const size_t kAcceleratorMapLength = arraysize(kAcceleratorMap); diff --git a/ui/base/keycodes/keyboard_code_conversion_x.cc b/ui/base/keycodes/keyboard_code_conversion_x.cc index 1e32090..6e8af8a 100644 --- a/ui/base/keycodes/keyboard_code_conversion_x.cc +++ b/ui/base/keycodes/keyboard_code_conversion_x.cc @@ -331,18 +331,11 @@ KeyboardCode KeyboardCodeFromXKeysym(unsigned int keysym) { return static_cast<KeyboardCode>(VKEY_F1 + (keysym - XK_F1)); #if defined(TOOLKIT_GTK) - case XF86XK_HomePage: - case XF86XK_Search: - case XF86XK_Back: - case XF86XK_Forward: - case XF86XK_Stop: case XF86XK_Refresh: - case XF86XK_Favorites: case XF86XK_History: case XF86XK_OpenURL: case XF86XK_AddFavorite: case XF86XK_Go: - case XF86XK_Reload: case XF86XK_ZoomIn: case XF86XK_ZoomOut: // ui::AcceleratorGtk tries to convert the XF86XK_ keysyms on Chrome @@ -352,12 +345,34 @@ KeyboardCode KeyboardCodeFromXKeysym(unsigned int keysym) { #endif // For supporting multimedia buttons on a USB keyboard. + case XF86XK_Back: + return VKEY_BROWSER_BACK; + case XF86XK_Forward: + return VKEY_BROWSER_FORWARD; + case XF86XK_Reload: + return VKEY_BROWSER_REFRESH; + case XF86XK_Stop: + return VKEY_BROWSER_STOP; + case XF86XK_Search: + return VKEY_BROWSER_SEARCH; + case XF86XK_Favorites: + return VKEY_BROWSER_FAVORITES; + case XF86XK_HomePage: + return VKEY_BROWSER_HOME; case XF86XK_AudioMute: return VKEY_VOLUME_MUTE; case XF86XK_AudioLowerVolume: return VKEY_VOLUME_DOWN; case XF86XK_AudioRaiseVolume: return VKEY_VOLUME_UP; + case XF86XK_AudioStop: + return VKEY_MEDIA_STOP; + case XF86XK_AudioPlay: + return VKEY_MEDIA_PLAY_PAUSE; + case XF86XK_Mail: + return VKEY_MEDIA_LAUNCH_MAIL; + case XF86XK_Calculator: + return VKEY_MEDIA_LAUNCH_APP2; case XF86XK_MonBrightnessDown: return VKEY_BRIGHTNESS_DOWN; case XF86XK_MonBrightnessUp: @@ -674,12 +689,34 @@ int XKeysymForWindowsKeyCode(KeyboardCode keycode, bool shift) { case VKEY_F24: return XK_F1 + (keycode - VKEY_F1); + case VKEY_BROWSER_BACK: + return XF86XK_Back; + case VKEY_BROWSER_FORWARD: + return XF86XK_Forward; + case VKEY_BROWSER_REFRESH: + return XF86XK_Reload; + case VKEY_BROWSER_STOP: + return XF86XK_Stop; + case VKEY_BROWSER_SEARCH: + return XF86XK_Search; + case VKEY_BROWSER_FAVORITES: + return XF86XK_Favorites; + case VKEY_BROWSER_HOME: + return XF86XK_HomePage; case VKEY_VOLUME_MUTE: return XF86XK_AudioMute; case VKEY_VOLUME_DOWN: return XF86XK_AudioLowerVolume; case VKEY_VOLUME_UP: return XF86XK_AudioRaiseVolume; + case VKEY_MEDIA_STOP: + return XF86XK_AudioStop; + case VKEY_MEDIA_PLAY_PAUSE: + return XF86XK_AudioPlay; + case VKEY_MEDIA_LAUNCH_MAIL: + return XF86XK_Mail; + case VKEY_MEDIA_LAUNCH_APP2: + return XF86XK_Calculator; case VKEY_BRIGHTNESS_DOWN: return XF86XK_MonBrightnessDown; case VKEY_BRIGHTNESS_UP: |