【问题标题】:Global Keyboard Input Go全局键盘输入
【发布时间】:2014-04-14 23:04:57
【问题描述】:

Go 是否提供了一种监听全局键盘输入的方法?本质上就像一个键盘记录器(但这不是我的目的),如果焦点在它自己的上下文之外,它会捕获输入。

理想情况下,它应该是跨平台的,但如果不是,只有 Windows 也能正常工作。

我的最终目标是一个跨平台的工具,不需要运行时,它允许您注册全局键盘快捷键以在应用程序 javascript 调用(主要控制 Google 音乐)。这将通过让 Chrome 扩展程序连接到 Golang 应用程序中的 socket.io 连接,然后让应用程序向扩展程序提供命令来完成。

【问题讨论】:

    标签: google-chrome-extension go keyboard-hook


    【解决方案1】:

    在应用程序上下文之外捕获键盘输入是特定于平台的。 Go 特别没有绑定到这些 API。

    Mac OS X 有一个名为 event taps 的 Objective-C API。 Windows 有 C++ 函数RegisterHotKey,虽然我对 Windows API 不太熟悉。

    可能有工具包/框架允许您跨平台执行此操作,但目前 Go 中没有。如果您在 C 中找到任何内容,您可以使用 cgo 将其挂接到 Go。

    也许你把事情复杂化了?有一个页面 here 描述了为 Chrome 扩展添加键盘快捷键。

    【讨论】:

    • 阅读Scope部分。 “从版本 35 开始,命令可以改为具有全局范围”。看起来它在过去一个月内发生了变化。非常感谢您的链接!
    猜你喜欢
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-09
    相关资源
    最近更新 更多