gpt4 book ai didi

python - 如何编写虚拟键盘和/或鼠标脚本,并将输出仅发送到一个程序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:27:06 25 4
gpt4 key购买 nike

我正在寻找一种方法来编写鼠标点击和按键操作的脚本,并将它们通过管道传输到特定程序,而不会像 autopy 或 PyUserInput 等实用程序那样干扰鼠标和键盘输出到其他程序。我只希望一个特定的程序“认为”鼠标正在以特定方式移动,或者正在按下某些键。

在 Linux 中运行的 python 解决方案将是最好的。

最佳答案

这不是一项简单的任务,主要是因为键盘和鼠标事件实际上转到了 X 服务器和窗口管理器,然后窗口管理器根据应用程序窗口的数量、屏幕位置和状态将它们传递给适当的应用程序。

生成键盘和鼠标事件是可能的(请参阅此问答:How can I control the keyboard and mouse with Python?)但是这些事件通常会干扰常规/主 X 服务器、窗口管理器和其他应用程序,这是您不想要的。

解决方案是一个程序,它的作用类似于 X 服务器 + 窗口管理器,用于控制应用程序。最简单的方法确实是按照 @n.m.建议 - 一个专用的 X 服务器,您可以在其中仅运行您想要控制的应用程序和您的控制应用程序。这种解决方案不会干扰主 X 服务器、它的显示管理器和它的应用程序。 VNC 是您可以使用的另一种流行的此类服务器。

您的控制应用程序需要定位属于要控制的应用程序的窗口、它们的位置和状态,并相应地调整生成的键盘和鼠标事件(即扮演窗口管理器角色的一部分,或者至少能够了解并遵循真实窗口管理器的一些状态和操作)。例如,窗口管理器可能不会总是在同一屏幕位置打开要控制的应用程序窗口,因此您的控制应用程序需要根据应用程序的位置调整鼠标单击事件(使用 X 屏幕坐标)的位置窗口位于屏幕上。

或者,您可以先控制应用程序的窗口并将其置于众所周知的状态(比如窗口可见,具有特定大小和特定位置,在其他窗口之上,被选中/焦点在它上面)这样鼠标和键盘事件的控制序列落在预期的位置。

关于python - 如何编写虚拟键盘和/或鼠标脚本,并将输出仅发送到一个程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33114471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com