到目前为止,我已经能够使用SendInput()函数来模拟鼠标和键盘虚拟键,并使用MOUSEINPUT
和KEYBDINPUT
扫描键。
我读到(在S.O上)INPUT_HARDWARE
is for other devices rather than the mouse or keyboard。我尝试使用SendInput()
和HARDWAREINPUT结构模拟Xbox控制器(或任何控制器,如果可能有帮助的话)输入。有可能这样做吗?如何正确地做?
到目前为止,我已经能够使用SendInput()函数来模拟鼠标和键盘虚拟键,并使用MOUSEINPUT
和KEYBDINPUT
扫描键。
我读到(在S.O上)INPUT_HARDWARE
is for other devices rather than the mouse or keyboard。我尝试使用SendInput()
和HARDWAREINPUT结构模拟Xbox控制器(或任何控制器,如果可能有帮助的话)输入。有可能这样做吗?如何正确地做?
1条答案
按热度按时间hzbexzde1#
根据泄露的WinXP源代码(你可以自己谷歌一下),在Win98之后的系统级别上,SendInput根本不支持
INPUT_HARDWARE
事件类型。根据Wine源代码,它似乎被用于一些旧的HID设备支持代码中。
我尝试使用SendInput()和HARDWAREINPUT结构模拟Xbox控制器(或任何控制器,如果这可能有帮助的话)输入。
最好尝试使用Virtual Gamepad Emulation Framework(ViGEmBus)。它可以模拟XInput控制器和战斗测试。