捕捉操纵杆额外的按钮

时间:2011-02-28 20:40:15

标签: delphi joystick

有人可以告诉我是否有办法捕获额外的操纵杆按钮?我的意思是按钮编号5,6,7,8等等。

我使用此代码捕获按钮按下事件:

procedure MMJOY1BUTTONDOWN (var LocMessage: TMMJoyStick); message MM_JOy1BUTTONDOWN;

但问题是它只捕获4个标准按钮,而不是任何额外的按钮。

非常感谢

1 个答案:

答案 0 :(得分:5)

多媒体游戏杆API不支持为按钮5+生成窗口消息,您必须使用joyGetPosEx()手动轮询其状态。否则,您应该使用DirectX API中的DirectInput,因为它会替换旧的API。

更新或者,您可以使用Raw Input API直接从操纵杆硬件接收事件通知。有关更多详细信息,请参阅CodeProject:

Using the Raw Input API to Process Joystick Input