Как показать или скрыть программу просмотра клавиатуры с помощью сочетания клавиш?

Я хотел бы отображать и скрывать средство просмотра клавиатуры с помощью ярлыка.

  • Есть ли способ отобразить средство просмотра клавиатуры с помощью сочетания клавиш?
  • Есть ли способ автоматически отображать средство просмотра клавиатуры после переключения на определенный язык?
13 голосов | спросил Render 7 PM00000070000002131 2012, 19:02:21

8 ответов


3

Я нашел способ через BetterTouchTool сделать следующее:

  • Активировать средство просмотра клавиатуры с помощью ярлыка
  • Закрыть средство просмотра клавиатуры другим ярлыком
  • Toggle Keyboard Viewer одним ярлыком (нет необходимости в двух предыдущих)
  • Я также загрузил AppleScript для удобства

Платформа: rMBP Mountain Lion OSX 10.8


Активировать средство просмотра клавиатуры с помощью ярлыка

  • Запустить BetterTouchTool
  • Добавление сочетания клавиш
  • Добавить предопределенные действия>>> Открыть приложение /Файл /Сценарий ...
  • Перейдите на Macintosh HD /System /Library /Input Methods /
  • Выберите KeyboardViewer

Теперь у вас есть комбинация клавиш для активации зрителя без дополнительного скрипта.

ОДНАКО, я заметил, что нажатие красной кнопки X фактически не выходит из приложения, а это значит, что просмотрщик клавиатуры будет активирован только один раз. Поэтому вам нужно создать скрипт для выхода из программы.

Чтобы устранить эту проблему:


Закрыть приложение для просмотра клавиатуры с помощью другого сочетания клавиш

  • Открыть Automator
  • Выберите приложение как тип документа
  • Добавить RunAppleScript
  • Где он говорит (* Ваш скрипт идет здесь *), замените его quit application "KeyboardViewer"
  • Скомпилировать и сохранить как в документах, так и в любом месте (я переместил его в том же месте, что и KeyboardViewer)
  • Открыть BetterTouchTool
  • Добавление сочетания клавиш
  • Добавить предопределенные действия>>> Открыть приложение /Файл /Сценарий ...
  • Найдите файл приложения, который вы только что сохранили.

Теперь у вас есть способ выйти из программы просмотра KeyBoard навсегда после ее активации. Используйте его вместо красной кнопки X. Пока я не выясню, почему программа просмотра клавиатуры не полностью закрывается, когда вы нажимаете кнопку X, это должно быть вашим решением.

ИЗМЕНИТЬ

Я вычислил способ TOGGLE для просмотра клавиатуры!


ПРОСМОТР КЛАВИАТУРЫ КЛАВИАТУРЫ одним быстрым сочетанием клавиш

тот же процесс, что и раньше, но код изменен:

  • Открыть Automator
  • Выберите приложение как тип документа
  • Добавить RunAppleScript
  • Где он говорит (* Ваш скрипт идет здесь *), замените его
  if application "KeyboardViewer" is running then
      quit application "KeyboardViewer"
  else
      activate application "KeyboardViewer"
  end if
  • Скомпилировать и сохранить как в документах, так и в любом месте (я переместил его в том же месте, что и KeyboardViewer)
  • Открыть BetterTouchTool
  • Добавление сочетания клавиш
  • Добавить предопределенные действия>>> Открыть приложение /Файл /Сценарий ...
  • Найдите файл приложения, который вы только что сохранили.

Теперь программа просмотра клавиатуры переключается, и вам даже не нужно назначать несколько ярлыков!


Ссылка для AppleScript

Я загрузил приложение онлайн для более быстрого доступа, а не выполнил все шаги кодирования выше (просто активируйте это приложение через BetterTouchTool) Однако, поскольку я не идентифицированный издатель, ваша ОС может блокировать запуск этого приложения, в зависимости от ваших настроек безопасности. Поэтому, если вы предпочитаете не запускать приложения из неизвестных издателей, просто следуйте приведенным выше инструкциям, чтобы создать собственное приложение!

