根据以前开源的手柄控制更改的,我的设备是【北通 阿修罗】,整个手柄所有的按键我都写好了,可以自行下载测试
.版本 2
.支持库 spec
.程序集 窗口程序集1
.程序集变量 检测, 逻辑型
.子程序 _窗口1_创建完毕
.局部变量 HID设备信息, _HID设备信息, , "0"
.局部变量 计次变量, 整数型
.局部变量 手柄状态, 游戏手柄状态
获取所有游戏手柄 (HID设备信息)
组合框1.清空 ()
调试输出 (“HID设备有” + 到文本 (取数组成员数 (HID设备信息)) + “个”)
.计次循环首 (取数组成员数 (HID设备信息), 计次变量)
.如果真 (到文本 (HID设备信息 [计次变量].报文尺寸) = “11”)
组合框1.加入项目 (HID设备信息 [计次变量].设备路径, 0)
调试输出 (计次变量)
输出 (“Hid设备[” + 到文本 (计次变量) + “]设备路径:” + HID设备信息 [计次变量].设备路径)
输出 (“Hid设备[” + 到文本 (计次变量) + “]总线类型:” + 格式化GUID (HID设备信息 [计次变量].总线类型))
输出 (“Hid设备[” + 到文本 (计次变量) + “]报文尺寸:” + 到文本 (HID设备信息 [计次变量].报文尺寸))
输出 (“Hid设备[” + 到文本 (计次变量) + “]产品代码:” + 到文本 (HID设备信息 [计次变量].产品代码))
输出 (“Hid设备[” + 到文本 (计次变量) + “]供应商代码:” + 到文本 (HID设备信息 [计次变量].供应商代码))
输出 (“Hid设备[” + 到文本 (计次变量) + “]产品版本号:” + 到文本 (HID设备信息 [计次变量].产品版本号))
.如果真结束
.计次循环尾 ()
.子程序 _组合框1_列表项被选择
.局部变量 启动结果, 整数型
.如果真 (取数组成员数 (打开设备参数) ≠ 0)
关闭设备 (1, 打开设备参数 [1].设备路径)
.如果真结束
.如果真 (组合框1.现行选中项 ≠ -1)
启动当前游戏手柄 (组合框1.现行选中项 + 4, 启动结果)
.如果真结束
' 启动线程 (&循环开始, , )
.子程序 _窗口1_将被销毁
.如果真 (取数组成员数 (打开设备参数) ≠ 0)
关闭设备 (1, 打开设备参数 [1].设备路径)
.如果真结束
.子程序 颜色反馈, 整数型
.参数 逻辑值, 逻辑型
.如果真 (逻辑值 = 真)
返回 (#黄色)
.如果真结束
.如果真 (逻辑值 = 假)
返回 (#红色)
.如果真结束
返回 (0)
.子程序 _按钮1_被单击
.如果真 (取数组成员数 (打开设备参数) ≠ 0)
关闭设备 (1, 打开设备参数 [1].设备路径)
.如果真结束
易语言+手柄