如何使用 AppleScript 或 Lua 在 Calculator.app 上做 ALT + TAB

我使用 Calculator.app,在按下 ENTER 键后,我希望它自动执行 ALT + TAB,以回到我之前使用的应用程序:Excel 或 Firefox 或 Chrome,... 你可以自定义。

我对仅使用 .lua 也有同样的问题,但如果无法使用 .lua,则希望使用 AppleScript 或 Automator。

.lua 中的 TAB 快捷键是什么? hammerspoon?

更新:

如 user3439894 所说,CMD + TAB 可以正常工作。

但是在我的系统中,TAB 没有释放,因此它一直显示所有打开的应用程序。所以,我尝试将“RETURN”放在文档中。我也尝试了 ENTER,但是都不起作用。

hs.eventtap.keyStroke({"cmd"}, "tab")
hs.eventtap.keyStroke({"return"})
-- hs.eventtap.keyStroke({"enter"})

原文链接 https://stackoverflow.com/questions/70335380

点赞
stackoverflow用户3439894
stackoverflow用户3439894

假设您是在我在十一月中旬给您关于计算器的答案中使用此内容,那么下面修改后的Lua _代码_对我来说有效,可以在计算器中按下enter_键_时切换到上一个_应用程序_。

示例Lua _代码_:

    --创建一个热键用于捕获 enter 键并禁用它。
    --然后它将根据聚焦 / 不聚焦的 Calculator 启用/禁用
    --启用时,按下 enter 键会按下 =,然后是 command C。
applicationCalculatorEnterHotkey = hs.hotkey.bind ({}, "return"function()
        --按 ' = '键结束计算。
    hs.eventtap.keyStroke({}, "=")
        --将结果复制到剪贴板。
    hs.eventtap.keyStroke ({"cmd"}, "C")
        --打开 App 开关器。
    hs.eventtap.keyStroke({"cmd"}, "tab")
        --在应用程序切换器中操作所选应用程序。
        --在测试计算器时可用,但是
        --可能无法在其他应用程序中使用。
    hs.eventtap.keyStroke({}, "=")
end)
applicationCalculatorEnterHotkey:disable()

注:

我已经添加了两个 hs.eventtap.keyStroke到原始_代码_中,并添加了注释。

Console Hammerspoon中执行 hs.eventtap.keyStroke({"cmd"}, "tab")可以自动切换到上一个_应用程序_,而不显示 App Switcher。但是,在applicationCalculatorEnterHotkey_function_中使用它会像按下⌘-Tab并未释放⌘_键_一样显示 App Switcher。这可能是一个错误,不确定,因为未对该问题进行足够的测试/研究,显而易见的解决方案是随后通过编程方式按下enter_键_,但是无法在applicationCalculatorEnterHotkey_function_内完成,因为它已经在计算器中捕获了enter_键_。

然而,在这种特殊情况下,这就是hs.eventtap.keyStroke({}, "=")用作再次按下enter_键_,并且在计算器中是唯一的。

2021-12-13 17:35:07