Ссылка на файл: https://www.box.com/s/e2461c91e30e0af025e7


Надеюсь, это поможет кому-то, поскольку это помогло мне :)

ответил Render 8 PM00000010000002931 2012, 13:56:29
12

Запустить средство просмотра клавиатуры с помощью службы (улучшено)

Вы можете запустить средство просмотра клавиатуры с помощью ярлыка с помощью функций Automator и OS X Services.

Программа просмотра клавиатуры работает в /System/Library/Input Methods/KeyboardViewer.app (в версиях до Lion это может быть в /System/Library/Components/KeyboardViewer.component/Contents/SharedSupport/KeyboardViewerServer.app). Вы открываете его с помощью горячей клавиши, используя Automator для создания простой службы запуска.

  1. Откройте Automator и выберите Сервис как тип нового документа.
  2. Задайте параметры (в верхней части области рабочего процесса): «Служба получает без ввода в любое приложение ".
  3. Добавьте в рабочий процесс действие Запустить AppleScript и замените текст на следующие строки:

    if application "KeyboardViewer" is running then
        quit application "KeyboardViewer"
    end if
    
    activate application "KeyboardViewer"
    
    -- wait until the window has been closed, then end the KeyboardViewer process
    set numberOfWindows to 1
    repeat until numberOfWindows = 0
        delay 5
        tell application "System Events"
            tell process "KeyboardViewer"
                set numberOfWindows to count windows
            end tell
        end tell
    end repeat
    quit application "KeyboardViewer"
    
  4. Сохранить с таким именем, как «Open Keyboard Viewer», затем откройте Настройки клавиатуры на вкладке Клавиатурные ярлыки . В левой панели выберите Службы и прокрутите страницу вниз, где вы увидите имя своей Службы в разделе «Общие».
  5. Убедитесь, что флажок установлен, чтобы включить его, затем выберите его и нажмите добавить ярлык , чтобы установить горячую клавишу.
  6. После установки горячей клавиши откройте меню «Службы» в любом приложении (т. е. Finder> Services), а затем закройте его. По какой-то причине моя горячая клавиша не работала, пока я не сделал это.

