【问题标题】:AppleScript keystroke sometimes capitalizing letters?AppleScript 击键有时会大写字母?
【发布时间】:2016-12-19 17:11:50
【问题描述】:

我实际上是在对我已经使用了一段时间的 Alfred 工作流程进行故障排除。作者在 2014 年开发了它,它非常简单,所以我不确定我会从他们的论坛中获得多少帮助。基本上,我有这个:

set chars to count (get the clipboard)
if chars > 500 then
    do shell script "afplay /System/Library/Sounds/Funk.aiff"
else
    tell application "System Events"
        delay 1
        keystroke (get the clipboard)
    end tell
end if

这个想法是它会在我的剪贴板上输入任何内容,这在登录服务器和其他具有安全字段的东西时很有帮助。最近 10.12.2 或 10.12 有什么变化吗?这在几周前工作得很好,但现在它在输出中随机大写字母。

我已尝试删除除以下内容之外的所有内容,并将延迟更改为无济于事:

tell application "System Events"
    delay 1
    keystroke (get the clipboard)
end tell

感谢您的帮助。如果这不是合适的地方,我很乐意移动它,但我不相信它与系统相关。我在 Automator 中测试过,结果是一样的。

谢谢!

【问题讨论】:

    标签: applescript


    【解决方案1】:
    【解决方案2】:

    这个已知问题有一个解决方法。

    您可以一次使用keystroke 一个字符,每个字符之间稍有延迟,这似乎可以解决问题:

    repeat with letter in (get the clipboard)
        keystroke letter
        delay 5.0E-4
    end repeat
    

    就每个字符之间的延迟而言,5.0E-4 对我来说似乎已经足够了,但你的里程可能会有所不同。如果不是每次都奏效,那就试试这个延迟,看看哪种方法最适合你。

    【讨论】:

      【解决方案3】:

      供将来参考 - MacOS Catalina

      我遇到了同样的问题并通过重新启动 Mac 来解决它.. 不知道为什么..但是你有它。

      尝试了几个选项,例如使用 ascii 键并暂停每个字符.. 不起作用.. 恢复为击键并重新启动 Mac .. 完成

      【讨论】:

        猜你喜欢
        • 2017-05-17
        • 1970-01-01
        • 2016-12-27
        • 2017-08-07
        • 2020-07-06
        • 2020-10-15
        • 1970-01-01
        • 1970-01-01
        • 2015-10-24
        相关资源
        最近更新 更多