diff --git a/core b/core index f70c9a73b..6b6f0c645 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit f70c9a73bdc1e8e0c4e242ad32c2ad30cf244260 +Subproject commit 6b6f0c64504297691b8d3522dd61465d9067c0e2 diff --git a/public/json/personal_tekezo_launcher_mode_v4.json b/public/json/personal_tekezo_launcher_mode_v4.json index dfb27f401..f420d4576 100644 --- a/public/json/personal_tekezo_launcher_mode_v4.json +++ b/public/json/personal_tekezo_launcher_mode_v4.json @@ -13,9 +13,6 @@ "from": { "key_code": "1", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -58,9 +55,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -86,9 +80,6 @@ "from": { "key_code": "3", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -131,9 +122,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -159,9 +147,6 @@ "from": { "key_code": "5", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -204,9 +189,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -232,9 +214,6 @@ "from": { "key_code": "6", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -277,9 +256,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -305,9 +281,6 @@ "from": { "key_code": "a", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -350,9 +323,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -378,9 +348,6 @@ "from": { "key_code": "c", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -423,9 +390,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -451,9 +415,6 @@ "from": { "key_code": "e", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -496,9 +457,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -524,9 +482,6 @@ "from": { "key_code": "f", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -569,9 +524,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -597,9 +549,6 @@ "from": { "key_code": "m", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -642,9 +591,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -670,9 +616,6 @@ "from": { "key_code": "q", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -715,9 +658,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -743,9 +683,6 @@ "from": { "key_code": "s", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -788,9 +725,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -816,9 +750,6 @@ "from": { "key_code": "t", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -861,9 +792,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -889,9 +817,6 @@ "from": { "key_code": "v", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -934,9 +859,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -962,9 +884,6 @@ "from": { "key_code": "left_control", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -1007,9 +926,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -1035,9 +951,6 @@ "from": { "key_code": "left_shift", "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] @@ -1080,9 +993,6 @@ ] }, "modifiers": { - "mandatory": [ - - ], "optional": [ "any" ] diff --git a/public/json/windows_shortcuts_on_macos.json b/public/json/windows_shortcuts_on_macos.json index c3fc75fa0..e460fe781 100644 --- a/public/json/windows_shortcuts_on_macos.json +++ b/public/json/windows_shortcuts_on_macos.json @@ -1,2003 +1,2003 @@ { - "title": "Windows shortcuts on macOS", - "rules": [ + "title": "Windows shortcuts on macOS", + "rules": [ + { + "description": "Ctrl+C, Ctrl+V, Ctrl+X => Cmd+C (Copy), Cmd+V (Paste), Cmd+X (Cut)", + "manipulators": [ { - "description": "Ctrl+C, Ctrl+V, Ctrl+X => Cmd+C (Copy), Cmd+V (Paste), Cmd+X (Cut)", - "manipulators": [ - { - "type": "basic", - "from": { - "key_code": "c", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "c", - "modifiers": [ - "left_command" - ] - } - ], - "conditions": [ - { - "type": "frontmost_application_unless", - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ] - } - ] - }, - { - "type": "basic", - "from": { - "key_code": "v", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "v", - "modifiers": [ - "left_command" - ] - } - ], - "conditions": [ - { - "type": "frontmost_application_unless", - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ] - } - ] - }, - { - "type": "basic", - "from": { - "key_code": "x", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "x", - "modifiers": [ - "left_command" - ] - } - ], - "conditions": [ - { - "type": "frontmost_application_unless", - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ] - } - ] - } - ] + "type": "basic", + "from": { + "key_code": "c", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": [ + "left_command" + ] + } + ], + "conditions": [ + { + "type": "frontmost_application_unless", + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ] + } + ] }, { - "description": "Ctrl+Z => Cmd+Z (Undo)", - "manipulators": [ - { - "conditions": [ - { - "input_sources": [ - { - "language": "^de$" - } - ], - "type": "input_source_if" - }, - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "y", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "y", - "modifiers": [ - "left_command" - ] - } - ], - "type": "basic" - }, - { - "conditions": [ - { - "input_sources": [ - { - "language": "^de$" - } - ], - "type": "input_source_unless" - }, - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "z", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "z", - "modifiers": [ - "left_command" - ] - } - ], - "type": "basic" - } - ] + "type": "basic", + "from": { + "key_code": "v", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": [ + "left_command" + ] + } + ], + "conditions": [ + { + "type": "frontmost_application_unless", + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ] + } + ] }, { - "description": "Ctrl+Y => Cmd+Shift+Z (Redo)", - "manipulators": [ - { - "conditions": [ - { - "input_sources": [ - { - "language": "^de$" - } - ], - "type": "input_source_if" - }, - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "z", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "y", - "modifiers": [ - "left_command", - "left_shift" - ] - } - ], - "type": "basic" - }, - { - "conditions": [ - { - "input_sources": [ - { - "language": "^de$" - } - ], - "type": "input_source_unless" - }, - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "y", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "z", - "modifiers": [ - "left_command", - "left_shift" - ] - } - ], - "type": "basic" - } - ] - }, + "type": "basic", + "from": { + "key_code": "x", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "x", + "modifiers": [ + "left_command" + ] + } + ], + "conditions": [ + { + "type": "frontmost_application_unless", + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ] + } + ] + } + ] + }, + { + "description": "Ctrl+Z => Cmd+Z (Undo)", + "manipulators": [ { - "description": "Ctrl+A => Cmd+A (Select all)", - "manipulators": [ + "conditions": [ + { + "input_sources": [ { - "conditions": [ - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "a", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "a", - "modifiers": [ - "left_command" - ] - } - ], - "type": "basic" + "language": "^de$" } - ] + ], + "type": "input_source_if" + }, + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "y", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "y", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" }, { - "description": "Ctrl+S => Cmd+S (Save)", - "manipulators": [ + "conditions": [ + { + "input_sources": [ { - "conditions": [ - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "s", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "s", - "modifiers": [ - "left_command" - ] - } - ], - "type": "basic" + "language": "^de$" } - ] - }, + ], + "type": "input_source_unless" + }, + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "z", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "z", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+Y => Cmd+Shift+Z (Redo)", + "manipulators": [ { - "description": "Ctrl+N => Cmd+N (New)", - "manipulators": [ + "conditions": [ + { + "input_sources": [ { - "conditions": [ - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "n", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "n", - "modifiers": [ - "left_command" - ] - } - ], - "type": "basic" + "language": "^de$" } - ] + ], + "type": "input_source_if" + }, + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "z", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "y", + "modifiers": [ + "left_command", + "left_shift" + ] + } + ], + "type": "basic" }, { - "description": "Ctrl+F => Cmd+F (Find)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "f", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "f", - "modifiers": [ - "left_command" - ] - } - ], - "type": "basic" - }, + "conditions": [ + { + "input_sources": [ { - "conditions": [ - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "g", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "g", - "modifiers": [ - "left_command" - ] - } - ], - "type": "basic" + "language": "^de$" } - ] - }, + ], + "type": "input_source_unless" + }, + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "y", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "z", + "modifiers": [ + "left_command", + "left_shift" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+A => Cmd+A (Select all)", + "manipulators": [ { - "description": "Ctrl+W => Cmd+W (Close)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "w", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "w", - "modifiers": [ - "left_command" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "a", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "a", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+S => Cmd+S (Save)", + "manipulators": [ { - "description": "Alt+F4 => Cmd+Q (Exit application)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "f4", - "modifiers": { - "mandatory": [ - "option" - ] - } - }, - "to": [ - { - "key_code": "q", - "modifiers": [ - "left_command" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "s", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "s", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+N => Cmd+N (New)", + "manipulators": [ { - "description": "Home => Cmd+Left arrow (Move cursor to beginning of line)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyper$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.microsoft\\.rdc\\.macos$", - "^tv\\.parsec\\.www$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "home" - }, - "to": [ - { - "key_code": "left_arrow", - "modifiers": [ - "command" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "n", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "n", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+F => Cmd+F (Find)", + "manipulators": [ { - "description": "Shift+Home => Cmd+Shift+Left arrow (Move cursor to beginning of line with selection)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyper$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.microsoft\\.rdc\\.macos$", - "^tv\\.parsec\\.www$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "home", - "modifiers": { - "mandatory": [ - "shift" - ] - } - }, - "to": [ - { - "key_code": "left_arrow", - "modifiers": [ - "command", - "shift" - ] - } - ], - "type": "basic" - } - ] + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "f", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" }, { - "description": "Ctrl+Home, Ctrl+Shift+Home => Cmd+Up arrow, Cmd+Shift+Up arrow (Move cursor to beginning of file with and without selection)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyper$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.microsoft\\.rdc\\.macos$", - "^tv\\.parsec\\.www$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "home", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "shift" - ] - } - }, - "to": [ - { - "key_code": "up_arrow", - "modifiers": [ - "command" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "g", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "g", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+W => Cmd+W (Close)", + "manipulators": [ { - "description": "End => Cmd+Right arrow (Move cursor to end of line)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyper$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.microsoft\\.rdc\\.macos$", - "^tv\\.parsec\\.www$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "end" - }, - "to": [ - { - "key_code": "right_arrow", - "modifiers": [ - "command" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "w", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "w", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Alt+F4 => Cmd+Q (Exit application)", + "manipulators": [ { - "description": "Shift+End => Cmd+Shift+Right arrow (Move cursor to end of line with selection)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyper$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.microsoft\\.rdc\\.macos$", - "^tv\\.parsec\\.www$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "end", - "modifiers": { - "mandatory": [ - "shift" - ] - } - }, - "to": [ - { - "key_code": "right_arrow", - "modifiers": [ - "command", - "shift" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f4", + "modifiers": { + "mandatory": [ + "option" + ] + } + }, + "to": [ + { + "key_code": "q", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home => Cmd+Left arrow (Move cursor to beginning of line)", + "manipulators": [ { - "description": "Ctrl+End, Ctrl+Shift+End => Cmd+down arrow, Cmd+Shift+down arrow (Move cursor to end of file with and without selection)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyper$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.microsoft\\.rdc\\.macos$", - "^tv\\.parsec\\.www$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "end", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "shift" - ] - } - }, - "to": [ - { - "key_code": "down_arrow", - "modifiers": [ - "command" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyper$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.microsoft\\.rdc\\.macos$", + "^tv\\.parsec\\.www$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home" + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": [ + "command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Shift+Home => Cmd+Shift+Left arrow (Move cursor to beginning of line with selection)", + "manipulators": [ { - "description": "Ctrl+T => Cmd+T (New tab)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyper$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.microsoft\\.rdc\\.macos$", - "^tv\\.parsec\\.www$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "t", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "t", - "modifiers": [ - "command" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyper$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.microsoft\\.rdc\\.macos$", + "^tv\\.parsec\\.www$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": [ + "shift" + ] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": [ + "command", + "shift" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+Home, Ctrl+Shift+Home => Cmd+Up arrow, Cmd+Shift+Up arrow (Move cursor to beginning of file with and without selection)", + "manipulators": [ { - "description": "Ctrl+B => Cmd+B (Bold)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyper$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.microsoft\\.rdc\\.macos$", - "^tv\\.parsec\\.www$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "b", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "b", - "modifiers": [ - "command" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyper$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.microsoft\\.rdc\\.macos$", + "^tv\\.parsec\\.www$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "shift" + ] + } + }, + "to": [ + { + "key_code": "up_arrow", + "modifiers": [ + "command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End => Cmd+Right arrow (Move cursor to end of line)", + "manipulators": [ { - "description": "Ctrl+I => Cmd+I (Italic)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyper$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.microsoft\\.rdc\\.macos$", - "^tv\\.parsec\\.www$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "i", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "i", - "modifiers": [ - "command" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyper$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.microsoft\\.rdc\\.macos$", + "^tv\\.parsec\\.www$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end" + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": [ + "command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Shift+End => Cmd+Shift+Right arrow (Move cursor to end of line with selection)", + "manipulators": [ { - "description": "Ctrl+L => Cmd+L (Open url location) (Only in browsers)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^org\\.mozilla\\.firefox$", - "^org\\.mozilla\\.firefoxdeveloperedition$", - "^org\\.mozilla\\.nightly$", - "^com\\.microsoft\\.Edge", - "^com\\.google\\.Chrome$", - "^com\\.brave\\.Browser$", - "^com\\.apple\\.Safari$" - ], - "type": "frontmost_application_if" - } - ], - "from": { - "key_code": "l", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "l", - "modifiers": [ - "left_command" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyper$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.microsoft\\.rdc\\.macos$", + "^tv\\.parsec\\.www$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": [ + "shift" + ] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": [ + "command", + "shift" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+End, Ctrl+Shift+End => Cmd+down arrow, Cmd+Shift+down arrow (Move cursor to end of file with and without selection)", + "manipulators": [ { - "description": "Ctrl+R => Cmd+R (Reload) (Only in browsers)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^org\\.mozilla\\.firefox$", - "^org\\.mozilla\\.firefoxdeveloperedition$", - "^org\\.mozilla\\.nightly$", - "^com\\.microsoft\\.Edge", - "^com\\.google\\.Chrome$", - "^com\\.brave\\.Browser$", - "^com\\.apple\\.Safari$" - ], - "type": "frontmost_application_if" - } - ], - "from": { - "key_code": "r", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "r", - "modifiers": [ - "left_command" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyper$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.microsoft\\.rdc\\.macos$", + "^tv\\.parsec\\.www$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "shift" + ] + } + }, + "to": [ + { + "key_code": "down_arrow", + "modifiers": [ + "command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+T => Cmd+T (New tab)", + "manipulators": [ { - "description": "F5 => Cmd+r (Reload)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "f5", - "modifiers": { - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "r", - "modifiers": [ - "left_command" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyper$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.microsoft\\.rdc\\.macos$", + "^tv\\.parsec\\.www$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "t", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "t", + "modifiers": [ + "command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+B => Cmd+B (Bold)", + "manipulators": [ { - "description": "Ctrl+Tab => Cmd+Tab (Switch application)", - "manipulators": [ - { - "from": { - "key_code": "tab", - "modifiers": { - "mandatory": [ - "option" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "tab", - "modifiers": [ - "left_command" - ] - } - ], - "type": "basic" - }, - { - "from": { - "key_code": "tab", - "modifiers": { - "mandatory": [ - "option", - "left_shift" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "tab", - "modifiers": [ - "left_command", - "left_shift" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyper$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.microsoft\\.rdc\\.macos$", + "^tv\\.parsec\\.www$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "b", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "b", + "modifiers": [ + "command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+I => Cmd+I (Italic)", + "manipulators": [ { - "description": "Cmd+Tab => Cmd+Alt+0 (Reassigned command for opening Mission control)", - "manipulators": [ - { - "from": { - "key_code": "tab", - "modifiers": { - "mandatory": [ - "left_command" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "0", - "modifiers": [ - "left_command", - "left_option" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyper$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.microsoft\\.rdc\\.macos$", + "^tv\\.parsec\\.www$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "i", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": [ + "command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+L => Cmd+L (Open url location) (Only in browsers)", + "manipulators": [ { - "description": "Ctrl+(Shift)+Right/left arrow => Alt+(Shift)+Right/left arrow (Move cursor one word with selection and without selection)", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "left_arrow", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "shift" - ] - } - }, - "to": [ - { - "key_code": "left_arrow", - "modifiers": [ - "left_option" - ] - } - ], - "type": "basic" - }, - { - "conditions": [ - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "right_arrow", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "shift" - ] - } - }, - "to": [ - { - "key_code": "right_arrow", - "modifiers": [ - "left_option" - ] - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^org\\.mozilla\\.firefoxdeveloperedition$", + "^org\\.mozilla\\.nightly$", + "^com\\.microsoft\\.Edge", + "^com\\.google\\.Chrome$", + "^com\\.brave\\.Browser$", + "^com\\.apple\\.Safari$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "l", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "l", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+R => Cmd+R (Reload) (Only in browsers)", + "manipulators": [ { - "description": "Ctrl+Up/down arrow => Up/down arrow (Move cursor up/down)", - "manipulators": [ - { - "type": "basic", - "from": { - "key_code": "up_arrow", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "shift" - ] - } - }, - "to": [ - { - "key_code": "up_arrow" - } - ], - "conditions": [ - { - "type": "frontmost_application_unless", - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ] - } - ] - }, - { - "type": "basic", - "from": { - "key_code": "down_arrow", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "shift" - ] - } - }, - "to": [ - { - "key_code": "down_arrow", - "modifiers": [] - } - ], - "conditions": [ - { - "type": "frontmost_application_unless", - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$", - "^org\\.macports\\.X11$", - "^com\\.apple\\.Terminal$", - "^com\\.googlecode\\.iterm2$", - "^co\\.zeit\\.hyperterm$", - "^co\\.zeit\\.hyper$", - "^io\\.alacritty$", - "^net\\.kovidgoyal\\.kitty$" - ] - } - ] - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^org\\.mozilla\\.firefoxdeveloperedition$", + "^org\\.mozilla\\.nightly$", + "^com\\.microsoft\\.Edge", + "^com\\.google\\.Chrome$", + "^com\\.brave\\.Browser$", + "^com\\.apple\\.Safari$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "r", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "r", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F5 => Cmd+r (Reload)", + "manipulators": [ { - "description": "Cmd+L => Logout (CGSession -suspend)", - "manipulators": [ - { - "from": { - "key_code": "l", - "modifiers": { - "mandatory": [ - "command" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "shell_command": "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend" - } - ], - "type": "basic" - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f5", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "r", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+Tab => Cmd+Tab (Switch application)", + "manipulators": [ { - "description": "Ctrl+Esc => Open Launchpad", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "escape", - "modifiers": { - "mandatory": [ - "control" - ] - } - }, - "to": [ - { - "key_code": "launchpad", - "modifiers": [] - } - ], - "type": "basic" - } - ] + "from": { + "key_code": "tab", + "modifiers": { + "mandatory": [ + "option" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "tab", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" }, { - "description": "Ctrl+Shift+Esc => Open Activity Monitor", - "manipulators": [ - { - "conditions": [ - { - "bundle_identifiers": [ - "^com\\.microsoft\\.rdc$", - "^com\\.microsoft\\.rdc\\.mac$", - "^com\\.microsoft\\.rdc\\.macos$", - "^com\\.microsoft\\.rdc\\.osx\\.beta$", - "^net\\.sf\\.cord$", - "^com\\.thinomenon\\.RemoteDesktopConnection$", - "^com\\.itap-mobile\\.qmote$", - "^com\\.nulana\\.remotixmac$", - "^com\\.p5sys\\.jump\\.mac\\.viewer$", - "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", - "^com\\.teamviewer\\.TeamViewer$", - "^com\\.vmware\\.horizon$", - "^com\\.2X\\.Client\\.Mac$", - "^com\\.vmware\\.fusion$", - "^com\\.vmware\\.horizon$", - "^com\\.vmware\\.view$", - "^com\\.parallels\\.desktop$", - "^com\\.parallels\\.vm$", - "^com\\.parallels\\.desktop\\.console$", - "^org\\.virtualbox\\.app\\.VirtualBoxVM$", - "^com\\.citrix\\.XenAppViewer$", - "^com\\.vmware\\.proxyApp\\.", - "^com\\.parallels\\.winapp\\.", - "^tv\\.parsec\\.www$" - ], - "type": "frontmost_application_unless" - } - ], - "from": { - "key_code": "escape", - "modifiers": { - "mandatory": [ - "control", - "shift" - ] - } - }, - "to": [ - { - "shell_command": "open -a 'Activity Monitor.app'" - } - ], - "type": "basic" - } - ] - }, + "from": { + "key_code": "tab", + "modifiers": { + "mandatory": [ + "option", + "left_shift" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "tab", + "modifiers": [ + "left_command", + "left_shift" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Cmd+Tab => Cmd+Alt+0 (Reassigned command for opening Mission control)", + "manipulators": [ { - "description": "Return => Cmd+o (Open) (Only in Finder)", - "manipulators": [ - { - "type": "basic", - "from": { - "key_code": "return_or_enter", - "modifiers": { - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "o", - "modifiers": [ - "right_command" - ] - } - ], - "conditions": [ - { - "type": "frontmost_application_if", - "bundle_identifiers": [ - "^com.apple.finder" - ] - } - ] - } - ] - }, + "from": { + "key_code": "tab", + "modifiers": { + "mandatory": [ + "left_command" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "0", + "modifiers": [ + "left_command", + "left_option" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+(Shift)+Right/left arrow => Alt+(Shift)+Right/left arrow (Move cursor one word with selection and without selection)", + "manipulators": [ { - "description": "F2 => Return (Rename) (Only in Finder)", - "manipulators": [ - { - "type": "basic", - "from": { - "key_code": "f2" - }, - "to": [ - { - "key_code": "return_or_enter" - } - ], - "conditions": [ - { - "type": "frontmost_application_if", - "bundle_identifiers": [ - "^com.apple.finder" - ] - } - ] - } - ] + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "left_arrow", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "shift" + ] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": [ + "left_option" + ] + } + ], + "type": "basic" }, { - "description": "Delete => Cmd+backspace (Delete) (Only in Finder)", - "manipulators": [ - { - "type": "basic", - "from": { - "key_code": "delete_forward", - "modifiers": { - "optional": [ - "any" - ] - } - }, - "to": [ - { - "key_code": "delete_or_backspace", - "modifiers": [ - "left_command" - ] - } - ], - "conditions": [ - { - "type": "frontmost_application_if", - "bundle_identifiers": [ - "^com.apple.finder" - ] - } - ] - } - ] - }, + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "right_arrow", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "shift" + ] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": [ + "left_option" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+Up/down arrow => Up/down arrow (Move cursor up/down)", + "manipulators": [ { - "description": "Backspace => Cmd+up (Go back) (Only in Finder)", - "manipulators": [ - { - "type": "basic", - "from": { - "key_code": "delete_or_backspace" - }, - "to": [ - { - "key_code": "up_arrow", - "modifiers": [ - "left_command" - ] - } - ], - "conditions": [ - { - "type": "frontmost_application_if", - "bundle_identifiers": [ - "^com.apple.finder" - ] - } - ] - } - ] + "type": "basic", + "from": { + "key_code": "up_arrow", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "shift" + ] + } + }, + "to": [ + { + "key_code": "up_arrow" + } + ], + "conditions": [ + { + "type": "frontmost_application_unless", + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ] + } + ] }, { - "description": "Ctrl+Left Click => Cmd+Left Click (select multiple items)", - "manipulators": [ - { - "from": { - "pointing_button": "button1", - "modifiers": { - "mandatory": [ - "control" - ], - "optional": [ - "any" - ] - } - }, - "to": [ - { - "pointing_button": "button1", - "modifiers": [ - "command" - ] - } - ], - "type": "basic" - } - ] + "type": "basic", + "from": { + "key_code": "down_arrow", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "shift" + ] + } + }, + "to": [ + { + "key_code": "down_arrow", + "modifiers": [] + } + ], + "conditions": [ + { + "type": "frontmost_application_unless", + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$", + "^org\\.macports\\.X11$", + "^com\\.apple\\.Terminal$", + "^com\\.googlecode\\.iterm2$", + "^co\\.zeit\\.hyperterm$", + "^co\\.zeit\\.hyper$", + "^io\\.alacritty$", + "^net\\.kovidgoyal\\.kitty$" + ] + } + ] + } + ] + }, + { + "description": "Cmd+L => Logout (CGSession -suspend)", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": [ + "command" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "shell_command": "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend" + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+Esc => Open Launchpad", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "escape", + "modifiers": { + "mandatory": [ + "control" + ] + } + }, + "to": [ + { + "key_code": "launchpad", + "modifiers": [] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Ctrl+Shift+Esc => Open Activity Monitor", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.microsoft\\.rdc$", + "^com\\.microsoft\\.rdc\\.mac$", + "^com\\.microsoft\\.rdc\\.macos$", + "^com\\.microsoft\\.rdc\\.osx\\.beta$", + "^net\\.sf\\.cord$", + "^com\\.thinomenon\\.RemoteDesktopConnection$", + "^com\\.itap-mobile\\.qmote$", + "^com\\.nulana\\.remotixmac$", + "^com\\.p5sys\\.jump\\.mac\\.viewer$", + "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$", + "^com\\.teamviewer\\.TeamViewer$", + "^com\\.vmware\\.horizon$", + "^com\\.2X\\.Client\\.Mac$", + "^com\\.vmware\\.fusion$", + "^com\\.vmware\\.horizon$", + "^com\\.vmware\\.view$", + "^com\\.parallels\\.desktop$", + "^com\\.parallels\\.vm$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.vmware\\.proxyApp\\.", + "^com\\.parallels\\.winapp\\.", + "^tv\\.parsec\\.www$" + ], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "escape", + "modifiers": { + "mandatory": [ + "control", + "shift" + ] + } + }, + "to": [ + { + "shell_command": "open -a 'Activity Monitor.app'" + } + ], + "type": "basic" + } + ] + }, + { + "description": "Return => Cmd+o (Open) (Only in Finder)", + "manipulators": [ + { + "type": "basic", + "from": { + "key_code": "return_or_enter", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "o", + "modifiers": [ + "right_command" + ] + } + ], + "conditions": [ + { + "type": "frontmost_application_if", + "bundle_identifiers": [ + "^com.apple.finder" + ] + } + ] + } + ] + }, + { + "description": "F2 => Return (Rename) (Only in Finder)", + "manipulators": [ + { + "type": "basic", + "from": { + "key_code": "f2" + }, + "to": [ + { + "key_code": "return_or_enter" + } + ], + "conditions": [ + { + "type": "frontmost_application_if", + "bundle_identifiers": [ + "^com.apple.finder" + ] + } + ] + } + ] + }, + { + "description": "Delete => Cmd+backspace (Delete) (Only in Finder)", + "manipulators": [ + { + "type": "basic", + "from": { + "key_code": "delete_forward", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "delete_or_backspace", + "modifiers": [ + "left_command" + ] + } + ], + "conditions": [ + { + "type": "frontmost_application_if", + "bundle_identifiers": [ + "^com.apple.finder" + ] + } + ] + } + ] + }, + { + "description": "Backspace => Cmd+up (Go back) (Only in Finder)", + "manipulators": [ + { + "type": "basic", + "from": { + "key_code": "delete_or_backspace" + }, + "to": [ + { + "key_code": "up_arrow", + "modifiers": [ + "left_command" + ] + } + ], + "conditions": [ + { + "type": "frontmost_application_if", + "bundle_identifiers": [ + "^com.apple.finder" + ] + } + ] + } + ] + }, + { + "description": "Ctrl+Left Click => Cmd+Left Click (select multiple items)", + "manipulators": [ + { + "from": { + "pointing_button": "button1", + "modifiers": { + "mandatory": [ + "control" + ], + "optional": [ + "any" + ] + } + }, + "to": [ + { + "pointing_button": "button1", + "modifiers": [ + "command" + ] + } + ], + "type": "basic" } - ] + ] + } + ] } diff --git a/src/json/fn_s_to_sleep.json.js b/src/json/fn_s_to_sleep.json.js index 3bd30214d..5e4223fb9 100644 --- a/src/json/fn_s_to_sleep.json.js +++ b/src/json/fn_s_to_sleep.json.js @@ -1,4 +1,4 @@ -// Javascript should be written in ECMAScript 5.1. +// JavaScript should be written in ECMAScript 5.1. console.log( JSON.stringify( diff --git a/src/json/ncspot.json.js b/src/json/ncspot.json.js index 49cb57da3..140bbe1ae 100644 --- a/src/json/ncspot.json.js +++ b/src/json/ncspot.json.js @@ -1,4 +1,4 @@ -// Javascript should be written in ECMAScript 5.1. +// JavaScript should be written in ECMAScript 5.1. /** * This script generates a JSON file for Karabiner-Elements to control the diff --git a/src/json/personal_tekezo_launcher_mode_v4.json.js b/src/json/personal_tekezo_launcher_mode_v4.json.js new file mode 100755 index 000000000..27f60d5fe --- /dev/null +++ b/src/json/personal_tekezo_launcher_mode_v4.json.js @@ -0,0 +1,164 @@ +// JavaScript should be written in ECMAScript 5.1. + +const parameters = { + simultaneous_threshold_milliseconds: 500, + trigger_key: 'o', +} + +function main() { + console.log( + JSON.stringify( + { + title: 'Personal rules (@tekezo) Launcher Mode v4', + maintainers: ['tekezo'], + rules: [ + { + description: 'Launcher Mode v4 (rev 19)', + available_since: '13.1.4', + manipulators: [].concat( + generate_launcher_mode( + '1', + [], + [ + { + shell_command: + 'open "$(dirname $(dirname $(xcode-select -p)))"', + }, + ] + ), + generate_launcher_mode( + '3', + [], + [{ shell_command: "open -a 'Firefox.app'" }] + ), + generate_launcher_mode( + '5', + [], + [{ shell_command: "open -a 'Microsoft Word.app'" }] + ), + generate_launcher_mode( + '6', + [], + [{ shell_command: "open -a 'Microsoft Excel.app'" }] + ), + generate_launcher_mode( + 'a', + [], + [{ shell_command: "open -a 'Activity Monitor.app'" }] + ), + generate_launcher_mode( + 'c', + [], + [{ shell_command: "open -a 'Google Chrome.app'" }] + ), + generate_launcher_mode( + 'e', + [], + [{ shell_command: "open -a 'Visual Studio Code.app'" }] + ), + generate_launcher_mode( + 'f', + [], + [{ shell_command: "open -a 'Finder.app'" }] + ), + generate_launcher_mode( + 'm', + [], + [{ shell_command: "open -a 'Thunderbird.app'" }] + ), + generate_launcher_mode( + 'q', + [], + [{ shell_command: "open -a 'Dictionary.app'" }] + ), + generate_launcher_mode( + 's', + [], + [{ shell_command: "open -a 'Safari.app'" }] + ), + generate_launcher_mode( + 't', + [], + [{ shell_command: "open -a 'Terminal.app'" }] + ), + generate_launcher_mode( + 'v', + [], + [{ shell_command: "open -a 'Slack.app'" }] + ), + + generate_launcher_mode( + 'left_control', + [], + [{ key_code: 'mission_control' }] + ), + generate_launcher_mode( + 'left_shift', + [], + [{ apple_vendor_keyboard_key_code: 'launchpad' }] + ) + ), + }, + ], + }, + null, + ' ' + ) + ) +} + +function generate_launcher_mode(from_key_code, mandatory_modifiers, to) { + return [ + { + type: 'basic', + from: { + key_code: from_key_code, + modifiers: { optional: ['any'] }, + }, + to: to, + conditions: [ + { + type: 'variable_if', + name: 'launcher_mode_v4', + value: 1, + }, + ], + }, + { + type: 'basic', + from: { + simultaneous: [ + { key_code: parameters.trigger_key }, + { key_code: from_key_code }, + ], + simultaneous_options: { + key_down_order: 'strict', + key_up_order: 'strict_inverse', + to_after_key_up: [ + { + set_variable: { + name: 'launcher_mode_v4', + value: 0, + }, + }, + ], + }, + modifiers: { optional: ['any'] }, + }, + to: [ + { + set_variable: { + name: 'launcher_mode_v4', + value: 1, + }, + }, + ].concat(to), + parameters: { + 'basic.simultaneous_threshold_milliseconds': + parameters.simultaneous_threshold_milliseconds, + }, + }, + ] +} + +main() diff --git a/src/json/personal_tekezo_launcher_mode_v4.json.rb b/src/json/personal_tekezo_launcher_mode_v4.json.rb deleted file mode 100755 index ec61940c4..000000000 --- a/src/json/personal_tekezo_launcher_mode_v4.json.rb +++ /dev/null @@ -1,103 +0,0 @@ -#!/usr/bin/env ruby - -# You can generate json by executing the following command on Terminal. -# -# $ ruby ./personal_tekezo_launcher_mode_v4.json.rb -# - -# Parameters - -PARAMETERS = { - :simultaneous_threshold_milliseconds => 500, - :trigger_key => 'o', -}.freeze - -############################################################ - -require 'json' -require_relative '../lib/karabiner' - -def main - data = { - 'title' => 'Personal rules (@tekezo) Launcher Mode v4', - 'maintainers' => ['tekezo'], - 'rules' => [ - { - 'description' => 'Launcher Mode v4 (rev 19)', - 'available_since' => '13.1.4', - 'manipulators' => [ - generate_launcher_mode('1', [], [{ 'shell_command' => 'open "$(dirname $(dirname $(xcode-select -p)))"' }]), - generate_launcher_mode('3', [], [{ 'shell_command' => "open -a 'Firefox.app'" }]), - generate_launcher_mode('5', [], [{ 'shell_command' => "open -a 'Microsoft Word.app'" }]), - generate_launcher_mode('6', [], [{ 'shell_command' => "open -a 'Microsoft Excel.app'" }]), - generate_launcher_mode('a', [], [{ 'shell_command' => "open -a 'Activity Monitor.app'" }]), - generate_launcher_mode('c', [], [{ 'shell_command' => "open -a 'Google Chrome.app'" }]), - generate_launcher_mode('e', [], [{ 'shell_command' => "open -a 'Visual Studio Code.app'" }]), - generate_launcher_mode('f', [], [{ 'shell_command' => "open -a 'Finder.app'" }]), - generate_launcher_mode('m', [], [{ 'shell_command' => "open -a 'Thunderbird.app'" }]), - generate_launcher_mode('q', [], [{ 'shell_command' => "open -a 'Dictionary.app'" }]), - generate_launcher_mode('s', [], [{ 'shell_command' => "open -a 'Safari.app'" }]), - generate_launcher_mode('t', [], [{ 'shell_command' => "open -a 'Terminal.app'" }]), - generate_launcher_mode('v', [], [{ 'shell_command' => "open -a 'Slack.app'" }]), - - generate_launcher_mode('left_control', [], [{ 'key_code' => 'mission_control' }]), - generate_launcher_mode('left_shift', [], [{ 'apple_vendor_keyboard_key_code' => 'launchpad' }]), - ].flatten, - }, - ], - } - - puts JSON.pretty_generate(data) -end - -def generate_launcher_mode(from_key_code, mandatory_modifiers, to) - data = [] - - ############################################################ - - h = { - 'type' => 'basic', - 'from' => { - 'key_code' => from_key_code, - 'modifiers' => Karabiner.from_modifiers(mandatory_modifiers), - }, - 'to' => to, - 'conditions' => [Karabiner.variable_if('launcher_mode_v4', 1)], - } - - data << h - - ############################################################ - - h = { - 'type' => 'basic', - 'from' => { - 'simultaneous' => [ - { 'key_code' => PARAMETERS[:trigger_key] }, - { 'key_code' => from_key_code }, - ], - 'simultaneous_options' => { - 'key_down_order' => 'strict', - 'key_up_order' => 'strict_inverse', - 'to_after_key_up' => [ - Karabiner.set_variable('launcher_mode_v4', 0), - ], - }, - 'modifiers' => Karabiner.from_modifiers(mandatory_modifiers), - }, - 'to' => [ - Karabiner.set_variable('launcher_mode_v4', 1), - ].concat(to), - 'parameters' => { - 'basic.simultaneous_threshold_milliseconds' => PARAMETERS[:simultaneous_threshold_milliseconds], - }, - } - - data << h - - ############################################################ - - data -end - -main diff --git a/src/json/personal_tekezo_simple_vi_mode.json.js b/src/json/personal_tekezo_simple_vi_mode.json.js new file mode 100755 index 000000000..647454768 --- /dev/null +++ b/src/json/personal_tekezo_simple_vi_mode.json.js @@ -0,0 +1,106 @@ +// JavaScript should be written in ECMAScript 5.1. + +const parameters = { + simultaneous_threshold_milliseconds: 500, +} + +function main() { + console.log( + JSON.stringify( + { + title: 'Personal rules (@tekezo) simple_vi_mode (rev 4)', + maintainers: ['tekezo'], + rules: [ + { + description: 'Simple Vi Mode v3 (rev 4)', + available_since: '13.6.0', + manipulators: [].concat( + generate_simple_vi_mode('j', 'down_arrow'), + generate_simple_vi_mode('k', 'up_arrow'), + generate_simple_vi_mode('h', 'left_arrow'), + generate_simple_vi_mode('l', 'right_arrow'), + generate_simple_vi_mode('f', 'fn'), + generate_simple_vi_mode('c', 'left_control'), + generate_simple_vi_mode('v', 'left_option'), + generate_simple_vi_mode('b', 'left_command') + ), + }, + ], + }, + null, + ' ' + ) + ) +} + +function generate_simple_vi_mode(from_key_code, to_key_code) { + return [ + { + type: 'basic', + from: { + key_code: from_key_code, + modifiers: { optional: ['any'] }, + }, + to: [ + { + key_code: to_key_code, + }, + ], + conditions: [ + { + type: 'variable_if', + name: 'simple_vi_mode', + value: 1, + }, + ], + }, + { + type: 'basic', + from: { + simultaneous: [{ key_code: 's' }, { key_code: from_key_code }], + simultaneous_options: { + key_down_order: 'strict', + key_up_order: 'strict_inverse', + to_after_key_up: [ + { + set_variable: { + name: 'simple_vi_mode', + value: 0, + }, + }, + { + set_notification_message: { + id: 'simple_vi_mode', + text: '', + }, + }, + ], + }, + modifiers: { optional: ['any'] }, + }, + to: [ + { + set_variable: { + name: 'simple_vi_mode', + value: 1, + }, + }, + { + set_notification_message: { + id: 'simple_vi_mode', + text: 'Simple Vi Mode v3', + }, + }, + { + key_code: to_key_code, + }, + ], + parameters: { + 'basic.simultaneous_threshold_milliseconds': + parameters.simultaneous_threshold_milliseconds, + }, + }, + ] +} + +main() diff --git a/src/json/personal_tekezo_simple_vi_mode.json.rb b/src/json/personal_tekezo_simple_vi_mode.json.rb deleted file mode 100755 index febdd35e3..000000000 --- a/src/json/personal_tekezo_simple_vi_mode.json.rb +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env ruby - -# Parameters - -PARAMETERS = { - :simultaneous_threshold_milliseconds => 500, -}.freeze - -############################################################ - -require 'json' -require_relative '../lib/karabiner' - -def main - puts JSON.pretty_generate( - 'title' => 'Personal rules (@tekezo) simple_vi_mode (rev 4)', - 'maintainers' => ['tekezo'], - 'rules' => [ - { - 'description' => 'Simple Vi Mode v3 (rev 4)', - "available_since": '13.6.0', - 'manipulators' => [ - generate_simple_vi_mode('j', 'down_arrow'), - generate_simple_vi_mode('k', 'up_arrow'), - generate_simple_vi_mode('h', 'left_arrow'), - generate_simple_vi_mode('l', 'right_arrow'), - generate_simple_vi_mode('f', 'fn'), - generate_simple_vi_mode('c', 'left_control'), - generate_simple_vi_mode('v', 'left_option'), - generate_simple_vi_mode('b', 'left_command'), - ].flatten, - }, - ] - ) -end - -def generate_simple_vi_mode(from_key_code, to_key_code) - [ - { - 'type' => 'basic', - 'from' => { - 'key_code' => from_key_code, - 'modifiers' => Karabiner.from_modifiers, - }, - 'to' => [ - { - 'key_code' => to_key_code, - }, - ], - 'conditions' => [ - { - 'type' => 'variable_if', - 'name' => 'simple_vi_mode', - 'value' => 1, - }, - ], - }, - { - 'type' => 'basic', - 'from' => { - 'simultaneous' => [ - { 'key_code' => 's' }, - { 'key_code' => from_key_code }, - ], - 'simultaneous_options' => { - 'key_down_order' => 'strict', - 'key_up_order' => 'strict_inverse', - 'to_after_key_up' => [ - Karabiner.set_variable('simple_vi_mode', 0), - Karabiner.set_notification_message('simple_vi_mode', ''), - ], - }, - 'modifiers' => Karabiner.from_modifiers, - }, - 'to' => [ - Karabiner.set_variable('simple_vi_mode', 1), - Karabiner.set_notification_message('simple_vi_mode', 'Simple Vi Mode v3'), - { - 'key_code' => to_key_code, - }, - ], - 'parameters' => { - 'basic.simultaneous_threshold_milliseconds' => PARAMETERS[:simultaneous_threshold_milliseconds], - }, - }, - ] -end - -main diff --git a/src/json/shift_keys_training_wheels.json.js b/src/json/shift_keys_training_wheels.json.js index 679b15a0c..2fecf3c15 100644 --- a/src/json/shift_keys_training_wheels.json.js +++ b/src/json/shift_keys_training_wheels.json.js @@ -1,4 +1,4 @@ -// Javascript should be written in ECMAScript 5.1. +// JavaScript should be written in ECMAScript 5.1. const generate_disable_left_shift_json = function (letter) { return { diff --git a/src/json/windows_shortcuts_on_macos.json.js b/src/json/windows_shortcuts_on_macos.json.js index 2a5fb6533..c9a5cda89 100644 --- a/src/json/windows_shortcuts_on_macos.json.js +++ b/src/json/windows_shortcuts_on_macos.json.js @@ -1,4 +1,4 @@ -// Javascript should be written in ECMAScript 5.1. +// JavaScript should be written in ECMAScript 5.1. const excludeBundleIdentifiersWindows = [ '^com\\.microsoft\\.rdc$', @@ -1190,6 +1190,6 @@ console.log( ], }, null, - ' ' + ' ' ) )