NVideo手柄类API测试(C++)
Nvideo兼容Net的所有API,其键鼠的相关操作请参考Net版文档。
本文档仅列出NVideo独有的API(均以Xbox为前缀)。
下面详细讲解每个API函数的用法。
首先假定Xbox手柄各个按键定义如下:
例:1-右摇杆; 2-十字键; 3-左摇杆。
每个函数是否生效可打开joy.cpl测试。
Xbox_UP函数
手柄2的上键控制,一个输入参数:
1:2的上键按下。
0:2的上键松开。
Xbox_Right函数
手柄2的右键控制,一个参数:
1:2的右键按下。
0:2的右键松开。
Xbox_Down函数
手柄2的下键控制,一个参数:
1:2的下键按下。
0:2的下键松开。
Xbox_Left函数
手柄2的左键控制,一个参数:
1:2的左键按下。
0:2的左键松开。
Xbox_UP_Right函数
手柄2的上右键控制,一个参数:
1:2的上右键按下。
0:2的上右键松开。
Xbox_Right_Down函数
手柄2的右下键控制,一个参数:
1:2的右下键按下。
0:2的右下键松开。
Xbox_Left_Down函数
手柄2的左下键控制,一个参数:
1:2的左下键按下。
0:2的左下键松开。
Xbox_Left_Up函数
手柄2的左上键控制,一个参数:
1:2的左上键按下。
0:2的左上键松开。
根据以上8个函数,可以通过不同的调用顺序,实现顺时针,逆时针,上半圆,下半圆,左半圆,右半圆等不同组合。
Xbox_Home函数
手柄7键控制,一个参数:
1:7键按下。
0:7键松开。
Xbox_Back函数
手柄4键控制,一个参数:
1:4键按下。
0:4键松开。
Xbox_Start函数
手柄8键控制,一个参数:
1:8键按下。
0:8键松开。
Xbox_L3函数
手柄3键控制(左摇杆),一个参数:
1:3键按下。
0:3键松开。
Xbox_R3函数
手柄1键控制(右摇杆),一个参数:
1:1键按下。
0:1键松开。
Xbox_A函数
手柄A键控制,一个参数:
1:A键按下。
0:A键松开。
Xbox_B函数
手柄B键控制,一个参数:
1:B键按下。
0:B键松开。
Xbox_X函数
手柄X键控制,一个参数:
1:X键按下。
0:X键松开。
Xbox_Y函数
手柄Y键控制,一个参数:
1:Y键按下。
0:Y键松开。
Xbox_LB函数
手柄5键控制,一个参数:
1:5键按下。
0:5键松开。
Xbox_RB函数
手柄10键控制,一个参数:
1:10键按下。
0:10键松开。
Xbox_Free函数
复位手柄为空闲状态,调用此函数后所有手柄按键弹起,摇杆回正。
注意,当调用以下四个函数后(Xbox_Left_joystick,Xbox_Right_joystick,Xbox_LT,Xbox_RT),必须调用一次Xbox_Free,否则物理键鼠映射消息不能响应,因为任何时候都是软件数据优先级大于物理数据优先级。
例如当设置左摇杆坐标为(100,100)时,若不调用Xbox_Free,那么左摇杆坐标就一直保持在(100,100)不会因为物理摇杆变化而变化,调用Xbox_Free后才可以继续响应物理摇杆消息。
设计目的是为了避免物理摇杆数据影响软件发送的数据从而影响精确控制。
Xbox_Left_joystick函数
手柄左摇杆(3键)坐标控制,两个参数:
X:摇杆X坐标。取值范围[-32767,32768]
Y:摇杆Y坐标。取值范围[-32767,32768]
调用完后需要调用一次Xbox_Free才能恢复物理摇杆控制。
Xbox_Right_joystick函数
手柄右摇杆(1键)坐标控制,两个参数:
X:摇杆X坐标。取值范围[-32767,32768]
Y:摇杆Y坐标。取值范围[-32767,32768]
调用完后需要调用一次Xbox_Free才能恢复物理摇杆控制。
Xbox_LT函数
手柄左油门(6键)坐标控制,一个参数:
Value:摇杆坐标。取值范围[0,255]
调用完后需要调用一次Xbox_Free才能恢复物理摇杆控制。
Xbox_RT函数
手柄右油门(9键)坐标控制,一个参数:
Value:摇杆坐标,取值范围[0,255]
调用完后需要调用一次Xbox_Free才能恢复物理摇杆控制。