一、取消Karabiner-Elements开机时弹出窗口

Karabiner-Elements下载地址:https://karabiner-elements.pqrs.org/

Karabiner是mac下一个很好的修改按键映射软件,但是有一个问题就是它需要一直开着,设置的按键才会有效,比如我设置了capslock切换不同输入法。所以我必须设置开机自启,当我设置后,我发现每次都会弹出下面的窗口,即使我在登录项设置了隐藏也无济于事



ios系统输入法键盘弹出导致 苹果输入法自动弹出_配置文件


我的登录项设置如下:



ios系统输入法键盘弹出导致 苹果输入法自动弹出_ios系统输入法键盘弹出导致_02


解决方法

  • 打开mac启动台中的脚本编辑器
  • 新建脚本,将如下代码添加到脚本中-
  • do shell script "launchctl load -w /Library/LaunchAgents/org.pqrs.karabiner.karabiner_console_user_server.plist"
  • 如下图所示


ios系统输入法键盘弹出导致 苹果输入法自动弹出_配置文件_03


  • 保存脚本,取名为Karabiner-Loader,同时选择文件格式为应用程序,保存在任意目录均可


ios系统输入法键盘弹出导致 苹果输入法自动弹出_json_04


  • 最后在登录项时将这个app设置为开机自启,至此以后电脑开机就不会弹出烦人的窗口了


ios系统输入法键盘弹出导致 苹果输入法自动弹出_json_05


二、用 Capslock 切换输入法

ios系统输入法键盘弹出导致 苹果输入法自动弹出_配置文件_06


详见 Karabiner 按键设置方法:https://ke-complex-modifications.pqrs.org/

ios系统输入法键盘弹出导致 苹果输入法自动弹出_配置文件_07

ios系统输入法键盘弹出导致 苹果输入法自动弹出_json_08


设置完成后就可以用 Capslock 切换中英文输入法了(长按 caps lock 会显示输入法选单)

三、Karabiner 配置文件

Karabiner 的所有配置都以 JSON 格式文件保存在:~/.config/karabiner/karabiner.json 目录,如果在网上看到别人给出的配置需要编辑 karabiner.json 文件加到其中,如果需要备份配置则可以直接备份这个目录。

利用 Karabiner 将Capslock映射为command+control+option+shift+p

配置文件地址在 ~/.config/karabiner/karabiner.json,这里只贴出关键配置

"complex_modifications": {
  "parameters": {
    "basic.simultaneous_threshold_milliseconds": 50,
    "basic.to_delayed_action_delay_milliseconds": 500,
    "basic.to_if_alone_timeout_milliseconds": 1000,
    "basic.to_if_held_down_threshold_milliseconds": 500
  },
  "rules": [
    {
      "manipulators": [
        {
          "description": "Change caps_lock to command+control+option+shift+p.",
          "from": {
            "key_code": "caps_lock",
            "modifiers": {
              "optional": ["any"]
            }
          },
          "to": [
            {
              "key_code": "p",
              "modifiers": [
                "left_command",
                "left_control",
                "left_option",
                "left_shift"
              ]
            }
          ],
          "type": "basic"
        }
      ]
    }
  ]
}

单击左右Shift切换输入法 (参考:macOS 快速切换中英文输入法的快捷键)

{
	    "manipulators": [
	        {
	            "description": "单击左右Shift切换输入法",
	            "from": {
	                "key_code": "left_shift"
	            },
	            "to": [
	                {
	                    "key_code": "left_shift"
	                }
	            ],
	            "to_if_alone": [
	                {
	                    "key_code": "p",
	                    "modifiers": [
	                        "left_command",
	                        "left_control",
	                        "left_option",
	                        "left_shift"
	                    ]
	                }
	            ],
	            "type": "basic"
	        },
	        {
	            "from": {
	                "key_code": "right_shift"
	            },
	            "to": [
	                {
	                    "key_code": "right_shift"
	                }
	            ],
	            "to_if_alone": [
	                {
	                    "key_code": "p",
	                    "modifiers": [
	                        "left_command",
	                        "left_control",
	                        "left_option",
	                        "left_shift"
	                    ]
	                }
	            ],
	            "type": "basic"
	        }
	    ]
	}

以后再添加按键映射,只要按照和这个模块去设置就行了

ios系统输入法键盘弹出导致 苹果输入法自动弹出_json_09


ios系统输入法键盘弹出导致 苹果输入法自动弹出_ios系统输入法键盘弹出导致_10

删除 rules 需谨慎,因为 json 中对应的代码也会被删除

ios系统输入法键盘弹出导致 苹果输入法自动弹出_json_11


karabiner.json 备份注意事项

ios系统输入法键盘弹出导致 苹果输入法自动弹出_json_12

Karabiner 配置文件示例:https://github.com/babyking/KarabinerConfiguration

ios系统输入法键盘弹出导致 苹果输入法自动弹出_配置文件_13

四、外接机械键盘 option 和 cmd 互换

交换 cmd/opt

保证外接键盘的键位和内置键盘一样,不然会疯掉

ios系统输入法键盘弹出导致 苹果输入法自动弹出_配置文件_14