将光标放在消息应用文本框中
Place cursor in messages app text box
我正在寻找一个脚本,可以将光标放在消息应用程序的文本字段中。我一直在寻找执行此操作的键盘快捷键,但找不到。谁能提供一个脚本,或者我可以修改的类似脚本。
注意我不是程序员,也不熟悉 AppleScript,但能够修改接近我需要的脚本。
我需要这个,因为我正在尝试使用 Mac OS 中的内置听写功能来控制消息应用程序。我需要一个可以分配给语音命令的脚本,以将光标放在文本字段中,这样我就可以听写一条消息。
非常感谢。
以下已在 OS X 10.8.5 和 Messages 7.0.1 下测试和工作,可能需要针对 OS X/macOS/Messages 的其他版本进行调整:
tell application "Messages"
activate
tell application "System Events"
set focused of text area 1 of scroll area 4 of splitter group 1 of window 1 of application process "Messages" to true
end tell
end tell
注意:这是在假设 Messages 已经打开 window 的情况下进行编码的。额外的编码将是必要的,根据需要以 try
和/或 delay
和或 on error
语句 的形式,否则是适当的。
下面是我如何编写代码的示例,它处理消息是否打开、显示 window 等。
on setFocusToTextArea()
tell application "System Events"
if (count of windows of application process "Messages") is equal to 0 then
click UI element "Messages" of list 1 of application process "Dock"
delay 0.25
end if
try
set focused of text area 1 of scroll area 4 of splitter group 1 of window 1 of application process "Messages" to true
end try
end tell
end setFocusToTextArea
tell application "Messages"
if running then
my setFocusToTextArea()
else
activate
delay 2
my setFocusToTextArea()
end if
activate
end tell
注意:如果消息在脚本为运行时关闭,delay 2
命令给出时间让消息在其他 code 运行 之前打开。 delay
命令的值可以根据您的系统速度适当调整。
如果您使用的是听写命令,在任何应用程序中,您只需说出“显示数字”命令,您就会看到:
然后你只需说出命令“Twenty”,它就会将你的光标放在你想要的位置……在这种情况下,它将是文本字段
同时说出命令“Show Comands”将打开这个 window 列出大量的听写命令。
我正在寻找一个脚本,可以将光标放在消息应用程序的文本字段中。我一直在寻找执行此操作的键盘快捷键,但找不到。谁能提供一个脚本,或者我可以修改的类似脚本。
注意我不是程序员,也不熟悉 AppleScript,但能够修改接近我需要的脚本。
我需要这个,因为我正在尝试使用 Mac OS 中的内置听写功能来控制消息应用程序。我需要一个可以分配给语音命令的脚本,以将光标放在文本字段中,这样我就可以听写一条消息。
非常感谢。
以下已在 OS X 10.8.5 和 Messages 7.0.1 下测试和工作,可能需要针对 OS X/macOS/Messages 的其他版本进行调整:
tell application "Messages"
activate
tell application "System Events"
set focused of text area 1 of scroll area 4 of splitter group 1 of window 1 of application process "Messages" to true
end tell
end tell
注意:这是在假设 Messages 已经打开 window 的情况下进行编码的。额外的编码将是必要的,根据需要以 try
和/或 delay
和或 on error
语句 的形式,否则是适当的。
下面是我如何编写代码的示例,它处理消息是否打开、显示 window 等。
on setFocusToTextArea()
tell application "System Events"
if (count of windows of application process "Messages") is equal to 0 then
click UI element "Messages" of list 1 of application process "Dock"
delay 0.25
end if
try
set focused of text area 1 of scroll area 4 of splitter group 1 of window 1 of application process "Messages" to true
end try
end tell
end setFocusToTextArea
tell application "Messages"
if running then
my setFocusToTextArea()
else
activate
delay 2
my setFocusToTextArea()
end if
activate
end tell
注意:如果消息在脚本为运行时关闭,delay 2
命令给出时间让消息在其他 code 运行 之前打开。 delay
命令的值可以根据您的系统速度适当调整。
如果您使用的是听写命令,在任何应用程序中,您只需说出“显示数字”命令,您就会看到:
然后你只需说出命令“Twenty”,它就会将你的光标放在你想要的位置……在这种情况下,它将是文本字段
同时说出命令“Show Comands”将打开这个 window 列出大量的听写命令。