Keyboard Maestro 的替代品 Karabiner Elements, Hammerspoon

2021-11-10 12:18:45 +08:00
 linxinyue
我一直在使用 KM 做按键映射和自动化操作,最近偶然发现 Karabiner Elements 和 Hammerspoon 前者是按键映射,后者是自动化工具。看了 v 站和知乎上的很多介绍,但是感觉这两个软件所做的 KM 都能做的样子。所以不知道使用这两款软件的高手都是在什么场景下使用的,有什么特殊的技巧和功能吗?希望有熟悉这三款软件的好心人帮忙解惑,万分感谢
4052 次点击
所在节点    macOS
30 条回复
muntoya
2021-11-10 12:32:51 +08:00
我也用了几年 KM ,一直付费升级,最近感觉没有用太多功能,准备用其它的来取代了。
我是 dock 隐藏,切软件全用快捷键。方向键映射成 emacs 的,浏览器可以全用快捷键浏览和切 tab 。
某些软件的菜单栏设了快捷键,比如 markdown 的各种格式化,其实这个也可以用系统自带配置来设置。
另外就是一些工具功能,比如界面全屏、时间戳转时间等等。
还有些触发功能,比如某些软件挂了自动拉起或者屏幕点亮运行软件之类的。

其实 alfred 也可以做快捷键工具。
6i3BMhWCpKaXhqQi
2021-11-10 12:49:02 +08:00
抛开价格因素,Karabiner 比较低层,应该是 keyboard driver 的东西,所以不会出现 App 或者全局的 shortcut 冲突的问题。而且也支持分 app 配置不同的 shortcut ,所以比直接在 keyboard 上刷 firmware 能做的事情更多。
所以,我之前也买了 KM ,但后来不用了,改用了 Karabiner
linxinyue
2021-11-10 13:15:14 +08:00
@muntoya 谢谢回复,我现在用 KM 还是蛮多的,但是看到后面两个替代品,觉得好像不如 KM 好用,所以我在想除了价格优势,更想要问的是后面两个是有什么特殊的功能和使用场景吗😂
linxinyue
2021-11-10 13:17:17 +08:00
@changhai 目前 KM 键盘映射感觉还够用,还没有遇到必须需要 KE 这种更底层替换的场景😂
ruidoBlanco
2021-11-10 13:24:34 +08:00
几天前刚刚付费升级了 10 。Keyboard Maestro 是我在 Mac 下唯一的一个掏钱的非游戏软件。以前曾买过 Alfred ,现在已经删除不用了。

昨天做公司的破培训,用 keyboard maestro 识别并自动点击屏幕上的下一页的箭头什么的,就这个,我不觉得 karabiner 和 hammerspoon 做起来会容易。
Contextualist
2021-11-10 13:32:37 +08:00
核心要义是利用这些软件调用脚本( bash 或 Automator ,macOS 其实开放了很多方便的命令),比如说 Karabiner Elements ,就是用它 Complex modifications 里的 `shell_command`(需要修改它的 JSON 配置文件,我会放在最后说)

我自己用了好几年的配置主要是用 Karabiner Elements 做键盘映射,ControlPlane 做情景感知,然后触发的都是脚本指令( Hammerspoon 几年前试过一下,弃用了,感觉 CPU 占用太高了,而且除了窗口排列相关的命令都可以用 Karabiner Elements + 脚本代替,不知道现在更新得怎么样了)

举几个代表性的例子:

Karabiner Elements:
右⇧ + d: 打开下载文件夹
右⇧ + delete:熄屏
⌥ ⌘ + F2(亮度+):禁止休眠并弹出一个常驻通知(点击通知以取消)
F3(任务控制) 和 F4(launchpad) 分别被映射为蓝牙和 WI-FI 的开关了

ControlPlane:
系统休眠前(合盖后)关 WI-FI ,系统唤醒后(开盖后)开 WI-FI
( ControlPlane 的作用相当于 iOS 快捷指令里的自动化,场景非常广,甚至有诸如当连接到特定显示器、摄像头光线传感器之类。可惜作者不主动维护了,Big Sur 还能用,就是不知道未来哪个 macOS 大版本就用不了了)

