AppleScript键击有时会使字母大写?

时间:2016-12-19 17:11:50

标签: applescript

我实际上是故障排除和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中测试了这个,结果是一样的。

谢谢!

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

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

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

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

到目前为止,每个角色5.0E-4之间的延迟对我来说似乎已足够,但您的里程可能会有所不同。如果它每次都不起作用,那就玩那个延迟,看看什么最适合你。

答案 2 :(得分:0)

以供将来参考-MacOS Catalina

我遇到了同样的问题,并通过重新启动Mac来解决它。.不确定为什么..但是在那里。

尝试了几种选择,例如使用ascii键并暂停每个字符。.没有用..恢复为击键并重新启动Mac ..完成