{
  "title": "Emacs key bindings (rev 13)",
  "maintainers": [
    "tekezo"
  ],
  "rules": [
    {
      "description": "Emacs key bindings [control+keys] (rev 11)",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "d",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "delete_forward"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "h",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "delete_or_backspace"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "i",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "tab"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "open_bracket",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "key_code": "escape"
            }
          ],
          "conditions": [
            {
              "type": "keyboard_type_if",
              "keyboard_types": [
                "ansi",
                "iso"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "close_bracket",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "key_code": "escape"
            }
          ],
          "conditions": [
            {
              "type": "keyboard_type_if",
              "keyboard_types": [
                "jis"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "m",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "return_or_enter"
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "b",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "left_arrow"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "right_arrow"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "n",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "down_arrow"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "p",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "up_arrow"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "v",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "page_down"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "a",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "home"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.Excel$",
                "^com\\.microsoft\\.Powerpoint$",
                "^com\\.microsoft\\.Word$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "e",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "end"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.Excel$",
                "^com\\.microsoft\\.Powerpoint$",
                "^com\\.microsoft\\.Word$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "k",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "end",
              "modifiers": [
                "left_shift"
              ]
            },
            {
              "key_code": "delete_forward"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.Excel$",
                "^com\\.microsoft\\.Powerpoint$",
                "^com\\.microsoft\\.Word$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "a",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "left_arrow",
              "modifiers": [
                "left_command"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^org\\.eclipse\\.platform\\.ide$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "e",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "right_arrow",
              "modifiers": [
                "left_command"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^org\\.eclipse\\.platform\\.ide$"
              ]
            }
          ]
        }
      ]
    },
    {
      "description": "Emacs key bindings [option+keys] (rev 5)",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "v",
            "modifiers": {
              "mandatory": [
                "option"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "page_up"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "b",
            "modifiers": {
              "mandatory": [
                "option"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "left_arrow",
              "modifiers": [
                "left_option"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f",
            "modifiers": {
              "mandatory": [
                "option"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "right_arrow",
              "modifiers": [
                "left_option"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "d",
            "modifiers": {
              "mandatory": [
                "option"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "key_code": "delete_forward",
              "modifiers": [
                "left_option"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        }
      ]
    },
    {
      "description": "Emacs key bindings [C-x key strokes] (rev 2)",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "c",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "key_code": "q",
              "modifiers": [
                "left_command"
              ]
            }
          ],
          "conditions": [
            {
              "type": "variable_if",
              "name": "C-x",
              "value": 1
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "key_code": "o",
              "modifiers": [
                "left_command"
              ]
            }
          ],
          "conditions": [
            {
              "type": "variable_if",
              "name": "C-x",
              "value": 1
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "s",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "key_code": "s",
              "modifiers": [
                "left_command"
              ]
            }
          ],
          "conditions": [
            {
              "type": "variable_if",
              "name": "C-x",
              "value": 1
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "any": "key_code",
            "modifiers": {
              "optional": [
                "any"
              ]
            }
          },
          "conditions": [
            {
              "type": "variable_if",
              "name": "C-x",
              "value": 1
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "x",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "set_variable": {
                "name": "C-x",
                "value": 1
              }
            }
          ],
          "to_delayed_action": {
            "to_if_invoked": [
              {
                "set_variable": {
                  "name": "C-x",
                  "value": 0
                }
              }
            ],
            "to_if_canceled": [
              {
                "set_variable": {
                  "name": "C-x",
                  "value": 0
                }
              }
            ]
          },
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        }
      ]
    },
    {
      "description": "Bash style Emacs key bindings (rev 2)",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "w",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "key_code": "delete_or_backspace",
              "modifiers": [
                "left_option"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "u",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "key_code": "left_arrow",
              "modifiers": [
                "left_command",
                "left_shift"
              ]
            },
            {
              "key_code": "delete_or_backspace",
              "repeat": false
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^org\\.gnu\\.Emacs$",
                "^org\\.gnu\\.AquamacsEmacs$",
                "^org\\.gnu\\.Aquamacs$",
                "^org\\.pqrs\\.unknownapp\\.conkeror$",
                "^com\\.microsoft\\.rdc$",
                "^com\\.microsoft\\.rdc\\.",
                "^net\\.sf\\.cord$",
                "^com\\.thinomenon\\.RemoteDesktopConnection$",
                "^com\\.itap-mobile\\.qmote$",
                "^com\\.nulana\\.remotixmac$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                "^com\\.p5sys\\.jump\\.mac\\.viewer\\.",
                "^com\\.teamviewer\\.TeamViewer$",
                "^com\\.vmware\\.horizon$",
                "^com\\.2X\\.Client\\.Mac$",
                "^com\\.OpenText\\.Exceed-TurboX-Client$",
                "^com\\.realvnc\\.vncviewer$",
                "^com\\.citrix\\.receiver\\.icaviewer",
                "^com\\.apple\\.Terminal$",
                "^com\\.googlecode\\.iterm2$",
                "^co\\.zeit\\.hyperterm$",
                "^co\\.zeit\\.hyper$",
                "^io\\.alacritty$",
                "^org\\.alacritty$",
                "^net\\.kovidgoyal\\.kitty$",
                "^com\\.mitchellh\\.ghostty$",
                "^org\\.vim\\.",
                "^com\\.qvacua\\.VimR$",
                "^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\\.",
                "^com\\.utmapp\\.UTM$",
                "^org\\.x\\.X11$",
                "^com\\.apple\\.x11$",
                "^org\\.macosforge\\.xquartz\\.X11$",
                "^org\\.macports\\.X11$",
                "^com\\.sublimetext\\.",
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        }
      ]
    },
    {
      "description": "For Visual Studio Code: Emacs key bindings [control+keys] (rev 11)",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "d",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "delete_forward"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "h",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "delete_or_backspace"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "i",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "tab"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "open_bracket",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "key_code": "escape"
            }
          ],
          "conditions": [
            {
              "type": "keyboard_type_if",
              "keyboard_types": [
                "ansi",
                "iso"
              ]
            },
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "close_bracket",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "key_code": "escape"
            }
          ],
          "conditions": [
            {
              "type": "keyboard_type_if",
              "keyboard_types": [
                "jis"
              ]
            },
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "m",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "return_or_enter"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "b",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "left_arrow"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "right_arrow"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "n",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "down_arrow"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "p",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift",
                "option"
              ]
            }
          },
          "to": [
            {
              "key_code": "up_arrow"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "v",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "page_down"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "a",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "home"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.Excel$",
                "^com\\.microsoft\\.Powerpoint$",
                "^com\\.microsoft\\.Word$"
              ]
            },
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "e",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "end"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.Excel$",
                "^com\\.microsoft\\.Powerpoint$",
                "^com\\.microsoft\\.Word$"
              ]
            },
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "k",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "end",
              "modifiers": [
                "left_shift"
              ]
            },
            {
              "key_code": "delete_forward"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.Excel$",
                "^com\\.microsoft\\.Powerpoint$",
                "^com\\.microsoft\\.Word$"
              ]
            },
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "a",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "left_arrow",
              "modifiers": [
                "left_command"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^org\\.eclipse\\.platform\\.ide$"
              ]
            },
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "e",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "right_arrow",
              "modifiers": [
                "left_command"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^org\\.eclipse\\.platform\\.ide$"
              ]
            },
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "a",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "left_arrow",
              "modifiers": [
                "left_command"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "e",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "right_arrow",
              "modifiers": [
                "left_command"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        }
      ]
    },
    {
      "description": "For Visual Studio Code: Emacs key bindings [option+keys] (rev 5)",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "v",
            "modifiers": {
              "mandatory": [
                "option"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "page_up"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "b",
            "modifiers": {
              "mandatory": [
                "option"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "left_arrow",
              "modifiers": [
                "left_option"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f",
            "modifiers": {
              "mandatory": [
                "option"
              ],
              "optional": [
                "caps_lock",
                "shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "right_arrow",
              "modifiers": [
                "left_option"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "d",
            "modifiers": {
              "mandatory": [
                "option"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "key_code": "delete_forward",
              "modifiers": [
                "left_option"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        }
      ]
    },
    {
      "description": "For Visual Studio Code: Bash style Emacs key bindings (rev 2)",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "w",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "key_code": "delete_or_backspace",
              "modifiers": [
                "left_option"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "u",
            "modifiers": {
              "mandatory": [
                "control"
              ],
              "optional": [
                "caps_lock"
              ]
            }
          },
          "to": [
            {
              "key_code": "left_arrow",
              "modifiers": [
                "left_command",
                "left_shift"
              ]
            },
            {
              "key_code": "delete_or_backspace",
              "repeat": false
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.VSCode$"
              ]
            }
          ]
        }
      ]
    }
  ]
}
