如何在系统中引入输入延迟(键盘和鼠标)?

时间:2015-10-14 17:34:00

标签: windows input lag

(我在QA工作,这真的是合法使用。)

我正试图想出一种方法来为键盘和鼠标(在Windows中)引入强制输入延迟。就像,当我按下键盘上的'A'时,我想在操作系统处理A之前引入一个非常小的延迟。或者如果我移动鼠标,我想要相同的鼠标速度,但只是有相同的轻微延迟在它开始之前。这种滞后需要存在于任何线程中,而不仅仅是启动过程的线程。但是,每次滞后都不必精确到毫秒级。

我甚至不确定如何设置它。我能够用我们可能需要的任何语言/环境来编写它,我只是不确定从哪里开始。我认为像AutoHotkey这样的东西可能能够做我想要的,实际上是在发送该密钥之前将一个任意键调用宏稍微延迟,但是我不确定我可能需要做什么函数调用才能实现它。或者,也许在C语言中有一种方法可以在操作系统启动之前获取操作系统。我只是不确定。

任何人都可以指出一些可以实现此目的的资源或语言/功能吗? (甚至是现有的程序或服务。)

1 个答案:

答案 0 :(得分:1)

如果您想要纯粹的软件解决方案,我担心您需要为键盘和鼠标开发过滤器驱动程序。开发非常昂贵。

相反,您可以将鼠标和键盘插入其他地方,让输入消息通过网络,然后引​​入网络延迟。您可以使用第二台PC + VNC软件,或第二台PC + software USB/IP或硬件USB / IP设备like this one

这是一种简单但不太可靠的方式。

您可以开发系统范围的WH_KEYBOARD_LL和WH_MOUSE_LL挂钩,丢弃原始邮件,并在一段时间后使用SendInput API发送延迟的邮件。这应该主要起作用,但是在某些情况下它不会,例如,我不认为大多数视频游戏会发生任何事情,因为原始输入。