11 月,开发者 Andy Gao 在 GitHub 上放了一个叫 AirPointer 的项目,做的事一句话能说完:把合上的 AirPods 充电盒当鼠标用。握着盒子在屏幕前移动,Mac 上的光标跟着走;敲一下盒子正面,等于点一下左键。
项目用 Swift 写的,MIT 许可,11 月 6 日建仓,到 11 月 9 日最后一次提交,拿到 381 个星标、51 次 fork,还挂着 14 个未关闭的 issue。

四步设置,第一步是给权限
第一次打开会走一个四步向导,每一步一个页面,顶部有进度条。
第一步 Allow,把 AirPointer 拖进辅助功能名单。Mac 上想挪光标、想模拟点击,都得过这道门,项目没有别的路可以绕。
第二步 Connect,开盖、合盖、把盒子放稳一会儿,然后竖起来。第三步 Calibrate,对着屏幕上三个点各指一次,让程序知道你的屏幕在哪个方向。第四步 Tap,敲盒子正面三次,让它认你的敲法。
第二步的说明里还有一行小字:连接期间 Mac 用不了 AirPods 的音频,通话中别连;一次会话结束会消耗盒子里存的诊断数据,并且改动一些 AirPods 的连接设置,这些改动可能留下去。

盒子里的传感器是怎么被叫醒的
AirPods 合上盖子、收进盒里,耳机并没有断电。耳机里的加速度计和陀螺仪还在,蓝牙也还连着,只是平时没人去问它在什么姿态。
AirPointer 做的事,是让 Mac 主动去问。项目里有两个辅助程序:ClosedCaseRestore 负责把普通蓝牙链路拉起来,ClosedCaseMotion 负责开传感器、按节奏发请求让闭合的盒子保持唤醒,再把姿态数据通过管道送进主程序。
主程序每秒给辅助程序发一次心跳。主程序退出,辅助程序就关掉传感器、放开它占着的东西,不留后台。
姿态换算成屏幕坐标在 Orientation.js 里做:盒子的朝向决定光标位置,朝屏幕哪边倾就往哪边走。点击由 ClosedCaseTap 判断——找的是「朝某个方向的一次突然位移」,找到就点一下,同时在 Mac 上放一声短响。
半小时这道坎
合盖大约 30 分钟后,会话会自己结束。运动数据停了,AirPods 也联系不上,得重新开合一次盖子才能继续。
这道限制不是程序设的。作者读了测试用的 AirPods Pro 3 的固件镜像 rkof.bin(H2,版本 9A348),在里面找到一个编号 0x63 的定时器,长度写在 0x17d326 这个地址,值 1800000 毫秒,正好 30 分钟。
计时从什么时候开始,看的是 0x17d294 处的状态检查:固件的 dock state 要等于 6,作者推测意思是「合盖放在盒中」。到点后代码跑到 0x17cddc,再查一次状态,然后调用一个不会返回的致命断言。
实测的会话结束点跟这个数字对得上,都是合盖后约 1805 秒。作者自己也写明,这是读固件加计时得出的结论,没有做实时抓包验证。他还试过一次合着盖重连,没重置这个限制。

用起来会碰到什么
暂停和继续都按 fn ⌃,任何 App 里都生效,快捷键可以在设置里改。光标原本小于 2 倍时会放大到 2 倍,暂停或断开后恢复原尺寸——这一步用了一个 macOS 的私有调用,不是公开接口。
连接那一刻蓝牙链路会断一下,音频跟着停。会话期间程序会关掉所有 AirPods 的麦克风和 Mac 的声音,同时给 AirPods 播一段听不见的静音,让音频链路保持活着;会话结束后再恢复。强退的话,下次打开程序时才恢复。
刚连上的二十秒左右光标会抖,作者说这是正常的。「放稳」那一步如果一直不过,多半是台面不够硬或者手碰到了盒子。指针卡顿,先看看有没有别的程序(OBS、浏览器通话)占着 AirPods 当麦克风。敲击不灵,去设置里跑一次 Teach Tap。
想试的话
要求写在项目的表里,只有一行是「测过」:AirPods Pro 3、macOS 26、Apple Silicon,一台 Mac 一对耳机。AirPods Pro 2 是「能识别,没测过」。构建要装 Xcode,跑 build.sh 出 app。
作者列了四种「故意没测」的情况:会话中强退、会话中睡眠唤醒、会话中断蓝牙、会话中与结束后的通话和音频。敲击识别也只在一个人的敲击习惯上调过,换个人可能要多跑几次 Tap Test(一局 75 秒)。
连不上多半是耳机被别处抢走了。作者给的解法是把 iPhone 的蓝牙关掉,因为 iPhone 会攥着已经配对的 AirPods 不放。
数据都存在自己机器上:~/Library/Application Support/AirPointer/ 下面存着选中的耳机、屏幕边缘、传感器校准值、最近十次会话的日志与敲击测试分数,不往外发。
项目页里还挂了一个用这套东西玩的小游戏,浏览器里打鸭子。作者放它出来是为了说明这东西能干什么——用盒子当指针,比用它当鼠标更贴切。

声明:本文来自苹果迷投稿,不代表苹果家园立场,版权归原作者所有,欢迎分享本文,转载请保留出处!