Skip to content

Instantly share code, notes, and snippets.

@zavorka
Created December 13, 2016 19:36
Show Gist options
  • Save zavorka/8be8b651501b76573e22d74d60893bd3 to your computer and use it in GitHub Desktop.
Save zavorka/8be8b651501b76573e22d74d60893bd3 to your computer and use it in GitHub Desktop.
--- a/chrome/browser/ui/libgtkui/gtk_util.cc 2016-12-09 00:02:19.000000000 +0100
+++ b/chrome/browser/ui/libgtkui/gtk_util.cc 2016-12-13 19:26:26.683726150 +0100
@@ -85,7 +85,7 @@
int modifier = 0;
if (event_flag & ui::EF_SHIFT_DOWN)
modifier |= GDK_SHIFT_MASK;
- if (event_flag & ui::EF_CONTROL_DOWN)
+ if (event_flag & ui::EF_COMMAND_DOWN)
modifier |= GDK_CONTROL_MASK;
if (event_flag & ui::EF_ALT_DOWN)
modifier |= GDK_MOD1_MASK;
--- a/chrome/browser/ui/views/accelerator_table.cc 2016-12-09 00:02:19.000000000 +0100
+++ b/chrome/browser/ui/views/accelerator_table.cc 2016-12-13 18:52:22.209603133 +0100
@@ -24,7 +24,7 @@
// to list the ones that do not have a key equivalent in the main menu, i.e.
// only the ones in global_keyboard_shortcuts_mac.mm.
// TODO(jackhou): If-def out the accelerators that should not be on Mac.
-#if defined(OS_MACOSX)
+#if defined(OS_MACOSX) || defined(OS_LINUX)
const ui::EventFlags kPlatformModifier = ui::EF_COMMAND_DOWN;
#else
const ui::EventFlags kPlatformModifier = ui::EF_CONTROL_DOWN;
@@ -37,14 +37,14 @@
const AcceleratorMapping kAcceleratorMap[] = {
{ ui::VKEY_LEFT, ui::EF_ALT_DOWN, IDC_BACK },
{ ui::VKEY_BACK, ui::EF_NONE, IDC_BACKSPACE_BACK },
- { ui::VKEY_D, ui::EF_CONTROL_DOWN, IDC_BOOKMARK_PAGE },
- { ui::VKEY_D, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ { ui::VKEY_D, ui::EF_COMMAND_DOWN, IDC_BOOKMARK_PAGE },
+ { ui::VKEY_D, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN,
IDC_BOOKMARK_ALL_TABS },
- { ui::VKEY_W, ui::EF_CONTROL_DOWN, IDC_CLOSE_TAB },
- { ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_CLOSE_WINDOW },
- { ui::VKEY_F, ui::EF_CONTROL_DOWN, IDC_FIND },
- { ui::VKEY_G, ui::EF_CONTROL_DOWN, IDC_FIND_NEXT },
- { ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_FIND_PREVIOUS },
+ { ui::VKEY_W, ui::EF_COMMAND_DOWN, IDC_CLOSE_TAB },
+ { ui::VKEY_W, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN, IDC_CLOSE_WINDOW },
+ { ui::VKEY_F, ui::EF_COMMAND_DOWN, IDC_FIND },
+ { ui::VKEY_G, ui::EF_COMMAND_DOWN, IDC_FIND_NEXT },
+ { ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN, IDC_FIND_PREVIOUS },
{ ui::VKEY_D, ui::EF_ALT_DOWN, IDC_FOCUS_LOCATION },
{ ui::VKEY_L, ui::EF_CONTROL_DOWN, IDC_FOCUS_LOCATION },
{ ui::VKEY_K, ui::EF_CONTROL_DOWN, IDC_FOCUS_SEARCH },
@@ -54,29 +54,29 @@
{ ui::VKEY_A, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FOCUS_INFOBARS },
{ ui::VKEY_RIGHT, ui::EF_ALT_DOWN, IDC_FORWARD },
{ ui::VKEY_BACK, ui::EF_SHIFT_DOWN, IDC_BACKSPACE_FORWARD },
- { ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_DEV_TOOLS },
+ { ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN, IDC_DEV_TOOLS },
{ ui::VKEY_F12, ui::EF_NONE, IDC_DEV_TOOLS_TOGGLE },
- { ui::VKEY_J, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ { ui::VKEY_J, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN,
IDC_DEV_TOOLS_CONSOLE },
- { ui::VKEY_C, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ { ui::VKEY_C, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN,
IDC_DEV_TOOLS_INSPECT },
- { ui::VKEY_O, ui::EF_CONTROL_DOWN, IDC_OPEN_FILE },
- { ui::VKEY_P, ui::EF_CONTROL_DOWN, IDC_PRINT},
+ { ui::VKEY_O, ui::EF_COMMAND_DOWN, IDC_OPEN_FILE },
+ { ui::VKEY_P, ui::EF_COMMAND_DOWN, IDC_PRINT},
#if BUILDFLAG(ENABLE_BASIC_PRINTING)
- { ui::VKEY_P, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_BASIC_PRINT},
+ { ui::VKEY_P, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN, IDC_BASIC_PRINT},
#endif // ENABLE_BASIC_PRINTING
- { ui::VKEY_R, ui::EF_CONTROL_DOWN, IDC_RELOAD },
+ { ui::VKEY_R, ui::EF_COMMAND_DOWN, IDC_RELOAD },
{ ui::VKEY_R, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
IDC_RELOAD_BYPASSING_CACHE },
{ ui::VKEY_HOME, ui::EF_ALT_DOWN, IDC_HOME },
- { ui::VKEY_S, ui::EF_CONTROL_DOWN, IDC_SAVE_PAGE },
+ { ui::VKEY_S, ui::EF_COMMAND_DOWN, IDC_SAVE_PAGE },
{ ui::VKEY_9, kPlatformModifier, IDC_SELECT_LAST_TAB },
{ ui::VKEY_NUMPAD9, kPlatformModifier, IDC_SELECT_LAST_TAB },
#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
{ ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB },
{ ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB },
- { ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT },
- { ui::VKEY_PRIOR, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN,
+ { ui::VKEY_NEXT, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT },
+ { ui::VKEY_PRIOR, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN,
IDC_MOVE_TAB_PREVIOUS },
#endif
{ ui::VKEY_TAB, ui::EF_CONTROL_DOWN, IDC_SELECT_NEXT_TAB },
@@ -119,32 +119,24 @@
{ ui::VKEY_NUMPAD8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7 },
{ ui::VKEY_BROWSER_FAVORITES, ui::EF_NONE, IDC_SHOW_BOOKMARK_BAR },
#endif
- { ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ { ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN,
IDC_SHOW_BOOKMARK_BAR },
- { ui::VKEY_O, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ { ui::VKEY_O, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN,
IDC_SHOW_BOOKMARK_MANAGER },
- { ui::VKEY_J, ui::EF_CONTROL_DOWN, IDC_SHOW_DOWNLOADS },
- { ui::VKEY_H, ui::EF_CONTROL_DOWN, IDC_SHOW_HISTORY },
+ { ui::VKEY_J, ui::EF_COMMAND_DOWN, IDC_SHOW_DOWNLOADS },
+ { ui::VKEY_H, ui::EF_COMMAND_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},
{ ui::VKEY_ESCAPE, ui::EF_NONE, IDC_STOP },
- { ui::VKEY_U, ui::EF_CONTROL_DOWN, IDC_VIEW_SOURCE },
- { ui::VKEY_OEM_MINUS, ui::EF_CONTROL_DOWN, IDC_ZOOM_MINUS },
- { ui::VKEY_SUBTRACT, ui::EF_CONTROL_DOWN, IDC_ZOOM_MINUS },
- { ui::VKEY_0, ui::EF_CONTROL_DOWN, IDC_ZOOM_NORMAL },
- { ui::VKEY_NUMPAD0, ui::EF_CONTROL_DOWN, IDC_ZOOM_NORMAL },
- { ui::VKEY_OEM_PLUS, ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS },
- { ui::VKEY_ADD, ui::EF_CONTROL_DOWN, IDC_ZOOM_PLUS },
- { ui::VKEY_F1, ui::EF_NONE, IDC_HELP_PAGE_VIA_KEYBOARD },
- { ui::VKEY_F3, ui::EF_NONE, IDC_FIND_NEXT },
- { ui::VKEY_F3, ui::EF_SHIFT_DOWN, IDC_FIND_PREVIOUS },
- { ui::VKEY_F4, ui::EF_CONTROL_DOWN, IDC_CLOSE_TAB },
- { ui::VKEY_F4, ui::EF_ALT_DOWN, IDC_CLOSE_WINDOW },
- { ui::VKEY_F5, ui::EF_NONE, IDC_RELOAD },
+ { ui::VKEY_U, ui::EF_COMMAND_DOWN, IDC_VIEW_SOURCE },
+ { ui::VKEY_OEM_MINUS, ui::EF_COMMAND_DOWN, IDC_ZOOM_MINUS },
+ { ui::VKEY_SUBTRACT, ui::EF_COMMAND_DOWN, IDC_ZOOM_MINUS },
+ { ui::VKEY_0, ui::EF_COMMAND_DOWN, IDC_ZOOM_NORMAL },
+ { ui::VKEY_NUMPAD0, ui::EF_COMMAND_DOWN, IDC_ZOOM_NORMAL },
+ { ui::VKEY_OEM_PLUS, ui::EF_COMMAND_DOWN, IDC_ZOOM_PLUS },
+ { ui::VKEY_ADD, ui::EF_COMMAND_DOWN, IDC_ZOOM_PLUS },
{ ui::VKEY_F5, ui::EF_CONTROL_DOWN, IDC_RELOAD_BYPASSING_CACHE },
{ ui::VKEY_F5, ui::EF_SHIFT_DOWN, IDC_RELOAD_BYPASSING_CACHE },
- { ui::VKEY_F6, ui::EF_NONE, IDC_FOCUS_NEXT_PANE },
- { ui::VKEY_F6, ui::EF_SHIFT_DOWN, IDC_FOCUS_PREVIOUS_PANE },
{ ui::VKEY_F10, ui::EF_NONE, IDC_FOCUS_MENU_BAR },
{ ui::VKEY_F11, ui::EF_NONE, IDC_FULLSCREEN },
@@ -189,12 +181,12 @@
#if defined(GOOGLE_CHROME_BUILD)
{ ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_FEEDBACK },
#endif
- { ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, IDC_EXIT },
- { ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
+ { ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN, IDC_EXIT },
+ { ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_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_T, ui::EF_COMMAND_DOWN, IDC_NEW_TAB },
+ { ui::VKEY_N, ui::EF_COMMAND_DOWN, IDC_NEW_WINDOW },
+ { ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN, IDC_RESTORE_TAB },
#endif
};
const size_t kAcceleratorMapLength = arraysize(kAcceleratorMap);
@@ -269,13 +261,13 @@
// anywhere else.
switch (command_id) {
case IDC_CUT:
- *accelerator = ui::Accelerator(ui::VKEY_X, ui::EF_CONTROL_DOWN);
+ *accelerator = ui::Accelerator(ui::VKEY_X, ui::EF_COMMAND_DOWN);
return true;
case IDC_COPY:
- *accelerator = ui::Accelerator(ui::VKEY_C, ui::EF_CONTROL_DOWN);
+ *accelerator = ui::Accelerator(ui::VKEY_C, ui::EF_COMMAND_DOWN);
return true;
case IDC_PASTE:
- *accelerator = ui::Accelerator(ui::VKEY_V, ui::EF_CONTROL_DOWN);
+ *accelerator = ui::Accelerator(ui::VKEY_V, ui::EF_COMMAND_DOWN);
return true;
}
return false;
--- a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc 2016-12-09 00:02:20.000000000 +0100
+++ b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc 2016-12-13 19:44:26.796791141 +0100
@@ -888,7 +888,7 @@
const ui::KeyEvent& event) {
if (event.type() == ui::ET_KEY_RELEASED) {
// The omnibox contents may change while the control key is pressed.
- if (event.key_code() == ui::VKEY_CONTROL)
+ if (event.key_code() == ui::VKEY_COMMAND)
model()->OnControlKeyChanged(false);
return false;
@@ -902,7 +902,7 @@
return false;
const bool shift = event.IsShiftDown();
- const bool control = event.IsControlDown();
+ const bool control = event.IsCommandDown();
const bool alt = event.IsAltDown() || event.IsAltGrDown();
switch (event.key_code()) {
case ui::VKEY_RETURN:
@@ -912,7 +912,7 @@
return true;
case ui::VKEY_ESCAPE:
return model()->OnEscapeKeyPressed();
- case ui::VKEY_CONTROL:
+ case ui::VKEY_COMMAND:
model()->OnControlKeyChanged(true);
break;
case ui::VKEY_DELETE:
--- a/chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc 2016-12-09 00:02:20.000000000 +0100
+++ b/chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc 2016-12-13 18:31:44.186528641 +0100
@@ -78,41 +78,41 @@
case IDC_CONTENT_CONTEXT_REDO:
// TODO(jcampan): should it be Ctrl-Y?
*accel = ui::Accelerator(ui::VKEY_Z,
- ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN);
+ ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN);
return true;
case IDC_CONTENT_CONTEXT_CUT:
- *accel = ui::Accelerator(ui::VKEY_X, ui::EF_CONTROL_DOWN);
+ *accel = ui::Accelerator(ui::VKEY_X, ui::EF_COMMAND_DOWN);
return true;
case IDC_CONTENT_CONTEXT_COPY:
- *accel = ui::Accelerator(ui::VKEY_C, ui::EF_CONTROL_DOWN);
+ *accel = ui::Accelerator(ui::VKEY_C, ui::EF_COMMAND_DOWN);
return true;
case IDC_CONTENT_CONTEXT_INSPECTELEMENT:
*accel = ui::Accelerator(ui::VKEY_I,
- ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN);
+ ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN);
return true;
case IDC_CONTENT_CONTEXT_PASTE:
- *accel = ui::Accelerator(ui::VKEY_V, ui::EF_CONTROL_DOWN);
+ *accel = ui::Accelerator(ui::VKEY_V, ui::EF_COMMAND_DOWN);
return true;
case IDC_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE:
*accel = ui::Accelerator(ui::VKEY_V,
- ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN);
+ ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN);
return true;
case IDC_CONTENT_CONTEXT_SELECTALL:
- *accel = ui::Accelerator(ui::VKEY_A, ui::EF_CONTROL_DOWN);
+ *accel = ui::Accelerator(ui::VKEY_A, ui::EF_COMMAND_DOWN);
return true;
case IDC_CONTENT_CONTEXT_ROTATECCW:
- *accel = ui::Accelerator(ui::VKEY_OEM_4, ui::EF_CONTROL_DOWN);
+ *accel = ui::Accelerator(ui::VKEY_OEM_4, ui::EF_COMMAND_DOWN);
return true;
case IDC_CONTENT_CONTEXT_ROTATECW:
- *accel = ui::Accelerator(ui::VKEY_OEM_6, ui::EF_CONTROL_DOWN);
+ *accel = ui::Accelerator(ui::VKEY_OEM_6, ui::EF_COMMAND_DOWN);
return true;
case IDC_FORWARD:
@@ -120,16 +120,16 @@
return true;
case IDC_PRINT:
- *accel = ui::Accelerator(ui::VKEY_P, ui::EF_CONTROL_DOWN);
+ *accel = ui::Accelerator(ui::VKEY_P, ui::EF_COMMAND_DOWN);
return true;
case IDC_RELOAD:
- *accel = ui::Accelerator(ui::VKEY_R, ui::EF_CONTROL_DOWN);
+ *accel = ui::Accelerator(ui::VKEY_R, ui::EF_COMMAND_DOWN);
return true;
case IDC_CONTENT_CONTEXT_SAVEAVAS:
case IDC_SAVE_PAGE:
- *accel = ui::Accelerator(ui::VKEY_S, ui::EF_CONTROL_DOWN);
+ *accel = ui::Accelerator(ui::VKEY_S, ui::EF_COMMAND_DOWN);
return true;
case IDC_CONTENT_CONTEXT_EXIT_FULLSCREEN:
@@ -155,7 +155,7 @@
accel);
case IDC_VIEW_SOURCE:
- *accel = ui::Accelerator(ui::VKEY_U, ui::EF_CONTROL_DOWN);
+ *accel = ui::Accelerator(ui::VKEY_U, ui::EF_COMMAND_DOWN);
return true;
default:
--- a/chrome/common/extensions/command.cc 2016-12-09 00:02:20.000000000 +0100
+++ b/chrome/common/extensions/command.cc 2016-12-13 01:01:23.171736649 +0100
@@ -101,7 +101,7 @@
// Mac the developer has to specify MacCtrl). Therefore we treat this
// as Command.
modifiers |= ui::EF_COMMAND_DOWN;
-#if defined(OS_MACOSX)
+#if defined(OS_MACOSX) || defined(OS_LINUX)
} else if (platform_key == values::kKeybindingPlatformDefault) {
// If we see "Command+foo" in the Default section it can mean two
// things, depending on the platform:
@@ -252,10 +252,10 @@
std::string NormalizeShortcutSuggestion(const std::string& suggestion,
const std::string& platform) {
bool normalize = false;
- if (platform == values::kKeybindingPlatformMac) {
+ if (platform == values::kKeybindingPlatformMac || platform == values::kKeybindingPlatformLinux) {
normalize = true;
} else if (platform == values::kKeybindingPlatformDefault) {
-#if defined(OS_MACOSX)
+#if defined(OS_MACOSX) || defined(OS_LINUX)
normalize = true;
#endif
}
--- a/third_party/WebKit/Source/core/editing/EditingBehavior.cpp 2016-12-09 00:02:39.000000000 +0100
+++ b/third_party/WebKit/Source/core/editing/EditingBehavior.cpp 2016-12-13 06:45:26.638978772 +0100
@@ -42,7 +42,7 @@
const unsigned AltKey = WebInputEvent::AltKey;
const unsigned ShiftKey = WebInputEvent::ShiftKey;
const unsigned MetaKey = WebInputEvent::MetaKey;
-#if OS(MACOSX)
+#if OS(MACOSX) || OS(LINUX)
// Aliases for the generic key defintions to make kbd shortcuts definitions more
// readable on OS X.
const unsigned OptionKey = AltKey;
@@ -85,7 +85,7 @@
const KeyboardCodeKeyDownEntry kKeyboardCodeKeyDownEntries[] = {
{VKEY_LEFT, 0, "MoveLeft"},
{VKEY_LEFT, ShiftKey, "MoveLeftAndModifySelection"},
-#if OS(MACOSX)
+#if OS(MACOSX) || OS(LINUX)
{VKEY_LEFT, OptionKey, "MoveWordLeft"},
{VKEY_LEFT, OptionKey | ShiftKey, "MoveWordLeftAndModifySelection"},
#else
@@ -94,7 +94,7 @@
#endif
{VKEY_RIGHT, 0, "MoveRight"},
{VKEY_RIGHT, ShiftKey, "MoveRightAndModifySelection"},
-#if OS(MACOSX)
+#if OS(MACOSX) || OS(LINUX)
{VKEY_RIGHT, OptionKey, "MoveWordRight"},
{VKEY_RIGHT, OptionKey | ShiftKey, "MoveWordRightAndModifySelection"},
#else
@@ -107,7 +107,7 @@
{VKEY_DOWN, 0, "MoveDown"},
{VKEY_DOWN, ShiftKey, "MoveDownAndModifySelection"},
{VKEY_NEXT, ShiftKey, "MovePageDownAndModifySelection"},
-#if !OS(MACOSX)
+#if !OS(MACOSX) && !OS(LINUX)
{VKEY_UP, CtrlKey, "MoveParagraphBackward"},
{VKEY_UP, CtrlKey | ShiftKey, "MoveParagraphBackwardAndModifySelection"},
{VKEY_DOWN, CtrlKey, "MoveParagraphForward"},
@@ -117,32 +117,32 @@
#endif
{VKEY_HOME, 0, "MoveToBeginningOfLine"},
{VKEY_HOME, ShiftKey, "MoveToBeginningOfLineAndModifySelection"},
-#if OS(MACOSX)
+#if OS(MACOSX) || OS(LINUX)
{VKEY_PRIOR, OptionKey, "MovePageUp"},
{VKEY_NEXT, OptionKey, "MovePageDown"},
#endif
-#if !OS(MACOSX)
+#if !OS(MACOSX) && !OS(LINUX)
{VKEY_HOME, CtrlKey, "MoveToBeginningOfDocument"},
{VKEY_HOME, CtrlKey | ShiftKey,
"MoveToBeginningOfDocumentAndModifySelection"},
#endif
{VKEY_END, 0, "MoveToEndOfLine"},
{VKEY_END, ShiftKey, "MoveToEndOfLineAndModifySelection"},
-#if !OS(MACOSX)
+#if !OS(MACOSX) && !OS(LINUX)
{VKEY_END, CtrlKey, "MoveToEndOfDocument"},
{VKEY_END, CtrlKey | ShiftKey, "MoveToEndOfDocumentAndModifySelection"},
#endif
{VKEY_BACK, 0, "DeleteBackward"},
{VKEY_BACK, ShiftKey, "DeleteBackward"},
{VKEY_DELETE, 0, "DeleteForward"},
-#if OS(MACOSX)
+#if OS(MACOSX) || OS(LINUX)
{VKEY_BACK, OptionKey, "DeleteWordBackward"},
{VKEY_DELETE, OptionKey, "DeleteWordForward"},
#else
{VKEY_BACK, CtrlKey, "DeleteWordBackward"},
{VKEY_DELETE, CtrlKey, "DeleteWordForward"},
#endif
-#if OS(MACOSX)
+#if OS(MACOSX) || OS(LINUX)
{'B', CommandKey, "ToggleBold"},
{'I', CommandKey, "ToggleItalic"},
#else
@@ -165,14 +165,14 @@
#if !OS(MACOSX)
// On OS X, we pipe these back to the browser, so that it can do menu item
// blinking.
- {'C', CtrlKey, "Copy"},
- {'V', CtrlKey, "Paste"},
- {'V', CtrlKey | ShiftKey, "PasteAndMatchStyle"},
- {'X', CtrlKey, "Cut"},
- {'A', CtrlKey, "SelectAll"},
- {'Z', CtrlKey, "Undo"},
- {'Z', CtrlKey | ShiftKey, "Redo"},
- {'Y', CtrlKey, "Redo"},
+ {'C', CommandKey, "Copy"},
+ {'V', CommandKey, "Paste"},
+ {'V', CommandKey | ShiftKey, "PasteAndMatchStyle"},
+ {'X', CommandKey, "Cut"},
+ {'A', CommandKey, "SelectAll"},
+ {'Z', CommandKey, "Undo"},
+ {'Z', CommandKey | ShiftKey, "Redo"},
+ {'Y', CommandKey, "Redo"},
#endif
{VKEY_INSERT, 0, "OverWrite"},
};
@@ -267,19 +267,13 @@
// unexpected behaviour
if (ch < ' ')
return false;
-#if OS(LINUX)
- // According to XKB map no keyboard combinations with ctrl key are mapped to
- // printable characters, however we need the filter as the DomKey/text could
- // contain printable characters.
- if (event.ctrlKey())
- return false;
-#elif !OS(WIN)
+#if !OS(WIN)
// Don't insert ASCII character if ctrl w/o alt or meta is on.
// On Mac, we should ignore events when meta is on (Command-<x>).
if (ch < 0x80) {
if (event.ctrlKey() && !event.altKey())
return false;
-#if OS(MACOSX)
+#if OS(MACOSX) || OS(LINUX)
if (event.metaKey())
return false;
#endif
--- a/ui/base/window_open_disposition.cc 2016-12-09 00:02:45.000000000 +0100
+++ b/ui/base/window_open_disposition.cc 2016-12-13 00:56:30.090719014 +0100
@@ -15,7 +15,7 @@
bool meta_key,
bool shift_key) {
// MacOS uses meta key (Command key) to spawn new tabs.
-#if defined(OS_MACOSX)
+#if defined(OS_MACOSX) || defined(OS_LINUX)
if (middle_button || meta_key)
#else
if (middle_button || ctrl_key)
--- a/ui/content_accelerators/accelerator_util.cc 2016-12-09 00:02:45.000000000 +0100
+++ b/ui/content_accelerators/accelerator_util.cc 2016-12-13 00:54:06.442710370 +0100
@@ -22,7 +22,7 @@
modifiers |= ui::EF_CONTROL_DOWN;
if (event.modifiers & content::NativeWebKeyboardEvent::AltKey)
modifiers |= ui::EF_ALT_DOWN;
-#if defined(OS_MACOSX) || defined(OS_CHROMEOS)
+#if defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_LINUX)
if (event.modifiers & content::NativeWebKeyboardEvent::MetaKey)
modifiers |= ui::EF_COMMAND_DOWN;
#endif
--- a/ui/events/base_event_utils.cc 2016-12-09 00:02:45.000000000 +0100
+++ b/ui/events/base_event_utils.cc 2016-12-13 00:55:59.954717200 +0100
@@ -19,6 +19,8 @@
#if defined(OS_CHROMEOS)
const int kSystemKeyModifierMask = EF_ALT_DOWN | EF_COMMAND_DOWN;
+#elif defined(OS_LINUX)
+const int kSystemKeyModifierMask = EF_COMMAND_DOWN;
#else
const int kSystemKeyModifierMask = EF_ALT_DOWN;
#endif // defined(OS_CHROMEOS)
--- a/ui/events/x/events_x_utils.cc 2016-12-09 00:02:45.000000000 +0100
+++ b/ui/events/x/events_x_utils.cc 2016-12-13 02:46:38.239116628 +0100
@@ -50,6 +50,8 @@
switch (keyboard_code) {
case ui::VKEY_CONTROL:
return ControlMask;
+ case ui::VKEY_COMMAND:
+ return Mod4Mask;
case ui::VKEY_SHIFT:
return ShiftMask;
case ui::VKEY_MENU:
@@ -146,6 +148,8 @@
flags |= ui::EF_CAPS_LOCK_ON;
if (state & ControlMask)
flags |= ui::EF_CONTROL_DOWN;
+ if (state & Mod4Mask)
+ flags |= ui::EF_COMMAND_DOWN;
if (state & Mod1Mask)
flags |= ui::EF_ALT_DOWN;
if (state & Mod2Mask)
--- a/ui/views/controls/textfield/textfield.cc 2016-12-09 00:02:45.000000000 +0100
+++ b/ui/views/controls/textfield/textfield.cc 2016-12-13 19:50:01.429811276 +0100
@@ -63,7 +63,7 @@
namespace {
-#if defined(OS_MACOSX)
+#if defined(OS_MACOSX) || defined(OS_LINUX)
const gfx::SelectionBehavior kLineSelectionBehavior = gfx::SELECTION_EXTEND;
const gfx::SelectionBehavior kWordSelectionBehavior = gfx::SELECTION_CARET;
const gfx::SelectionBehavior kMoveParagraphSelectionBehavior =
@@ -92,48 +92,48 @@
return ui::TextEditCommand::INVALID_COMMAND;
const bool shift = event.IsShiftDown();
- const bool control = event.IsControlDown();
+ const bool command = event.IsCommandDown();
const bool alt = event.IsAltDown() || event.IsAltGrDown();
switch (event.key_code()) {
case ui::VKEY_Z:
- if (control && !shift && !alt)
+ if (command && !shift && !alt)
return ui::TextEditCommand::UNDO;
- return (control && shift && !alt) ? ui::TextEditCommand::REDO
+ return (command && shift && !alt) ? ui::TextEditCommand::REDO
: ui::TextEditCommand::INVALID_COMMAND;
case ui::VKEY_Y:
- return (control && !alt) ? ui::TextEditCommand::REDO
+ return (command && !alt) ? ui::TextEditCommand::REDO
: ui::TextEditCommand::INVALID_COMMAND;
case ui::VKEY_A:
- return (control && !alt) ? ui::TextEditCommand::SELECT_ALL
+ return (command && !alt) ? ui::TextEditCommand::SELECT_ALL
: ui::TextEditCommand::INVALID_COMMAND;
case ui::VKEY_X:
- return (control && !alt) ? ui::TextEditCommand::CUT
+ return (command && !alt) ? ui::TextEditCommand::CUT
: ui::TextEditCommand::INVALID_COMMAND;
case ui::VKEY_C:
- return (control && !alt) ? ui::TextEditCommand::COPY
+ return (command && !alt) ? ui::TextEditCommand::COPY
: ui::TextEditCommand::INVALID_COMMAND;
case ui::VKEY_V:
- return (control && !alt) ? ui::TextEditCommand::PASTE
+ return (command && !alt) ? ui::TextEditCommand::PASTE
: ui::TextEditCommand::INVALID_COMMAND;
case ui::VKEY_RIGHT:
// Ignore alt+right, which may be a browser navigation shortcut.
if (alt)
return ui::TextEditCommand::INVALID_COMMAND;
if (!shift) {
- return control ? ui::TextEditCommand::MOVE_WORD_RIGHT
+ return command ? ui::TextEditCommand::MOVE_WORD_RIGHT
: ui::TextEditCommand::MOVE_RIGHT;
}
- return control ? ui::TextEditCommand::MOVE_WORD_RIGHT_AND_MODIFY_SELECTION
+ return command ? ui::TextEditCommand::MOVE_WORD_RIGHT_AND_MODIFY_SELECTION
: ui::TextEditCommand::MOVE_RIGHT_AND_MODIFY_SELECTION;
case ui::VKEY_LEFT:
// Ignore alt+left, which may be a browser navigation shortcut.
if (alt)
return ui::TextEditCommand::INVALID_COMMAND;
if (!shift) {
- return control ? ui::TextEditCommand::MOVE_WORD_LEFT
+ return command ? ui::TextEditCommand::MOVE_WORD_LEFT
: ui::TextEditCommand::MOVE_LEFT;
}
- return control ? ui::TextEditCommand::MOVE_WORD_LEFT_AND_MODIFY_SELECTION
+ return command ? ui::TextEditCommand::MOVE_WORD_LEFT_AND_MODIFY_SELECTION
: ui::TextEditCommand::MOVE_LEFT_AND_MODIFY_SELECTION;
case ui::VKEY_HOME:
return shift ? ui::TextEditCommand::
@@ -144,7 +144,7 @@
? ui::TextEditCommand::MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION
: ui::TextEditCommand::MOVE_TO_END_OF_LINE;
case ui::VKEY_BACK:
- if (!control)
+ if (!command)
return ui::TextEditCommand::DELETE_BACKWARD;
#if defined(OS_LINUX)
// Only erase by line break on Linux and ChromeOS.
@@ -155,17 +155,17 @@
case ui::VKEY_DELETE:
#if defined(OS_LINUX)
// Only erase by line break on Linux and ChromeOS.
- if (shift && control)
+ if (shift && command)
return ui::TextEditCommand::DELETE_TO_END_OF_LINE;
#endif
- if (control)
+ if (command)
return ui::TextEditCommand::DELETE_WORD_FORWARD;
return shift ? ui::TextEditCommand::CUT
: ui::TextEditCommand::DELETE_FORWARD;
case ui::VKEY_INSERT:
- if (control && !shift)
+ if (command && !shift)
return ui::TextEditCommand::COPY;
- return (shift && !control) ? ui::TextEditCommand::PASTE
+ return (shift && !command) ? ui::TextEditCommand::PASTE
: ui::TextEditCommand::INVALID_COMMAND;
default:
return ui::TextEditCommand::INVALID_COMMAND;
@hparadiz
Copy link

Hi!

Randomly found this. Just to confirm does this convert CTRL+ hotkeys to Meta+ in Linux?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment