检测(来自 autohotkey)文本输入字段是否获得焦点

检测(来自 autohotkey)文本输入字段是否获得焦点

我想使用 Autohotkey 实现一系列热键(主要是为了提高效率),但我希望它们只在我输入文本时有效,而不是在我导航或玩游戏时有效。我知道 Autohotkey 可以根据哪个窗口处于焦点状态来设置条件,所以我可以将这些热键设置为仅在 notepad++、MSWord 等内部触发。

问题是,当我在 Firefox 中输入文本时,我也希望这些热键能够工作(就像这里的问题一样)。但是,我不能将它们设置为始终在 Firefox 中触发,因为我并不总是在其中输入内容,因此这会弄乱与 Firefox 相关的其他热键。那么,有没有办法可以将这些热键设置为仅当我在文本输入字段内时才有效?这样,当我在导航时它们就不会干扰常规的 Firefox 热键,但在我打字时它们仍然处于活动状态。

答案1

我能想到的唯一方法可能是使用 Greasemonkey 脚本。(https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/) 您必须用 Javascript 编写事件监听器,将函数绑定到页面上的每个输入字段。当字段获得焦点时,该函数会触发所需的热键/组合键,同时让您继续愉快地工作。

虽然不是 100% 确定,但这至少可能是朝着正确方向迈出的一步。

答案2

您应该能够让 autohotkey 使用基于窗口类的条件,使用窗口间谍查看文本编辑窗口的窗口类并在其上激活,而不是在应用程序窗口上激活。

相关内容