用 Xbox 自适应手柄或 PlayStation Access Controller 在 Mac 上写字

Xbox 自适应手柄或 PlayStation Access Controller 可以操作 Mac,但 macOS 把它当作游戏手柄,不是鼠标或键盘。InputConfig 是一款免费的 Mac App,它把手柄的摇杆变成指针,把按钮和开关接口变成点按和按键。把一个按钮或开关映射到 Right Command,同一个手柄就能启动 YapToText,这样你伸手够得着的只有它,也能用语音写字。

我做了 YapToText,一款免费的 Mac 听写 App,还做了 InputConfig,一款免费 App,可以把任何按钮、开关或手柄变成按键和点按。我做这两款 App,是因为我自己的双手不太好用。

在 Mac App Store 下载 YapToText免费下载。无需账号,没有锁定的功能。需要搭载 Apple 芯片的 Mac 和 macOS 14 或更高版本。 源代码在 GitHub 上。

步骤

  1. 把手柄连接到 Mac。
  2. 在 InputConfig 里打开 Access Controller 或 Easy Browse 预设。
  3. 添加一行,点按 Scan,按下你想用来听写的按钮,并给它设置 Keyboard Key 的 Right Command。
  4. 点按进一个文本框,按下按钮,说话,再按一次。

Mac 看到什么,InputConfig 增加什么

  • 手柄。通过蓝牙配对或插上线之后,它显示为游戏手柄。游戏能读取它,桌面不能。
  • 它接口里的开关。插在接口里的开关,到达 Mac 时是手柄的一个按钮,不是按键。
  • InputConfig。读取这些按钮和摇杆,然后发出指针移动、点按、滚动、按键、键入的文字和 Mac 功能。

每种手柄的设置步骤都在 inputconfig.com 上:Mac 上的 Xbox 自适应手柄和 Mac 上的 PlayStation Access Controller。

从内置的 Access Controller 预设开始

InputConfig 的 Access Controller 预设是用一根摇杆和八个按钮控制整个桌面。用手柄的默认配置文件时,摇杆是指针,中心按钮点按,插孔 5 右键点按,插孔 7 打开聚焦。其余几行在等待一些按钮,只有用 PS5 做好的配置文件把它们分给插孔之后,这些按钮才会到达 Mac,它们对应:连按、Return、滚动、按住 Command 来用快捷键、空格键和调度中心。PS 按钮被 macOS 占用,永远不会到达任何 App。如果你的配置文件把按钮放在别处,请对着某一行点按 Scan,再按下你要的那个插孔。

对于 Xbox 自适应手柄或其他任何手柄,Easy Browse 预设也能完成同样的工作:左摇杆控制指针,右摇杆滚动,A 键点按。

让一个按钮成为听写键

挑一个你按得最可靠的按钮或开关,最好是预设没有用到的。你最信任的那个按钮,应该用来启动你的文字。

YapToText 用一个键开始和停止,默认是 Right Command,轻按一下开始,再轻按一下停止。InputConfig 可以让一个根本不是按键的控件发出这个键:开关、手柄按钮、MIDI 踏板、敲一下 MacBook,或者指针移到屏幕的一个角落。把两者放在一起,那个控件就成了听写键。

  • 操作:在 InputConfig 里添加一行,点按 Scan,然后按下你想用的控件。给这一行设置 Keyboard Key 输出,并选择 Right Command。
  • InputConfig:控件每触发一次,它就单独按一次 Right Command,不会同时按住其他键。
  • 确认:点按进一个文本框,再按下这个控件。YapToText 的面板应该显示 Listening。再按一次,你说的话就会出现在光标处。

如果你想把 Right Command 留给快捷键,就把 YapToText 换到一个没有其他用途的键上。在 Dictation 页面的 Keys 卡片里,点按键位栏并按下 F18(或任何闲置的键),然后把 InputConfig 那一行的 Keyboard Key 输出改成 F18。InputConfig 自己的指南建议用 F13 到 F19,因为 Mac 上没有任何功能用到这些键。和开关搭配的模式是 Tap to start / stop:按一下开始,再按一下停止。 在 Dictation 页面的 Recording 卡片里打开 Auto-stop after silence,连第二次按键也不需要了。

