Переключиться на определенный источник входного сигнала

Переключиться на определенный источник входного сигнала

В Mac OS X есть сочетания клавиш для переключениямеждуактивированные источники входного сигнала.

альтернативный текст

Можно ли переключиться?копределенный язык? Так что если у вас есть 3 способа ввода, у вас может быть 3 сочетания клавиш: Ctrl-1для английского, Ctrl-2для испанского и Ctrl-3для русского.

решение1

Я представляю вам самое уродливое из возможных «решений»:

  • Включить поддержку вспомогательных устройств вСистемные настройки » Универсальный доступ,
  • и отображение меню «Источники ввода» в строке меню вСистемные настройки » Язык и текст.
  • Убедитесь, что ярлык Ctrl-F8определен дляПереместить фокус на меню статусавСистемные настройки » Клавиатура » Сочетания клавиш » Клавиатура и ввод текста.
  • Убедитесь, что меню «Источники ввода» является крайним левым пунктом меню, который можно перемещать, перетаскивая его с нажатой кнопкой мыши Cmd.

Используйте AppleScript Editorи напишите три скрипта, каждый из которых содержит следующий код:

tell application "System Events"
    key code 100 using control down # press Ctrl-F8
    delay 0.5 # wait a bit, UI might be slow
    key code 125 # press down to open the menu
    keystroke "german" # name of your desired language, in my case tested using German
    key code 36 # press enter
end tell

Сохраните один раз для каждого языка, выключив название языка. Если вы хотите нажать другие клавиши или назначить что-то отличное от Ctrl-F8, замените на коды клавишздесь. Вы также можете переместить меню «Источники ввода» из его крайней левой позиции, вставив несколькоправая стрелканажатия клавиш.

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

решение2

Я придумал немного более приятное решение в AppleScript, учитывая, что вы знаете название раскладки клавиатуры, на которую хотите переключиться. Создайте функцию вроде этой:

on changeKeyboardLayout(layoutName)
 tell application "System Events" to tell process "SystemUIServer"
   tell (1st menu bar item of menu bar 1 whose description is "text input") to {click, click (menu 1's menu item layoutName)}
 end tell
end changeKeyboardLayout

и затем назовите его

 changeKeyboardLayout("English")
 changeKeyboardLayout("German")

Имейте в виду, что названия раскладок клавиатуры локализованы, т.е. в немецкой системе приведенный выше пример должен называться «Englisch» и «Deutsch».

решение3

Одним из вариантов будет загрузкаизменитьВходиназначить сочетания клавиш для команд оболочкинравиться changeInput U.S..

Вы также можете использовать KeyRemap4MacBook:

<?xml version="1.0"?>
<root>
  <vkchangeinputsourcedef>
    <name>KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</name>
    <inputsourceid_equal>com.apple.inputmethod.Kotoeri.Japanese</inputsourceid_equal>
  </vkchangeinputsourcedef>
  <item>
    <name>change_inputsources</name>
    <identifier>change_inputsources</identifier>
    <autogen>__KeyToKey__ KeyCode::E, VK_OPTION | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_ENGLISH</autogen>
    <autogen>__KeyToKey__ KeyCode::H, VK_OPTION | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</autogen>
  </item>
</root>

Смотритечастная.xml документация.

VK_CHANGE_INPUTSOURCE_ENGLISH определен вvkchangeinputsourcedef.xml. Вы можете увидеть идентификаторы источников ввода из EventViewer.app. Без, | ModifierFlag::NONEнапример, первая настройка также будет применяться к option-command-E. Смотрите источник длязначения ключевых кодовипредопределенные настройки.

решение4

Я знаю, что это старый вопрос. Но даже в конце 2016 года я все еще не нашел простого и приятного решения. Поэтому я сделалIMEСочетания клавиш, работает на Sierra. Вы можете назначить настраиваемую комбинацию клавиш для любого конкретного метода ввода. Пожалуйста, попробуйте. И если вы, ребята, найдете какие-либо ошибки, я буду рад помочь.

Также,Карабин(известный как KeyRemap4MacBook) — отличный настройщик клавиатуры для Mac. Но он немного сложен и в настоящее время не работает на Sierra. Если вы используете Yosemite или El Capitan, это был бы еще один хороший выбор.

Связанный контент