捕获操纵杆额外按钮

发布于 2024-10-19 18:34:23 字数 235 浏览 3 评论 0原文

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

我使用这段代码来捕获按钮按下事件:

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

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

多谢

Could someone please tell me if there is a way to capture extra joystick buttons? I mean buttons number 5,6,7,8 and so on.

I use this code to capture button down event :

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

But the problem is that it just captures the 4 standard buttons, not any extra buttons.

Thanks a lot

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧伤慢歌 2024-10-26 18:34:23

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

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

使用用于处理操纵杆输入的原始输入 API

The Multimedia Joystick API does not support generating window messages for buttons 5+, you have to poll their status manually using joyGetPosEx(). Otherwise, you should use DirectInput from the DirectX API instead, as it replaces the older API.

Update: Alternatively, you can use the Raw Input API to receive event notifications directly from the joystick hardware. See CodeProject for more details:

Using the Raw Input API to Process Joystick Input

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文