запуск экранной клавиатуры из Дока
Нестандартный вопрос: как вызвать окно экранной клавиатуры нестандартными средствами? Проще говоря, можно ли запускать Keyboard Viewer с ярлыка-алиаса в Доке или на десктопе?
tell application "Finder" open item "System:Library:Input Methods:KeyboardViewer.app" of the startup disk end tell
Нестандартному вопросу полагается нестандартный ответ. Говоря коротко и по существу — да, можно. Для начала отправьтесь в каталог /System/Library/Input Method и поиграйтесь там с приложением KeyboardViewer.app. Скорее толку от этого будет ноль, поэтому можете затребовать из /Applications/Utilities системный редактор AppleScript и вставить в окно нового проекта три строчки многообещающего кода:
Тоже нулевой результат? Нестрашно, теперь самое время заглянуть на http://github.com/nriley/keyboardViewer, изучить выложенные там короткие и внятные инструкции по установке, после чего скачать микроскопический архив (3,8 Kb. Трафик!), разобраться с его содержимым и приступить к новым экспериментам с AppleScript:
tell application "System Events" if exists (process "Keyboard Viewer") then click process "Keyboard Viewer"'s window 1's buttons whose subrole is "AXCloseButton" else do shell script "/usr/local/bin/keyboardViewer" end if end tell
Сохраняем скрипт как app-файл и наслаждаемся достигнутым результатом. Напоследок остается сказать, что все вышеперечисленные мучения затрагивают исключительно систему 10.6. В Mac OS X Leopard для нестандартного вызова Keyboard Viewer на экран достаточно строчки
/System/Library/Components/KeyboardViewer.component/Contents/SharedSupport/KeyboardViewerServer.app


Обсуждение