Как переключать языки в Windows 10 (почти) как в OS X, Android, iPhone

Как переключать языки в Windows 10 (почти) как в OS X, Android, iPhone

В OS X есть эта действительно удобная функция: когда у вас есть 3+ источника ввода с клавиатуры (языка) и нажатие Cmd+ Spaceпозволяет переключаться только между двумя из них.

Если вы хотите переключиться на другой (третий) язык, просто удерживайте Cmdи нажмите Space, чтобы выбрать из списка доступных источников ввода.

Как мне реализовать подобную функциональность на Windows 10? У меня 3 источника входного сигнала, и перебирать их в цикле, чтобы добраться до нужного, действительно раздражает.

решение1

В Windows 10 можно назначить сочетание клавиш для языка:

  1. Идти кПанель управления -> Часы, язык и регион -> Язык -> Дополнительные параметры.

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

  3. Откроется диалоговое окно, в котором вы можете назначить сочетание клавиш для этого языка:

изображение

Поскольку приведенные выше сочетания клавиш весьма ограничены, можно использовать, например,AutoHotkeyчтобы изменить это на любую другую комбинацию клавиш. Как только вы изучите AutoHotkey, вам будет легко воспроизвести точное поведение OSX (можно также попросить помощи на их форуме).

В Интернете можно найти множество скриптов AutoHotkey, которые можно адаптировать под любые нужды.

Следующий пример скрипта направлен на улучшение работы клавиши Alt+ Shiftв качестве переключателя между английской и русской раскладкой клавиатуры для текущего окна:

; This should be replaced by whatever your native language is. See 
; http://msdn.microsoft.com/en-us/library/dd318693%28v=vs.85%29.aspx
; for the language identifiers list.
ru := DllCall("LoadKeyboardLayout", "Str", "00000419", "Int", 1)
en := DllCall("LoadKeyboardLayout", "Str", "00000409", "Int", 1)

!Shift::
w := DllCall("GetForegroundWindow")
pid := DllCall("GetWindowThreadProcessId", "UInt", w, "Ptr", 0)
l := DllCall("GetKeyboardLayout", "UInt", pid)
if (l = en)
{
    PostMessage 0x50, 0, %ru%,, A
}
else
{
    PostMessage 0x50, 0, %en%,, A
}

Вот несколько тем, предлагающих скрипты для изменения раскладки клавиатуры с различной функциональностью:

Вот несколько бесплатных продуктов, которые делают то же самое:

  • кейла- Можно определить сочетания клавиш или использовать значок на панели задач
  • Резюме- Использует CapsLock для переключения языка клавиатуры

решение2

Если вам нужно точно такое же поведение, как в macOS, без необходимости настройки, вы можете использовать Ctrl+ Win+ Spaceдля переключения между двумя недавно использованными языками, подобно тому, как это делается с помощью Cmd+ Space.

Чтобы переключиться на другие методы ввода, например, при двойном нажатии Cmd+ Space, просто используйте Win+ Space.

решение3

Как переключать языки в Windows 10 (почти) как в OS X, Android, iPhone

Для этой проблемы существует (почти идеальное) решение.Windows 7, что возможно реализовать вВиндовс 10с несколькими дополнительными шагами.

Фон

Решение основано на том факте, что в Windows есть две отдельные сущности:Язык вводаиРаскладка клавиатуры.

По умолчаниюAlt+Shiftциклы через настроенныйЯзыки ввода и этоЯзык вводакоторые люди обычно добавляют, когда им требуются дополнительные языки в их системах.

Но.

  1. Можно изменить поведениеAlt+Shift(илиCtrl+Shift если вы предпочитаете) для циклического прохожденияРаскладки клавиатурыи не менять Язык ввода.
  2. Можно указать разные сочетания клавиш для каждогоЯзык ввода(как это также описано в одном из других ответов на этот вопрос)
  3. Самое главное, что можно добавлять несвязанныеРаскладка клавиатурыдляЯзык ввода(даже макет с другим шрифтом), например, макет иврита на английский язык. Этот шаг немного сложен вВиндовс 10, но выполнимо.