Karabiner Elements 的高级设置可以参看 https://karabiner-elements.pqrs.org/docs/manual/configuration/configure-complex-modifications/ 。先下载它的一些现成的配置,然后再找到它的 JSON 配置文件自己改。脚本命令的话,把自己的需求上网搜一下基本都能找到。
linxinyue
2021-11-10 13:39:28 +08:00
@ruidoBlanco 谢谢,我也是感觉 KM 更好用,不太理解为什么推荐另外两个也蛮多的。觉得可能在价格因素之外还有其他什么原因,就是那种 KM 无法实现,而其他可以轻易实现的场景。所以才发帖咨询一下,毕竟多了解一种工具特性也没什么坏处😂
sohunjug
2021-11-10 13:40:36 +08:00
hm 可以实现 linux i3wm 窗口自动平铺
sohunjug
2021-11-10 13:41:01 +08:00
各种自动化 有空自己写的话
linxinyue
2021-11-10 13:41:01 +08:00
@Contextualist 谢谢大佬👍,我研究研究高级设置,自己配置试试
linxinyue
2021-11-10 13:55:52 +08:00
@sohunjug 我使用 KM 自己写了一些简单的自动化,非常方便,然后看了一下 HM 的例子,感觉写起来好复杂样子,还要编程(虽然我是程序员,但是感觉还是 KM 那种拖拽组合的更友好)所以在想为什么舍弃简单的而使用复杂的🤔
Tink
2021-11-10 13:57:54 +08:00
kaeabiner 是映射键盘的,hm 能做的太多了,本质是一个脚本语言
sohunjug
2021-11-10 13:59:09 +08:00
@linxinyue #11 自定义添加 menubar 自定义移动窗口位置 自定义浏览器打开链接 等等。。。
linxinyue
2021-11-10 15:33:53 +08:00
@Tink 谢谢,说起是脚本语言,我觉得类比我以前熟悉的 windows 平台的软件,HM 类似于 AHK ,而 KM 类似于 Quicker 。虽然我看过 AHK 但是感觉麻烦没有怎么使用,反而 Quicker 这种搭积木式的软件让我当时如获至宝,这样看来也是 KM 更适合我的需求,没必要使用更复杂的 HM 。觉得百分之八十的需求,使用 KM 可以快速方便的完成。
linxinyue
2021-11-10 15:49:09 +08:00
@sohunjug 除了第一个我不清楚之外,其他好像都能通过 KM 很方便实现,所以看起来没有什么特殊的需求必须要使用 HM 😂
sohunjug
2021-11-10 15:50:33 +08:00
@linxinyue #15 自定义移动窗口位置 非按键触发 打开全自动的
sohunjug
2021-11-10 15:51:32 +08:00
@linxinyue #15 在公司 自动用 chrome 在家 自动用 safari baidu 自动用 chrome 其他用 safari 等等 。。。。
linxinyue
2021-11-10 15:58:15 +08:00
@sohunjug 好的吧,大佬需求有点复杂😂 我目前没有这样的需求😅 看来确实部分场景下使用 HM 更方便一些~
sidkang
2021-11-10 16:09:44 +08:00
karabiner 要高级使用的话,json 配置高级操作真的难,请参考这个: https://github.com/yqrashawn/GokuRakuJoudo

km 、karabiner 、hammerspoon 目前都有在用,打算减少 km 的使用,hm 负责具体的各种 trigger ,km 负责快捷键的分配,具体通过 url 触发
linxinyue
2021-11-10 16:30:39 +08:00
@sidkang 谢谢大佬,这两天研究一下,不过感觉还是先用 KM 然后看一下 karabiner 。hammerspoon 暂时先不看了,感觉这个做一个东西比较复杂,付出回报比不高,主要是目前 KM 也能比较好满足我的需求了😄

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/814381

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX