Input 模拟硬件输入的最佳方法?

Input 模拟硬件输入的最佳方法?,input,keyboard,click,hardware,emulation,Input,Keyboard,Click,Hardware,Emulation,我使用AutoIt是因为它的 多功能性和灵活性,可解决Windows上的重复问题。现在我想尝试改进代码的工作方式 我遇到的主要问题是在非软件级别上使用硬件输入。 我想在按下键盘上的键或单击鼠标时使用“纯”输入,而不是用AutoIt模拟鼠标单击或按键 在这里提问之前,我在谷歌上搜索了几天的解决方案,我有两个想法。也许它们甚至起作用,但我确信它们不是解决问题的最佳方法 1:使用C++键盘/鼠标APIs/Stime>——但它能对“硬件”信号进行完美仿真吗?还是可以被看作虚拟信号?< /P> 2:使

我使用AutoIt是因为它的 多功能性和灵活性,可解决Windows上的重复问题。现在我想尝试改进代码的工作方式

我遇到的主要问题是在非软件级别上使用硬件输入。 我想在按下键盘上的键或单击鼠标时使用“纯”输入,而不是用AutoIt模拟鼠标单击或按键

在这里提问之前,我在谷歌上搜索了几天的解决方案,我有两个想法。也许它们甚至起作用,但我确信它们不是解决问题的最佳方法

<强> 1:使用C++键盘/鼠标APIs/Stime>——但它能对“硬件”信号进行完美仿真吗?还是可以被看作虚拟信号?< /P> 2:使用Arduino-我已经找到了同样效果的API。我认为这会很好,因为它是关于一个USB源的输入。我可以请求发送某个键,就像键盘可以自己按某个键一样。是不是太复杂和夸张了

然而,我可能错了,你在嘲笑这些想法,因为它们既愚蠢又疯狂:p

我对C++有一些很深的知识。如果这是实现这一目标的最佳途径,那么仅仅为了解决问题而学习会很难吗

但最重要的问题是:这些解决方案是好的,还是有更简单的方法?


提前感谢

我不认为我完全理解您在这里试图解决的问题,但我确实有使用Arduino作为键盘/鼠标模拟器的经验。此处有内置鼠标和键盘库的文档:。我要注意的是,这些功能只适用于某些Arduino型号,因此在购买Arduino板之前,请务必检查其是否兼容。根据我的经验,它很容易编程,并且工作得很好。

我不认为我完全理解您试图解决的问题,但我有使用Arduino作为键盘/鼠标仿真器的经验。此处有内置鼠标和键盘库的文档:。我要注意的是,这些功能只适用于某些Arduino型号,因此在购买Arduino板之前,请务必检查其是否兼容。根据我的经验,它很容易编程,并且工作得很好。

我不太确定你想做什么,但我想你是想让你的计算机认为你在移动鼠标,我一直在寻找这个问题的答案几个月了,最后我甚至在Fortnite中也能移动鼠标(一点也不容易)

我使用了我在sendtex gihub的页面中找到的一个模块(他说作者在那里),我给你留下了它的url。

该模块使用一个名为ctypes的库,该库提供与C兼容的数据类型,并使您能够调用DLL或共享库中的函数。 您可以在此处找到有关ctypes的更多信息:

由于我不是一名高级程序员,我不知道它是如何工作的,但我知道它做什么以及如何使用它。该模块有一个包含所有函数的Keys类(其中只有两个真正重要,directMouse和directkey,其他的用于使主函数工作),还有一些我不知道的类

当您想要移动鼠标时,您可能只关心directMouse函数,该函数使鼠标瞬间移动,但不会移动到指定的坐标,它将当前鼠标位置与给定的数字相加。 此功能还允许您通过给出参数来右键和左键单击:

buttons=按键。按下鼠标左键

buttons=按键。鼠标松开
用于松开左键

buttons=按键。鼠标按
可按下右键

buttons=按键。鼠标\u rb\u释放
用于释放右键

你可以把动作和按钮动作结合起来 例如:

keys.directMouse(20,20,buttons=keys.mouse\u rb\u press)

这将总计到当前鼠标位置左20像素和低20像素,并按下(并按住)右键单击按钮

如果您还没有理解我的解释,我建议您查看代码,最后,您将找到一个示例代码,该代码将演示程序的工作原理,您将看到它的功能,并很容易识别它的工作方式


希望我能帮到你。

我不确定你到底想做什么,但我想你是想让你的电脑认为你在移动鼠标,我一直在寻找这个问题的答案,几个月来,我终于能够在Fortnite中移动鼠标了(一点也不容易)

我使用了我在sendtex gihub的页面中找到的一个模块(他说作者在那里),我给你留下了它的url。

该模块使用一个名为ctypes的库,该库提供与C兼容的数据类型,并使您能够调用DLL或共享库中的函数。 您可以在此处找到有关ctypes的更多信息:

由于我不是一名高级程序员,我不知道它是如何工作的,但我知道它做什么以及如何使用它。该模块有一个包含所有函数的Keys类(其中只有两个真正重要,directMouse和directkey,其他的用于使主函数工作),还有一些我不知道的类

当您想要移动鼠标时,您可能只关心directMouse函数,该函数使鼠标瞬间移动,但不会移动到指定的坐标,它将当前鼠标位置与给定的数字相加。 此功能还允许您通过给出参数来右键和左键单击:

buttons=按键。按下鼠标左键

buttons=按键。鼠标松开
用于松开左键

按钮