запуск экранной клавиатуры из Дока

Нестандартный вопрос: как вызвать окно экранной клавиатуры нестандартными средствами? Проще говоря, можно ли запускать 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

Источник: Deepapple.com

Обсуждение

Оставить сообщение
Обсуждение на форуме целиком