В конечном итоге у вас будет несколько разныхЯзыки ввода, для каждого из которых у вас будет отдельная комбинация клавиш, но как только вы выберетеЯзык вводавы сможете использовать обычныеAlt+Shift который будет циклически проходить между определеннымиРаскладки клавиатуры"внутри"Язык ввода.

Конфигурация в Windows 10

Для простоты предположим, что вы хотите использовать 3 языка: английский, русский и иврит. После выполнения следующих шагов у вас будет три режима работы:

  • Режим английского языка, используемый по умолчанию, выбирается с помощьюCtrl+1иAlt+Shift(илиCtrl+Shift) цикл между английским и русским
  • Режим иврита, выбранный с помощьюCtrl+2и сAlt+Shift(илиCtrl+Shift) цикл между английским и ивритом
  • Русский режим, выбранный с помощьюCtrl+3 и сAlt+Shift(илиCtrl+Shift) цикл между английским и русским

Шаги по настройке.

  1. Ctrl-Esc(которая открывает меню «Пуск») — или кнопка Windows в левом нижнем углу экрана
  2. ТипЯзык(что должно вызвать элемент «Язык» на Панели управления), нажмите Enter
  3. В зависимости от вашего поставщика у вас может быть английский и ваш региональный язык. Если у вас есть только английский, добавьте русский и иврит сДобавить кнопку языка
  4. Каждый язык имеет настройки по умолчаниюМетод ввода, что соответствует языку. Теперь мы добавим "не связанные"Метод вводадля каждогоЯзык ввода:
    1. СкачатьСоздатель раскладок клавиатуры Microsoft
    2. Файл -> Загрузить существующую клавиатуру.
    3. Выберите раскладку, которую вы хотите добавить (начнем с русской раскладки для английского языка ввода)
    4. Проект -> Свойства
    5. ИзменитьЯзыксоответствоватьЯзык вводадля которого вы хотите, чтобы эта раскладка клавиатуры была доступна. В нашем случае это будет Английский (США).
    6. НажиматьХОРОШО. Возможно, вам придется изменитьОписаниенемного, если вы получаете сообщение об ошибке "Описание клавиатуры идентично". Просто добавьте какой-нибудь суффикс.
    7. Откройте меню «Проект» и выберитеСборка DLL и установка пакета. Игнорируйте предупреждение, согласитесь открыть каталог, в котором был собран пакет установщика Windows.
    8. Бегатьнастройка.exe, который устанавливает вашРаскладка клавиатурыдля избранныхЯзык ввода
    9. Если вы снова откроете (закроете и снова откроете)Языкэкран (из шага 2) и выберитеПараметрыдляАнглийский Соединенные Штаты)язык, вы должны увидетьдваметоды ввода сейчас:НАСиНедоступный метод ввода
    10. Повторите шаги 4.1–4.9 для всех необходимых раскладок клавиатуры (для примера, который мы обсуждаем, нам понадобится еще два повторения: загрузите английскую клавиатуру, установите русский язык вПроект -> Свойстваи соберите его, снова загрузите английскую клавиатуру, установите язык на иврит вПроект -> Свойстваи построить его).
  5. После успешного завершения предыдущих шагов у вас должно бытьНедоступный метод вводанаПараметрыэкран для каждого языка, который вы использовали в качестве целевого языка на шаге 4.5.
  6. Последний шаг — настройка сочетаний клавиш. ОткрытьЯзыкэкран (шаги 1-2)
    1. ВыбиратьРасширенные настройки(на левой панелиЯзыкэкран)
    2. ВыбиратьИзменить горячие клавиши языковой панели
    3. ВыбиратьМежду языками ввода(щелчок левой кнопкой мыши) и нажмитеИзменить последовательность клавишкнопка
    4. ВыбиратьНе назначенвПереключить язык вводапанель
    5. ВыбиратьЛевый Alt + Shift(или тот, который вам больше нравится) вПереключить раскладку клавиатурыпанель
    6. Подтвердите (ОК).
    7. ВыбиратьНа английский (США) - US(щелчок левой кнопкой мыши), нажмитеИзменить последовательность клавишкнопка, проверитьВключить последовательность клавиш, выбиратьCtrlи1(или любой другой предпочтительный), подтвердите
    8. ВыбиратьНа иврит (Израиль) - Иврит (стандартный)(щелчок левой кнопкой мыши), нажмитеИзменить последовательность клавишкнопка, проверитьВключить последовательность клавиш, выбиратьCtrlи2(или любой другой предпочтительный), подтвердите
    9. ВыбиратьНа русский (Россия) - Русский(щелчок левой кнопкой мыши), нажмитеИзменить последовательность клавишкнопка, проверитьВключить последовательность клавиш, выбиратьCtrlи3(или любой другой предпочтительный), подтвердите
  7. Перезагрузите компьютер (да, сочетания клавиш в Windows довольно глючные, после их изменения вам придется перезагрузить компьютер, чтобы они были правильно зарегистрированы).

Конфигурация в Windows 7

Настройка того же варианта использования в Windows 7 проще и не требует загрузки дополнительных инструментов.

  1. Ctrl-Esc(которая открывает меню «Пуск») — или кнопка Windows в левом нижнем углу экрана
  2. ТипРегион и язык(что должно вызвать элемент «Язык» на Панели управления), нажмите Enter
  3. Клавиатуры и языкивкладка ->Сменить клавиатуру
  4. ВыбиратьДобавлятькнопку и поискАнглийский Соединенные Штаты)раздел
  5. Нажмите+(знак плюс) который открываетсяКлавиатурараздел
  6. Откройте его и нажмитеПоказать больше...элемент, который дополнит список всеми различными языками, найдитеРусскийв этом списке и проверьте его (убедитесь, что вы выбрали русский язык в списке «Клавиатура» внутри списка «Английский (США)»).
  7. После подтверждения у вас должно быть две клавиатуры подEN Английский (США): США и Россия.
  8. Нажмите Добавить, найдитеИврит (Израиль)и выберитеиврит,Показать больше...,Соединенные Штаты-Международный(который будет доступен только после выбораПоказать больше), подтверждать
  9. Нажмите Добавить, найдитеРусский (Россия)и выберитеРоссия,Показать больше...,НАС(который будет доступен только после выбораПоказать больше), подтверждать
  10. Идти кРасширенные настройки ключавкладка
  11. ВыбиратьМежду языками ввода(щелчок левой кнопкой мыши)
  12. ВыбиратьИзменить последовательность клавишкнопка
  13. НаборПереключить язык вводакНикто,Переключить раскладку клавиатурыкЛевый Alt + Shift(илиCtrl+Shift), подтверждать
  14. На английский (США) - US->Изменить последовательность клавиш->Включить последовательность клавиш, установлен вCtrl+1, подтверждать
  15. На иврит (Израиль) - Соединенные Штаты Америки-Международный->Изменить последовательность клавиш->Включить последовательность клавиш, установлен вCtrl+2, подтверждать
  16. На русский (Россия) - США->Изменить последовательность клавиш->Включить последовательность клавиш, установлен вCtrl+3, подтверждать
  17. Подтвердите (ОК).
  18. Перезагрузить.

Примечания

Есть одна особенность: в некоторых программах могут быть искажены символы, если вы не переключитесь вправоЯзык ввода(например, если вы получаете искаженный русский ввод, используйтеCtrl+3(переключиться на русскую раскладку клавиатуры). Но это случается довольно редко и только в каких-то необычных обстоятельствах (для большинства пользователей Windows), и меня это не сильно беспокоит.

решение4

Вы можете просто использовать сочетание клавиш Alt+ Shiftдля перебора определенных языков (и это будет цикл ;) ).

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