有两点要注意。InputConfig 内置的 Modifier Holds 预设,把按住 Right Command 分给了“聚焦”,把按住 Right Option 分给了 Apple 的听写,而这两个键正是 YapToText 的听写键和 Quick Edit 键,所以在使用 YapToText 默认设置时,不要同时运行这个预设。另外,Mac 锁定时,InputConfig 不会发送任何按键,只会发送指针移动、点按和滚动。这套衔接是按两个 App 各自的构造设计的:InputConfig 会像真实按键那样发出单独的修饰键,而 YapToText 会把没有其他键同时按下的一次按键算作轻按。我没有在每一种控件上做过端到端的完整测试,所以请先在你的控件上试一次,再决定要不要依赖它。如果什么都没发生,请在 GitHub 上提交 issue。

Mac 上 YapToText 的 Dictation 设置页面:Keys、Recording、Microphone 和 Delivery 卡片。
图1. YapToText 的 Keys 卡片。让 Right Command 保持为听写键并由 InputConfig 来按它,或者在这里录一个闲置的 F 键,改为发送那个键。

在手柄上停止、暂停和修改

  • 停止。再按一次同一个按钮。或者在 Dictation 页面打开 Auto-stop after silence,停止说话就行。
  • 暂停。听写时,空格键会暂停和继续。给第二个按钮设置空格键。
  • 取消。Escape 键会取消。听写按钮上的一次按住,可以通过 InputConfig 的按住操作发出 Escape。
  • 修改。把另一个按钮映射到 Right Option,也就是 Quick Edit 键。用摇杆选中文字,按下它,再说出要改的内容。
  • 选择模式。听写时数字键 1 到 9 可以选择模式,前提是你把这些键分给了按钮。

听到每一次按键做了什么

InputConfig 的每一行都可以在触发时说出一句话。在这一行的 Options 里打开 Speak,为听写按钮输入 Dictation,或者留空,就会读出按钮的名称。YapToText 会通过旁白说出自己的状态:Listening、Transcribing、Cleaning up,以及完成的时候。合在一起,你先听到按键,再听到结果。

从一套失控的布局里退出来

InputConfig 有紧急停止,它会放开每一个键和按钮,把指针还给你。在大多数手柄上,同时按住 Back 和 Start 三秒,在 PlayStation Access Controller 上单独按住插孔 7,在键盘上则按 Control、Option、Command 加句号键。紧急停止页面有详细说明。把它放在你最可靠的开关上,并测试一次。

小结

  • 指向。InputConfig 的 Access Controller 或 Easy Browse 预设。
  • 写字。一个按钮发出 Right Command,启动和停止 YapToText。
  • 修改。第二个按钮放在 Right Option 上,用于 Quick Edit。
  • 安全。紧急停止,放在你信任的那个开关上。
  • 测试情况。每个 App 自己的功能。它们之间的衔接是根据代码得出的,不是端到端的测试。

如果你的手柄或开关的表现和这一页预期的不一样,请在 GitHub 上提交 issue。每一条我都会看。

在 Mac App Store 下载 YapToText免费下载。无需账号,没有锁定的功能。需要搭载 Apple 芯片的 Mac 和 macOS 14 或更高版本。 源代码在 GitHub 上。

关于作者。 Ryleigh Newman 从事软件开发,用手打字有困难,每天都用本站介绍的 YapToText 听写。本页译自英文。App 的界面和网站的其他页面是英文的。 进一步了解这个项目(英文)。

指南

更多指南(英文)

资料来源

常见问题

Xbox 自适应手柄能在 Mac 上用吗?

它以游戏手柄的身份连接。要在桌面上把它当鼠标和键盘用,需要一款 App 来映射它的摇杆和按钮,例如免费的 InputConfig。

PlayStation Access Controller 能在 Mac 上用吗?

可以,用 InputConfig 的 Access Controller 预设:摇杆是指针,插孔负责点按、滚动和按键。PS 按钮永远不会到达任何 App。

自适应手柄能启动听写吗?

可以。InputConfig 可以按下 Apple 的听写键,也可以按下启动 YapToText 的 Right Command。与 YapToText 的衔接还没有做过端到端的测试。

插在手柄上的开关能用吗?

它们到达时是手柄的按钮,所以 InputConfig 可以像映射其他按钮一样映射它们。