上个月,我分享了证据,表明谷歌正在为 Android 17 开发新的游戏功能。这些功能包括对游戏手柄按键重映射的支持,以及可能加入虚拟游戏手柄。当时由于相关菜单尚未完成,我无法展示这些功能。不过,多亏了最近发布的 Canary 版本,我现在可以演示 Android 游戏手柄按键映射功能的界面了。

在最新的 Android Canary 2512 更新中,设置应用里隐藏了一个新的“游戏手柄设置”菜单。对于兼容的游戏手柄(例如索尼 DualSense 控制器),该菜单会出现在蓝牙设备的详情页面中。不过目前它还不会自动显示,所以我们不得不强制让它显示出来。
目前该菜单包含两个部分:按键(Keys) 和 轴(Axes)。
“按键”部分列出了所有可以重新映射的按钮输入,包括 A、B、X、Y、L1、L2、R1、R2、左摇杆按下(L3)以及右摇杆按下(R3)。
同样地,“轴”部分列出了可以重新映射的方向输入,包括方向键(D-pad)、左摇杆和右摇杆。点击其中任意一项,都会弹出一个对话框,让你自定义发送给应用的输入指令。

其背后的机制其实相当简单。多年来,Android 原生支持多种蓝牙游戏手柄,例如索尼的 DualSense(上图所示)。系统会将按键操作转换为内部的按键代码和轴数值,开发者再将这些映射到游戏内的具体动作上。这个新的按键重映射功能,很可能就是在用户按下按钮时,改变发送给 Android 游戏的按键代码或轴数值。例如,如果 A 键原本触发的是 “A” 键码,把它重新映射为 B 后,系统就会改为发送 “B” 键码。
我知道很多人会想到:DualSense 手柄并没有 A、B、Y 按钮,所以这个菜单看起来有点不对劲。你们说得部分正确——当前的菜单是通用版本(毕竟还在开发中),并没有体现 PlayStation 的具体按键标识。不过,它准确反映了 Android 在内部是如何处理这些手柄的:将 X 映射为 A,将 ○(圆圈)映射为 B,将 △(三角形)映射为 Y,将 □(方块)映射为 X。这种标准化设计确保游戏无需针对每一种具体的手柄型号单独适配也能正常运行。
不过,我仍希望谷歌在正式发布前进一步完善这一功能。首先,菜单应该显示已连接手柄的真实按键布局,即便只是纯视觉层面的改进,也能减少用户困惑。其次,选择新的输入方式时,最好可以直接按下手柄上的实体按键来完成绑定,而不是在菜单中滚动查找——这在其他按键重映射工具中是一个很常见的功能。最后,支持重新映射更多非标准按钮(例如背部拨片)也会非常实用,因为许多现代手柄都专门配备了这些按键。
谷歌还有充足的时间来打磨这一功能,因为我预计它要到明年的 Android 17 更新时才会发布。这样的功能对于谷歌将 Android 推向 PC 平台的计划至关重要,因为许多主机和 PC 游戏并不支持触屏操作。当谷歌把 Android 引入 PC 端时,强大的手柄支持将有助于说服开发者将游戏移植到该平台。这也释放了一个信号:谷歌正在认真对待非触屏游戏体验的支持。