diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/keyboard.js b/packages/node_modules/@node-red/editor-client/src/js/ui/keyboard.js index 7a38a290d..5c1be9c2b 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/keyboard.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/keyboard.js @@ -243,7 +243,13 @@ RED.keyboard = (function() { function resolveKeyEvent(evt) { var slot = partialState||handlers; - if (evt.ctrlKey || evt.metaKey) { + // We cheat with MacOS CMD key and consider it the same as Ctrl. + // That means we don't have to have separate keymaps for different OS. + // It mostly works. + // One exception is shortcuts that include both Cmd and Ctrl. We don't + // support them - but we need to make sure we don't block browser-specific + // shortcuts (such as Cmd-Ctrl-F for fullscreen). + if ((evt.ctrlKey || evt.metaKey) && (evt.ctrlKey !== evt.metaKey)) { slot = slot.ctrl; } if (slot && evt.shiftKey) {