Несколько примечаний:

  • Для сценария требуется проверить флажок Включить доступ для вспомогательных устройств в панели предпочтений универсального доступа .
  • Закрытие окна просмотра клавиатуры фактически не выходит из приложения, и, как указывает Лри, он может быть немного ресурсоемкой, поэтому repeat проверяет каждые 5 секунд, если Keyboard Viewer имеет любые открытые окна, а если нет, завершает процесс.
  • Если вы используете ОС pre-Lion, вы можете > заменить экземпляры KeyboardViewer с помощью KeyboardViewerServer. У меня нет ничего пред-Льона, чтобы проверить это (если кто-то еще сможет отчитаться в комментариях, это будет здорово.
  • Поскольку сценарий завершается до тех пор, пока клавиатура не будет закрыта, значок барьера автомата покажет в строке меню, пока он не закроется.
ответил robmathers 30 PM00000090000001731 2012, 21:31:17
4

Плагин Extra Scripts Quicksilver предлагает эту функциональность, предоставляя Показать клавиатуру Viewer.scpt .

Кроме того, когда вы создаете триггер Quicksilver для Show Keyboard Viewer.scpt с помощью действия Run , вы получите глобальную горячую клавишу «Обзор клавиатуры».

Вот источник сценария:

property theApplication : "KeyboardViewer"
property thePath : "/System/Library/Input Methods/KeyboardViewer.app"

set HFSPath to ((POSIX file thePath) as string)
tell application "System Events" to ¬
    set isRunning to 0 < (count (application processes whose name is theApplication))
if isRunning then
    tell application HFSPath to quit
else
    ignoring application responses
        tell application HFSPath to activate
    end ignoring
end if

Если KeyboardViewer открывается с помощью AppleScript или с кодом open, и основное окно закрывается, процесс просмотра клавиатуры остается открытым и продолжает использовать около 0-20% CPU.

ответил mach 30 PM00000090000000631 2012, 21:05:06
4

Рад, что нашел эту тему. Основываясь на ответах выше, я создал сценарий расширения Alfred, который переключает средство просмотра клавиатуры.

https://dl.dropbox.com/u/29440342/linkedFiles /Клавиатура% 20Viewer.alfredextension

Он предоставляет ключевое слово alfred "kv", которое включает и выключает Keyboard Viewer, запуская следующий applescript:

-- adapted from http://apple.stackexchange.com/a/62532
if application "KeyboardViewer" is running then
    quit application "KeyboardViewer"
else
    activate application "KeyboardViewer"
end if

(*
-- adapted from http://apple.stackexchange.com/a/59986
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
*)
-- icon ripped from osx /System/Library/PreferencePanes Keyboard.prefPane/Contents/Resources/Keyboard.icns

Я оставил альтернативную реализацию закомментированной, если у меня возникли проблемы с производительностью, которые она должна была избежать.

ответил Dergachev 14 FriEurope/Moscow2012-12-14T22:07:22+04:00Europe/Moscow12bEurope/MoscowFri, 14 Dec 2012 22:07:22 +0400 2012, 22:07:22
3

Это также будет работать после закрытия главного окна, нажав кнопку закрытия:

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
        launch application "KeyboardViewer"
    else
        quit application "KeyboardViewer"
    end if
else
    launch application "KeyboardViewer"
end if

Если Keyboard Viewer открывается с помощью AppleScript или open -a KeyboardViewer, и главное окно закрыто, процесс остается открытым и продолжает использовать около 0- 15% процессор. Это не происходит при выборе Show Keyboard Viewer из меню ввода. Таким образом, лучшим вариантом может быть щелчок по пункту меню:

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

Оба сценария требуют доступа для вспомогательных устройств для включения в области предпочтений.

ответил user495470 7 PM00000080000005631 2012, 20:40:56
2

Это не однотактный ярлык, но решение «non-mousing» Fn + Ctrl + F8 , чтобы установить фокус на " меню состояния " в правой части строки меню. ( раздел 4 )

 введите описание изображения здесь>> </a> </p>

<p> Стрелки направят вас на значок «Настройки клавиатуры» и «Показать /скрыть параметры». Когда вы введете <kbd> Fn </kbd> + <kbd> Ctrl </kbd> + <kbd> F8 </kbd> значок в самую дальнюю левую часть значков «Меню состояния», которые находятся в правой половине панель меню будет выделена. После его выбора используйте <kbd> Стрелка вправо → </kbd>, чтобы перейти к нужной. Используйте кнопку <kbd> Стрелка вниз ↓ </kbd>, чтобы открыть меню и выбрать нужный вариант. Обратите внимание, что клавиша <kbd> Option </kbd> будет использовать различные параметры меню в некоторых «меню состояния». </p>

<p> <a href= введите описание изображения здесь>> </a> </p>

<p> Заметьте, что <kbd> Fn </kbd> + <kbd> Ctrl </kbd> + <kbd> F2 </kbd> будет активировать значок меню Apple  в левой части. Оттуда <kbd> Стрелка вправо → </kbd> предоставит вам доступ к меню «Приложение». Эти параметры доступны в Системных настройках>> Клавиатура>>> Клавиши быстрого доступа :: Клавиатура: </p>

<p> <a href= введите описание изображения здесь>> </a> </p>

<p> В зависимости от того, как настроены ваши функциональные клавиши, <kbd> Fn </kbd> является необязательным. </p>

<p> <a href= введите описание изображения здесь>> </a> </p>

<p> В macOS Sierra вы также можете использовать Siri для этого. Вызовите Siri с любым сочетанием клавиш, которое вы выбираете из System Preferences>> Siri :: Keyboard Shortcut, например <kbd> Option </kbd> + <kbd> Пробел </kbd> </p>

<p> <a href= введите описание изображения здесь>> </a> </p>

<p> ... затем скажите «Включить средство просмотра клавиатуры» </p>

<p> <a href= введите описание изображения здесь>> </a> </p>

<p> ... и вуаля: </p>

<p> <a href= введите описание изображения здесь>> </a> </p>

<p> К сожалению, Siri не закрывает Keyboard Viewer и не будет <kbd> Command⌘ </kbd> + <kbd> w </kbd> </p></body></html>

ответил Mr. Kennedy 5 FebruaryEurope/MoscowbSun, 05 Feb 2017 20:42:26 +0300000000pmSun, 05 Feb 2017 20:42:26 +030017 2017, 20:42:26
0

вы можете делать все с помощью Automator:

  1. откройте «Automator» и выберите «Application»
  2. в верхней части библиотеки найдите «Запустить приложение», дважды щелкните его
  3. выберите «другое» и перейдите к файлу KeyboardViewer в /System /Library /Input Methods
  4. Сохранить с таким именем, как «запуск клавиатуры». протестируйте его.

следующая часть - закрыть клавиатуру:

  1. откройте «Automator» и выберите «Application»
  2. в верхней части библиотеки найдите «Закройте приложение», дважды щелкните его
  3. выберите «другое» и перейдите к файлу KeyboardViewer в /System /Library /Input Methods

  4. Сохраните имя с именем «quit keyboard». протестируйте его.

теперь у вас будет два файла для открытия, один для закрытия.

все, что вам нужно, это связать ваши кнопки мыши, чтобы запустить эти два файла!

например, я использую Microsoft Bluetooth Notebook Mouse 5000 и

отлично работает для меня в 10.9.1

ответил Eugene Nogalsky 13 FebruaryEurope/MoscowbThu, 13 Feb 2014 22:37:05 +0400000000pmThu, 13 Feb 2014 22:37:05 +040014 2014, 22:37:05
0

Монитор активности, KeyboardViewer.app запускается из

Местоположение Finder: /System /Library /Input Methods /KeyboardViewer.app .

Нормальное использование: откройте Строка меню , рядом с курсором мыши, чтобы просмотреть кнопки окна, где можно нажать кнопку (x) close . Чтобы включить панель Панель меню , вкладку Системные настройки , Клавиатура , Клавиатура , выберите Показать клавиатуру и Emoji Зрители в строке меню .

Апплет KeyboardViewer демонстрирует ограничительное поведение.

  1. Окно апплета не реагирует на ⌘-Q , ⌘-W .
  2. Как ни странно, при открытии из папки Методы ввода , Activity Activity показывает, что апплет остается запущенным после закрытия своего окна.
  3. Автоматический AppleScript, показанный ниже, медленно запускается в фоновом режиме, услуги клавиатуры занимают секунды, чтобы регистрировать открытые и закрытые действия в Activity Monitor.
  4. Скрипт клавиатуры, показанный ниже, запускается без ошибок, но система, как представляется, игнорирует.
  5. Завершить приложение Sierra Automator не закрывает KeyboardViewer.app

Следующий сценарий Automator может быть сохранен как приложение для open-close KeyboardViewer.app с одним щелчком (Activity Monitor также показывает это действие open-close) и он хорошо работает при размещении в Dock.

Automator: Новое , Приложение , Запустите AppleScript , сохраните этот сценарий

-- see above post, Render
    on run {input, parameters}
        if application "KeyboardViewer" is running then
            quit application "KeyboardViewer"
        else 
            activate application "KeyboardViewer"
        end if
        return input
    end run
-- icon /System/Library/PreferencePanes Keyboard.prefPane/Contents/Resources/Keyboard.icns

К сожалению, это не добавляет сочетания клавиш. Однако он предлагает обходное решение с одним щелчком мыши. Возможно, есть способ добавить сочетание клавиш с помощью Automator. Общий скрипт ярлыка выглядит примерно так (но не уверен, как включить).

tell application "System Events"
    set application "KeyboardViewer" to keystroke "K" using control down
end tell

(macOS Sierra 10.12.6 на MP 6,1)

ответил mark stewart 24 +03002017-10-24T17:57:33+03:00312017bEurope/MoscowTue, 24 Oct 2017 17:57:33 +0300 2017, 17:57:33

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132