【问题标题】:C++ Issue creating a mouse simulator创建鼠标模拟器的 C++ 问题
【发布时间】:2014-10-18 06:50:20
【问题描述】:

我有以下项目要做:

创建一个在计算机 1 上运行的程序。该程序将模拟鼠标移动,并将该信息通过 USB 电缆从计算机 1 传递到计算机 2。计算机 2 必须相信传递给它的信息来自鼠标设备.

基本上计算机 2 必须相信鼠标连接到它的 USB 端口,而实际上它是另一台计算机(计算机 1),并且计算机 1 基本上模拟鼠标移动。计算机模拟哪些动作并不重要,因为这可能是简单的部分,更难的部分实际上是使软件能够实现这一点。

问题:目前是否有任何程序可以做到这一点?如果是这样,请告诉我是哪一个。如果没有您知道的任何程序,我将如何自己制作?

PS:我认为这个项目在理论上是可行的。我的意思是计算机 1 只需向计算机 2 发送类似于普通鼠标向计算机发送的正常信号的信号。

【问题讨论】:

  • 用什么操作系统?你尝试了什么?在 Linux 上,阅读更多关于 X11 的信息,因为它正在做类似的事情。另见VNC
  • 请注意,C++11 不了解鼠标。因此,您的问题显然是特定于操作系统的(操作系统正在管理物理资源,例如鼠标和键盘)

标签: usb mouse driver


【解决方案1】:

作为 USB 主机和客户端(键盘、鼠标等)的能力通常不是 PC 中 USB 芯片组的一部分。担任任何一个角色的能力都需要像USB OTG这样的独特东西;您可以在某些手机中找到。

所以不,这通常是不可能的,两台随机 PC 和一根 USB 电缆。无论如何,你可以在这里找到关于这个的讨论:

Emulate USB Device with USB Host

该线程提到您可以制作一个带有有源电子设备的代理设备,位于两个仅限主机的设备之间,并且能够转换为一个客户端的客户端。但是,仅使用普通的旧 USB 数据线就不行。

由于您非常具体地希望使用 USB 完成它并且不需要安装特殊软件,因此您可能对 Synergy 之类的东西不感兴趣:

https://en.wikipedia.org/wiki/Synergy_(software)

...但其他人可能会发现这个问题。

【讨论】:

    猜你喜欢
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 2020-08-13
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    相关资源
    最近更新 更多