mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 01:05:45 +00:00
df895249c6
Most of our keyboard shortcut handling is handled by nsXBLWindowKeyHandler along with nsXBLPrototypeHandler. With the impending removal of XBL this needs to change. This patch moves nsXBLWindowKeyHandler to dom/events/GlobalKeyListener and copies nsXBLPrototypeHandler to dom/events/KeyEventHandler. Windows, text elements and XUL <keyset> are changed to use the new copies and anything unnecessary for those is stripped out. XBL handler elements still remain using the existing nsXBLPrototypeHandler path. Some of the code is ripped out there to make it compile. There is probably a lot more that can be removed but since the whole of XBL is likely gone soon I'm not sure it is worth cleaning that up much. Differential Revision: https://phabricator.services.mozilla.com/D42336 --HG-- rename : dom/xbl/nsXBLWindowKeyHandler.cpp => dom/events/GlobalKeyListener.cpp rename : dom/xbl/nsXBLWindowKeyHandler.h => dom/events/GlobalKeyListener.h rename : dom/xbl/nsXBLPrototypeHandler.cpp => dom/events/KeyEventHandler.cpp rename : dom/xbl/nsXBLPrototypeHandler.h => dom/events/KeyEventHandler.h rename : dom/xbl/builtin/ShortcutKeyDefinitionsForBrowserCommon.h => dom/events/ShortcutKeyDefinitionsForBrowserCommon.h rename : dom/xbl/builtin/ShortcutKeyDefinitionsForEditorCommon.h => dom/events/ShortcutKeyDefinitionsForEditorCommon.h rename : dom/xbl/builtin/ShortcutKeyDefinitionsForInputCommon.h => dom/events/ShortcutKeyDefinitionsForInputCommon.h rename : dom/xbl/builtin/ShortcutKeyDefinitionsForInputCommon.h => dom/events/ShortcutKeyDefinitionsForTextAreaCommon.h rename : dom/xbl/builtin/ShortcutKeys.cpp => dom/events/ShortcutKeys.cpp rename : dom/xbl/builtin/ShortcutKeys.h => dom/events/ShortcutKeys.h rename : dom/xbl/builtin/android/ShortcutKeyDefinitions.cpp => dom/events/android/ShortcutKeyDefinitions.cpp rename : dom/xbl/builtin/android/moz.build => dom/events/android/moz.build rename : dom/xbl/builtin/emacs/ShortcutKeyDefinitions.cpp => dom/events/emacs/ShortcutKeyDefinitions.cpp rename : dom/xbl/builtin/android/moz.build => dom/events/emacs/moz.build rename : dom/xbl/builtin/mac/ShortcutKeyDefinitions.cpp => dom/events/mac/ShortcutKeyDefinitions.cpp rename : dom/xbl/builtin/android/moz.build => dom/events/mac/moz.build rename : dom/xbl/builtin/unix/ShortcutKeyDefinitions.cpp => dom/events/unix/ShortcutKeyDefinitions.cpp rename : dom/xbl/builtin/android/moz.build => dom/events/unix/moz.build rename : dom/xbl/builtin/win/ShortcutKeyDefinitions.cpp => dom/events/win/ShortcutKeyDefinitions.cpp rename : dom/xbl/builtin/android/moz.build => dom/events/win/moz.build extra : moz-landing-system : lando
153 lines
8.8 KiB
C++
153 lines
8.8 KiB
C++
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "../ShortcutKeys.h"
|
|
|
|
namespace mozilla {
|
|
|
|
ShortcutKeyData ShortcutKeys::sInputHandlers[] = {
|
|
#include "../ShortcutKeyDefinitionsForInputCommon.h"
|
|
|
|
{u"keypress", nullptr, u"a", u"accel", u"cmd_selectAll"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"control", u"cmd_wordPrevious"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"control", u"cmd_wordNext"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"shift,control",
|
|
u"cmd_selectWordPrevious"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"shift,control",
|
|
u"cmd_selectWordNext"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"alt", u"cmd_beginLine"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"alt", u"cmd_endLine"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"shift,alt", u"cmd_selectBeginLine"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"shift,alt", u"cmd_selectEndLine"},
|
|
{u"keypress", u"VK_HOME", nullptr, nullptr, u"cmd_beginLine"},
|
|
{u"keypress", u"VK_END", nullptr, nullptr, u"cmd_endLine"},
|
|
{u"keypress", u"VK_HOME", nullptr, u"shift", u"cmd_selectBeginLine"},
|
|
{u"keypress", u"VK_END", nullptr, u"shift", u"cmd_selectEndLine"},
|
|
{u"keypress", u"VK_BACK", nullptr, u"alt", u"cmd_deleteToBeginningOfLine"},
|
|
{u"keypress", u"VK_DELETE", nullptr, u"alt", u"cmd_deleteToEndOfLine"},
|
|
|
|
{nullptr, nullptr, nullptr, nullptr, nullptr}};
|
|
|
|
ShortcutKeyData ShortcutKeys::sTextAreaHandlers[] = {
|
|
#include "../ShortcutKeyDefinitionsForTextAreaCommon.h"
|
|
|
|
{u"keypress", nullptr, u"a", u"accel", u"cmd_selectAll"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"control", u"cmd_wordPrevious"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"control", u"cmd_wordNext"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"shift,control",
|
|
u"cmd_selectWordPrevious"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"shift,control",
|
|
u"cmd_selectWordNext"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"alt", u"cmd_beginLine"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"alt", u"cmd_endLine"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"shift,alt", u"cmd_selectBeginLine"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"shift,alt", u"cmd_selectEndLine"},
|
|
{u"keypress", u"VK_UP", nullptr, u"alt", u"cmd_moveTop"},
|
|
{u"keypress", u"VK_DOWN", nullptr, u"alt", u"cmd_moveBottom"},
|
|
{u"keypress", u"VK_UP", nullptr, u"shift,alt", u"cmd_selectTop"},
|
|
{u"keypress", u"VK_DOWN", nullptr, u"shift,alt", u"cmd_selectBottom"},
|
|
{u"keypress", u"VK_PAGE_UP", nullptr, nullptr, u"cmd_movePageUp"},
|
|
{u"keypress", u"VK_PAGE_DOWN", nullptr, nullptr, u"cmd_movePageDown"},
|
|
{u"keypress", u"VK_PAGE_UP", nullptr, u"shift", u"cmd_selectPageUp"},
|
|
{u"keypress", u"VK_PAGE_DOWN", nullptr, u"shift", u"cmd_selectPageDown"},
|
|
{u"keypress", u"VK_PAGE_UP", nullptr, u"alt", u"cmd_moveTop"},
|
|
{u"keypress", u"VK_PAGE_DOWN", nullptr, u"alt", u"cmd_moveBottom"},
|
|
{u"keypress", u"VK_PAGE_UP", nullptr, u"shift,alt", u"cmd_selectTop"},
|
|
{u"keypress", u"VK_PAGE_DOWN", nullptr, u"shift,alt", u"cmd_selectBottom"},
|
|
{u"keypress", u"VK_HOME", nullptr, nullptr, u"cmd_beginLine"},
|
|
{u"keypress", u"VK_END", nullptr, nullptr, u"cmd_endLine"},
|
|
{u"keypress", u"VK_HOME", nullptr, u"shift", u"cmd_selectBeginLine"},
|
|
{u"keypress", u"VK_END", nullptr, u"shift", u"cmd_selectEndLine"},
|
|
{u"keypress", u"VK_HOME", nullptr, u"control", u"cmd_moveTop"},
|
|
{u"keypress", u"VK_END", nullptr, u"control", u"cmd_moveBottom"},
|
|
{u"keypress", u"VK_HOME", nullptr, u"shift,control", u"cmd_selectTop"},
|
|
{u"keypress", u"VK_END", nullptr, u"shift,control", u"cmd_selectBottom"},
|
|
{u"keypress", u"VK_BACK", nullptr, u"alt", u"cmd_deleteToBeginningOfLine"},
|
|
{u"keypress", u"VK_DELETE", nullptr, u"alt", u"cmd_deleteToEndOfLine"},
|
|
|
|
{nullptr, nullptr, nullptr, nullptr, nullptr}};
|
|
|
|
ShortcutKeyData ShortcutKeys::sBrowserHandlers[] = {
|
|
#include "../ShortcutKeyDefinitionsForBrowserCommon.h"
|
|
|
|
{u"keypress", u"VK_LEFT", nullptr, u"shift", u"cmd_selectCharPrevious"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"shift", u"cmd_selectCharNext"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"control", u"cmd_wordPrevious"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"control", u"cmd_wordNext"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"control,shift",
|
|
u"cmd_selectWordPrevious"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"control,shift",
|
|
u"cmd_selectWordNext"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"alt", u"cmd_beginLine"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"alt", u"cmd_endLine"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"shift,alt", u"cmd_selectBeginLine"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"shift,alt", u"cmd_selectEndLine"},
|
|
{u"keypress", u"VK_UP", nullptr, u"shift", u"cmd_selectLinePrevious"},
|
|
{u"keypress", u"VK_DOWN", nullptr, u"shift", u"cmd_selectLineNext"},
|
|
{u"keypress", u"VK_UP", nullptr, u"alt", u"cmd_moveTop"},
|
|
{u"keypress", u"VK_DOWN", nullptr, u"alt", u"cmd_moveBottom"},
|
|
{u"keypress", u"VK_UP", nullptr, u"shift,alt", u"cmd_selectTop"},
|
|
{u"keypress", u"VK_DOWN", nullptr, u"shift,alt", u"cmd_selectBottom"},
|
|
{u"keypress", u"VK_PAGE_UP", nullptr, nullptr, u"cmd_movePageUp"},
|
|
{u"keypress", u"VK_PAGE_DOWN", nullptr, nullptr, u"cmd_movePageDown"},
|
|
{u"keypress", u"VK_PAGE_UP", nullptr, u"shift", u"cmd_selectPageUp"},
|
|
{u"keypress", u"VK_PAGE_DOWN", nullptr, u"shift", u"cmd_selectPageDown"},
|
|
{u"keypress", u"VK_PAGE_UP", nullptr, u"alt", u"cmd_moveTop"},
|
|
{u"keypress", u"VK_PAGE_DOWN", nullptr, u"alt", u"cmd_moveBottom"},
|
|
{u"keypress", u"VK_PAGE_UP", nullptr, u"shift,alt", u"cmd_selectTop"},
|
|
{u"keypress", u"VK_PAGE_DOWN", nullptr, u"shift,alt", u"cmd_selectBottom"},
|
|
{u"keypress", u"VK_HOME", nullptr, nullptr, u"cmd_beginLine"},
|
|
{u"keypress", u"VK_END", nullptr, nullptr, u"cmd_endLine"},
|
|
{u"keypress", u"VK_HOME", nullptr, u"shift", u"cmd_selectBeginLine"},
|
|
{u"keypress", u"VK_END", nullptr, u"shift", u"cmd_selectEndLine"},
|
|
{u"keypress", u"VK_HOME", nullptr, u"control", u"cmd_moveTop"},
|
|
{u"keypress", u"VK_END", nullptr, u"control", u"cmd_moveBottom"},
|
|
{u"keypress", u"VK_HOME", nullptr, u"shift,control", u"cmd_selectTop"},
|
|
{u"keypress", u"VK_END", nullptr, u"shift,control", u"cmd_selectBottom"},
|
|
{u"keypress", u"VK_BACK", nullptr, u"alt", u"cmd_deleteToBeginningOfLine"},
|
|
{u"keypress", u"VK_DELETE", nullptr, u"alt", u"cmd_deleteToEndOfLine"},
|
|
|
|
{nullptr, nullptr, nullptr, nullptr, nullptr}};
|
|
|
|
ShortcutKeyData ShortcutKeys::sEditorHandlers[] = {
|
|
#include "../ShortcutKeyDefinitionsForEditorCommon.h"
|
|
|
|
{u"keypress", nullptr, u"a", u"accel", u"cmd_selectAll"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"control", u"cmd_wordPrevious"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"control", u"cmd_wordNext"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"shift,control",
|
|
u"cmd_selectWordPrevious"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"shift,control",
|
|
u"cmd_selectWordNext"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"alt", u"cmd_beginLine"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"alt", u"cmd_endLine"},
|
|
{u"keypress", u"VK_LEFT", nullptr, u"shift,alt", u"cmd_selectBeginLine"},
|
|
{u"keypress", u"VK_RIGHT", nullptr, u"shift,alt", u"cmd_selectEndLine"},
|
|
{u"keypress", u"VK_UP", nullptr, u"alt", u"cmd_moveTop"},
|
|
{u"keypress", u"VK_DOWN", nullptr, u"alt", u"cmd_moveBottom"},
|
|
{u"keypress", u"VK_UP", nullptr, u"shift,alt", u"cmd_selectTop"},
|
|
{u"keypress", u"VK_DOWN", nullptr, u"shift,alt", u"cmd_selectBottom"},
|
|
{u"keypress", u"VK_PAGE_UP", nullptr, nullptr, u"cmd_movePageUp"},
|
|
{u"keypress", u"VK_PAGE_DOWN", nullptr, nullptr, u"cmd_movePageDown"},
|
|
{u"keypress", u"VK_PAGE_UP", nullptr, u"shift", u"cmd_selectPageUp"},
|
|
{u"keypress", u"VK_PAGE_DOWN", nullptr, u"shift", u"cmd_selectPageDown"},
|
|
{u"keypress", u"VK_PAGE_UP", nullptr, u"alt", u"cmd_moveTop"},
|
|
{u"keypress", u"VK_PAGE_DOWN", nullptr, u"alt", u"cmd_moveBottom"},
|
|
{u"keypress", u"VK_PAGE_UP", nullptr, u"shift,alt", u"cmd_selectTop"},
|
|
{u"keypress", u"VK_PAGE_DOWN", nullptr, u"shift,alt", u"cmd_selectBottom"},
|
|
{u"keypress", u"VK_HOME", nullptr, nullptr, u"cmd_beginLine"},
|
|
{u"keypress", u"VK_END", nullptr, nullptr, u"cmd_endLine"},
|
|
{u"keypress", u"VK_HOME", nullptr, u"shift", u"cmd_selectBeginLine"},
|
|
{u"keypress", u"VK_END", nullptr, u"shift", u"cmd_selectEndLine"},
|
|
{u"keypress", u"VK_HOME", nullptr, u"control", u"cmd_moveTop"},
|
|
{u"keypress", u"VK_END", nullptr, u"control", u"cmd_moveBottom"},
|
|
{u"keypress", u"VK_HOME", nullptr, u"shift,control", u"cmd_selectTop"},
|
|
{u"keypress", u"VK_END", nullptr, u"shift,control", u"cmd_selectBottom"},
|
|
{u"keypress", u"VK_BACK", nullptr, u"alt", u"cmd_deleteToBeginningOfLine"},
|
|
{u"keypress", u"VK_DELETE", nullptr, u"alt", u"cmd_deleteToEndOfLine"},
|
|
|
|
{nullptr, nullptr, nullptr, nullptr, nullptr}};
|
|
|
|
} // namespace mozilla
|