如何解决检测操纵杆按钮
我有一个简单的脚本,如果按下按钮,我会显示一条消息。非常简单的脚本,但即使我按下了右键,屏幕上也没有显示任何内容。
Joy1::
MsgBox,Joy1
Joy2::
MsgBox,Joy2
Joy3::
MsgBox,Joy3
Joy4::
MsgBox,Joy4
Joy5::
MsgBox,Joy5
这是我实际按下按钮的证据,在本例中为 1 和 2。
解决方法
看起来是因为 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 举报,一经查实,本站将立刻删除。