iOS 上有很多漂亮——但随机失效以至于实际上没有用——的交互设计,AirPods 连接成功后的弹窗算一个。弹窗这种形式及其时机恰到好处,提示了两边耳机的剩余电量,我能够决是否现在立即开始视频会议,或者听上一整张唱片而不必担心中途没电。至于这个弹窗为何常常不出现,或者戴上耳机之后很久才出现,就没人知道原因了。
本文试图用 Keyboard Maestro 在 macOS 上实现类似的提示。
在各类设备中,AirPods 电池衰减最为明显,起初可以用五六个小时,明年可能就只剩一两个小时,连一场会议都撑不下来,因而也确实需要关注剩余电量。很不幸,macOS 并没有类似 iOS 的弹窗式电量提示,低电量提醒则毫无意义,因为剩余电量(百分比)显然是根据已用量除以出厂总电量计算得来,可随着电池衰退,低电量提醒刚刚响起,电池往往已耗尽,最后,你根本听不到提醒——这个简单的数学小游戏,留给读者自己解闷。我先后用过的几只 AirPods 和 AirPods Pro,最终都有五至七成的“虚电”,导致我好几次在会议中途掉链子。
桌面空间、菜单栏或通知中心中的设备电量提示也很蠢,要么得手动调出,要么就一直占地方。电量小组件尤其蠢,我为什么要在屏幕右上角已有电脑电量图标——你甚至可以加上百分比——的情况下,再换个地方、改个造型显示一次?也有人照搬了 iOS 的设备连接弹窗,开发了第三方软件,但我只需要恰当的电量提醒,并不想要高仿的弹窗本身。
基于过往十多年间 AirPods 电量查询方案的变迁,我知道获取电量数据并不难,尽管 macOS 总是不打招呼就乱改 API 和权限,但也算是网开一面。
难点在于如何判断戴上了耳机,而不单单是连上。AirPods 的“一拖N”机制极其复杂,导致它随时都可能连着三五台设备,仅仅以是否连接,不足为据,还可能同时错发、漏发以及乱发通知提示。Shortcuts 自带了蓝牙触发机制,并可选定 AirPods 为机关,如果你不在意类似于 iOS 设备弹窗的薛定谔风格,可尝试将文末的脚本直接丢到 Shortcuts 自动化中(需 macOS 26 及以上,我暂未升级,无法提供进一步的帮助)。
我在 Keyboard Maestro 中找到了更符合耳机实际使用方式的机关:音频输出设备。Keyboard Maestro 可以检测当前的输出端,例如是电脑本身、带扬声器的外置显示器还是特定的某副蓝牙耳机。如此一来,不管电脑与手机的切换频次如何,也不论 iOS 或 macOS 所谓的连接究竟是蓝牙牵手还是实际佩戴,最终我本人真实动作才有决定权:把 AirPods 塞进耳朵,就弹出剩余电量提醒。我选择的提示方式是通知,朴素但明了,你也可以考虑弹窗或其他形式。
选择音频输出这
