打开 Mac 屏幕键盘的键盘方法

打开 Mac 屏幕键盘的键盘方法

我需要一个键盘方法来打开 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

相关内容