对游戏手柄的理解¶
这里不考虑触屏,只考虑电脑端的键鼠和手柄连接。
手柄按键 | 手柄含义 | 键鼠 |
---|---|---|
A | 确认 | 鼠标左键 |
B | 返回/取消 | |
X | ||
Y | ||
左摇杆 | 光标移动 | 鼠标移动 |
左摇杆按下 | ||
右摇杆 | 上下左右 | 上下左右 |
右摇杆按下 | ||
D-pad | 上下左右 | 上下左右 |
左肩 | 往左一页 | |
右肩 | 往右一页 | |
左扳机 | ||
右板机 | ||
share | 退出 | esc |
home | ||
menu | 选项 | 鼠标右键 |
对于鼠标支持良好的游戏,手柄需要绑定如下按键:
- 左摇杆:鼠标移动
- A:鼠标左键
- menu:鼠标右键
- share:esc
基本上是用手柄模拟出了鼠标可以做到的所有操作,这对绝大部分游戏来说已经足够。比较关键的是,手柄的光标最好能够圈出物体(其实鼠标也应该做到这个效果),这样在点击 A 的时候更明确点击的物体。
在此基础上支持手柄,需要适配:
- B:返回
- 右摇杆:上下左右
- D-pad:上下左右
- 左右肩:左右翻页
剩下的手柄按键可以自定义:
- XY
- 左右摇杆按下
- 左右板机
但是需要注意,还可以有长按和双击等多种操作。每一个界面的按键操作可能还不一样。
得去进一步理解手柄的底层 IO 逻辑。最好就是学一下 Chrome 对手柄输入的处理,看 JS 如何能监听或者收取到手柄的输入。