我需要一个键盘方法来打开 Mac 的屏幕键盘。我可以是一个终端命令。我们的设备会将字符串注入用户 Mac 的 USB 端口;“瞧,一个 OSK!”
答案1
看此解决方案适用于 Mac OS X 10.6。
在Mac OS X 10.5上,您可以打开以下程序:
/System/Library/Components/KeyboardViewer.component/Contents/SharedSupport/KeyboardViewerServer.app/Contents/MacOS/KeyboardViewerServer
答案2
至少在 10.7 及更高版本中,您可以打开 KeyboardViewer 应用程序:
open -a KeyboardViewer
但它也有一些缺点:
- 如果您关闭键盘窗口(例如按关闭按钮),KeyboardViewer 进程将继续运行并继续使用 0-10% 的 CPU。
- 如果您此后再次打开 KeyboardViewer,它不会重新打开键盘窗口。
- 当我运行模拟击键的脚本或使用 Alfred 的剪贴板历史记录时,键盘窗口变得可见。
所有这些都可以通过从输入菜单打开键盘窗口来避免:
tell application "System Events" to tell process "SystemUIServer"
tell (menu bar item 1 where description is "text input") of menu bar 1
click
click (menu item 1 where title ends with "Keyboard Viewer") of menu 1
end tell
end tell
第二个问题的解决方法是,如果 KeyboardViewer 正在运行但没有窗口,则终止它:
if application "KeyboardViewer" is running then
tell application "System Events" to number of windows of process "KeyboardViewer"
if result is 0 then
quit application "KeyboardViewer"
delay 0.1
activate application "KeyboardViewer"
else
quit application "KeyboardViewer"
end if
else
activate application "KeyboardViewer"
end if