有人可以告诉我是否有办法捕获额外的操纵杆按钮?我的意思是按钮编号5,6,7,8等等。
我使用此代码捕获按钮按下事件:
procedure MMJOY1BUTTONDOWN (var LocMessage: TMMJoyStick); message MM_JOy1BUTTONDOWN;
但问题是它只捕获4个标准按钮,而不是任何额外的按钮。
非常感谢
答案 0 :(得分:5)
多媒体游戏杆API不支持为按钮5+生成窗口消息,您必须使用joyGetPosEx()
手动轮询其状态。否则,您应该使用DirectX API中的DirectInput,因为它会替换旧的API。
更新或者,您可以使用Raw Input API直接从操纵杆硬件接收事件通知。有关更多详细信息,请参阅CodeProject: