【问题标题】:Control the mouse and keyboard Golang?控制鼠标和键盘Golang?
【发布时间】:2024-01-23 08:52:01
【问题描述】:

如何在操作系统/X11 级别上控制检索/设置鼠标位置和触发键盘事件?这类似于Robot class in Java 中的功能。

我知道很可能不会有跨平台解决方案,但是如何在 Windows、Linux 和 Mac 上实现它?

【问题讨论】:

  • 您可能想从寻找更好的文档化 C 解决方案开始,然后将它们包装在 cgo 中。
  • 至少对于 X11,没有理由使用 C 库。 XGB 是 X 客户端协议的本机实现。
  • 感谢 XGB。将使工作更轻松。将以原生 Robot 源码为例创建 golang 库:*.com/a/18429666/122904

标签: go mouse


【解决方案1】:

请看robotgo,Golang Native 跨平台系统自动化

【讨论】:

    【解决方案2】:

    ncurses bind - 是我发现的最轻量级的解决方案,所有其他的都是图形或游戏引擎的一部分

    【讨论】:

      【解决方案3】:

      有很多方法可以解决这个问题。

      与您描述的项目最接近的项目是“ui

      下一个级别是使用调用SDLone of the go bindings,这可能更容易。

      更高的堆栈将是 GTK、QT、FLTK 之类的工具包(甚至是 BurntSushi5 提到的 X11,但我不推荐它。)只需在 github 上搜索工具包并按语言选择即可。

      【讨论】: