跳到主要内容

顶层导航菜单

是的,macOS 的输入监控是一项权限很大的授权。正因如此,系统把它放在一个需要你明确打开的开关后面,并在授予前提醒你。键盘音效 app 有正当理由申请这项权限,但“类别正当”不等于“每个 app 都可信”。

有用的问题不只是某个 app 是否申请了输入监控,而是 它如何监听事件、保留了什么、能传输什么,以及这些说法与它的技术能力是否对得上.

就 TypeLouder 而言,简短版本是:它使用只监听的事件监听,运行在 Apple 的 App Sandbox 里,没有联网客户端权限,按键事件只用来挑选并播放一段本地音频。它不会记录句子,也不保存打字历史。

输入监控在 macOS 上意味着什么 #

Apple 把输入监控描述为:允许某个 app 在你使用其他应用程序时监视键盘、鼠标或触控板的输入。你可以在这里查看 Apple 的原话,以及该开关当前所在的位置 在 Mac 上管理输入监控权限.

其中“在你使用其他应用程序时”这一句,正是 TypeLouder 需要它的原因。一个只有在自己的设置窗口处于活动状态时才看得到按键的键盘音效工具,在你切回 Safari、备忘录、Xcode、Slack 或任何其他 app 的那一刻就不工作了。

这项权限确实能暴露单个按键事件。随手点同意是不对的。但 macOS 的权限描述的是一类能力,而不是这一类里每个 app 的行为。屏幕录制既可以支撑演示工具,也可以用于监视;麦克风权限既可以用来录语音备忘,也可以用来偷听。关键在于具体实现和它的边界。

监听不等于拦截 #

macOS 支持几种不同的事件监听行为。主动式的事件监听会插在事件路径上,有可能修改或拦截事件。只监听式的监听只收到一份副本用于观察,无法在击键到达你正在输入的 app 之前改动它。

TypeLouder 用只监听选项创建它的键盘事件监听。你的击键独立地继续走向目的地;TypeLouder 只收到它需要的那条通知,好播放对应的声音。这也是它没法让你打出的字符本身晚到的原因。

音频仍然可能 声音 在有 Bluetooth 参与时慢半拍,因为无线播放会在 TypeLouder 触发样本之后再加上一段延迟。那是输出延迟,不是 app 扣着你的按键不放。用内置扬声器或有线输出来测,结果最清楚。

TypeLouder 拿一个按键事件做什么 #

为了让声音可信,TypeLouder 需要少量信息:

  • 是按下还是弹起。
  • 当空格键和回车键的专用样本启用时,判断按的是不是这两个键。
  • 只够在每次按下时播放一个声音的事件时间信息。

它当场在本地就用掉这条信息。不会有一份由事件拼出来的文本,没有击键日志,也没有夹带按键内容的统计数据。

音效样本随 app 一起打包,并预先载入以保证播放跟手。装好之后,TypeLouder 播放它们不需要联网。

信任任何键盘工具之前的三项检查 #

1. 查清它的来路 #

Mac App Store 并不保证每个 app 都完美,但它确实施加了签名、沙盒、权限和审核方面的要求,而随便一个下载站不会。TypeLouder 通过 Mac App Store 发行。

2. 读隐私政策里具体的行为描述 #

“我们重视您的隐私”几乎等于什么都没说。要找的是直接的答案:按键会被保存吗?会被传输吗?有没有埋分析统计?app 能离线工作吗?TypeLouder 的 隐私页面 说明了这个 app 和浏览器声音测试分别会做什么。

3. 问问这个 app 是否需要联网 #

TypeLouder 运行在 App Sandbox 里,并且不请求客户端联网权限。在沙盒化的 Mac app 中,这等于拿掉了发起对外网络连接的常规能力。这比让你只相信隐私政策里的一句话要有力得多。

怎样收回这项权限 #

设置完成之后,控制权仍在你手上:

  1. 打开 系统设置.
  2. 选择 隐私与安全性.
  3. 打开 输入监控.
  4. 关掉 TypeLouder。

TypeLouder 将不再收到全局按键事件,因此它自身窗口之外的键盘声音会停止。你也可以像卸载任何其他 Mac 应用程序一样把它完全删除。

为什么浏览器里的声音测试不需要它 #

这个 TypeLouder 键盘试音室 只在它的网页处于当前活动状态时才有反应。你的浏览器本来就知道发到当前页面的按键,所以这个网站不需要 macOS 的输入监控。测试完全在浏览器本地运行,不会记录或上传你按下的键。

这让试音室成为评估这个想法时最不需要信任成本的方式。在安装 Mac app、在看到系统权限弹窗之前,你就能听遍全部八款。

实用的答案 #

对一款全局的键盘音效 app 来说,输入监控是合理的,但它绝不该没有解释。优先选那种会明确告诉你为什么需要这项权限、以不拦截的方式监听事件、把保留的内容降到最低,并且在技术上限制数据外传的软件。

TypeLouder 就是围绕这些边界设计的:只监听式的观察、本地播放、App Sandbox,以及没有联网客户端权限。如果这套模式让你觉得放心, 先在浏览器里听听这些声音 ,等你真的听到值得为它授权的东西之后,再装也不迟。

常见问题

键盘音效 app 为什么需要输入监控权限?

它需要在你于其他应用程序中打字时接收按键按下的事件。没有全局的事件访问,它就只能在自己的窗口处于活动状态时发声。

有输入监控权限的 app 能看到我按了哪些键吗?

这项权限可以暴露键盘事件,包括键码,所以值得仔细审视。要紧的区别在于:具体这个 app 拿这些事件做什么、它能不能传输数据,以及它用的是不是只监听的事件监听。

TypeLouder 会记录我打了什么吗?

不会。TypeLouder 只在本地用每个事件来选一个声音。它不会拼出文本、不保存按键历史,也不传输事件。它运行在 App Sandbox 里,没有联网客户端权限。

之后我还能收回输入监控权限吗?

可以。打开系统设置,选择隐私与安全性,打开输入监控,把 TypeLouder 关掉。这个 app 就不再对其他应用程序中的按键作出反应。

← 返回 TypeLouder