mac karabiner-elements 改键

321 阅读1分钟

karabiner-elements 是一个神器,而且有很多已有的改键方案

感觉使用统一的体验会更方便,所以需要改键,重新映射。

两套习惯注定是割裂的,不连续的,有额外负担和记忆开销的

image.png

image.png

可以看到上面有些名字很长的,基本上我都用不到,就删掉了

目前认为需要稍作改动,将上面的 ctrl + C V X 修改为 left_ctrl

image.png


{
   "description": "Left Ctrl + C V X => Cmd + C V X",
   "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\\.",
                       "^org\\.macports\\.X11$",
                       "^co\\.zeit\\.hyperterm$",
                       "^co\\.zeit\\.hyper$",
                       "^io\\.alacritty$",
                       "^net\\.kovidgoyal\\.kitty$",
                       "^tv\\.parsec\\.www$"
                   ],
                   "type": "frontmost_application_unless"
               }
           ],
           "from": {
               "key_code": "c",
               "modifiers": {
                   "mandatory": ["left_control"],
                   "optional": ["any"]
               }
           },
           "to": [
               {
                   "key_code": "c",
                   "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\\.",
                       "^org\\.macports\\.X11$",
                       "^co\\.zeit\\.hyperterm$",
                       "^co\\.zeit\\.hyper$",
                       "^io\\.alacritty$",
                       "^net\\.kovidgoyal\\.kitty$",
                       "^tv\\.parsec\\.www$"
                   ],
                   "type": "frontmost_application_unless"
               }
           ],
           "from": {
               "key_code": "v",
               "modifiers": {
                   "mandatory": ["left_control"],
                   "optional": ["any"]
               }
           },
           "to": [
               {
                   "key_code": "v",
                   "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\\.",
                       "^org\\.macports\\.X11$",
                       "^co\\.zeit\\.hyperterm$",
                       "^co\\.zeit\\.hyper$",
                       "^io\\.alacritty$",
                       "^net\\.kovidgoyal\\.kitty$",
                       "^tv\\.parsec\\.www$"
                   ],
                   "type": "frontmost_application_unless"
               }
           ],
           "from": {
               "key_code": "x",
               "modifiers": {
                   "mandatory": ["left_control"],
                   "optional": ["any"]
               }
           },
           "to": [
               {
                   "key_code": "x",
                   "modifiers": ["left_command"]
               }
           ],
           "type": "basic"
       }
   ]
}

参考

  1. ke-complex-modifications.pqrs.org/?q=mac%20wi…
  2. karabiner-elements.pqrs.org/