5

好的,所以我有一个带有 Hammerspoon 的脚本,可以为我执行按键操作。简单的例子:

hs.hotkey.bind({'cmd','alt','ctrl'}, "b", function() 
    hs.eventtap.keyStroke({}, "Left", 200000)
    hs.eventtap.keyStroke({}, "Left", 200000)
    hs.eventtap.keyStroke({}, "Right", 200000)
    hs.eventtap.keyStroke({}, "Right", 200000)
end)

我知道我可以过滤此脚本以仅在特定应用程序中工作,但我的问题是:是否可以将这些击键发送到一个应用程序,同时在另一个应用程序中正常使用我的物理键盘?就像在“后台”发送击键一样,所以它们没有在我当前使用的应用程序中注册。

4

1 回答 1

3

您可以查询应用程序,将其存储在一个变量中,然后使用该变量将这些击键发送到该应用程序:

local myApp = hs.application.applicationsForBundleID('com.apple.finder')
hs.eventtap.keyStroke({"cmd"}, "2", 200, myApp)

这会将 CMD + 2 发送到 Finder 应用程序。

我可能会在击键绑定函数之外设置变量,这样它就不会发生在每次击键时,而是在开始时发生。

于 2021-04-15T05:46:25.760 回答