微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检测操纵杆按钮

如何解决检测操纵杆按钮

我有一个简单的脚本,如果按下按钮,我会显示一条消息。非常简单的脚本,但即使我按下了右键,屏幕上也没有显示任何内容

Joy1::
MsgBox,Joy1

Joy2::
MsgBox,Joy2

Joy3::
MsgBox,Joy3

Joy4::
MsgBox,Joy4

Joy5::
MsgBox,Joy5

这是我实际按下按钮的证据,在本例中为 1 和 2。

enter image description here

解决方法

看起来是因为 AutoHotkey 使用旧 API 来检测密钥,至少在 Windows 10 中,reference。如果 AutoHotkey 窗口处于活动状态,它会检测到它们,例如当您右键单击 AutoHotkey 图标并选择“打开”时。我还能够使用 Lexikos 的 xinput library 以及该论坛 topic 的一些帖子制作一些东西,当在我的控制器(xbox 之一)上按下 'a' 时,下面会生成一个 MsgBox。

#Include path to xinput.ahk

SetTimer,checkForJoy1,100

checkForJoy1:
XInput_Init()
state := Xinput_GetState(0)
if(state) {
    a_pressed := state.wButtons & 4096
    if(a_pressed) {
        Msgbox,Does this work [%a_pressed%]
    }
}

return

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。