用于ControllerState[].
在这里,游戏手柄各个控件的状态以规则列表的形式返回:
该列表中的控件名称,例如"Hatswitch X Axis",直接取自于设备返回的低层信息.
设备的制造商不同,所用的控件名称也往往不同. Wolfram 系统尽力将一维模拟控件的名称标准化为"X"、"Y"、"X2"、"Y2",等等,而将按钮名称标准化为"B1"、"B2",等等.
如要查看 Wolfram 系统是如何将标准化名称映射到硬件名称上的,请在ControllerState 中将控制器名称与"Mapping" 一起使用.Short 用于此处是为了使映射仅显示几行:
在这里,标准化名称"X"、"Y" 和"Z" 用于列表中,以获得前三个一维模拟轴的当前状态:
如果将Dynamic 包在该输入的外面,输出将连续更新,从而使您能够实时查看各轴的状态.
如果ControllerState 不能立刻响应您的控制器,您可能需要调整ControllerPath 选项. 与Wolfram 系统在查找文件时对$Path 中的目录进行搜索的方式相似,ControllerState 根据ControllerPath 的设置来搜索可以控制器.
在游戏手柄存在的前提下,ControllerPath 的默认设置是使用游戏手柄:
因此,您可以省略ControllerState 的第一个参数"Logitech Dual Action",并获得相同的结果:
如果没有连接游戏手柄,ControllerState 则默认转向其它游戏杆设备、3D 小鼠和包括红外控制器及数字转换器的其它控制器设备.
通过改变出现在ControllerPath 中设备的次序,可以改变它们被ControllerState 搜索的次序.
这里,在ControllerPath 中将内置于某些便携计算机的突然移动传感器(Sudden Motion Sensor)指定为首选项: