Hammerspoon 根据外接键盘自动切换 Karabiner-Element profile
2020-01-09
之前有一篇关于自动切换 Karabiner profile 的,因为 Karabiner 已经更新为 Karabiner Element,所以中间有一个小部分代码已失效。
这里给出经测试后可用的新代码,直接添加到 Hammerspoon 的 init.lua 文件。此文件一般位于:
~/.hammerspoon/init.lua
更改部分主要是 Karabiner-Element 的命令行位置发生了变化,截止到版本号 12.8,其命令行可执行文件位于:
‘/Library/Application Support/org.pqrs/Karabiner-Elements/bin/karabiner_cli’
具体可参考 https://pqrs.org/osx/karabiner/document.html#command-line-interface
需要注意的是,这里 cli 接受参数是按照 profile 名字来切换的,比如我们预设 Defualt 默认,和 PC 外置键盘两套 profiles,需要在参数后面指定想切换的 profile 名称:
–select-profile PC
详细代码如下:
1 | local usbWatcher = nil |
保存 init.lua 并且重载 Hammerspoon 的 config 配置文件。