В Windows 10 можно назначить сочетание клавиш для языка:
Перейдите в Панель управления -> Часы, Язык и Регион -> Язык -> Расширенные настройки.
В разделе « Переключение методов ввода» нажмите « Сменить горячие клавиши языковой панели», затем нажмите на своем языке и, наконец, на « Изменить последовательность клавиш».
Откроется диалоговое окно, в котором вы можете назначить горячую клавишу этому языку:
Поскольку вышеупомянутые сочетания клавиш весьма ограничены, можно использовать, например, 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
}
Вот несколько потоков, предлагающих скрипты для изменения раскладки клавиатуры с различными функциями:
Вот некоторые бесплатные продукты, которые делают это также:
- keyla - может определять сочетания клавиш или использовать значок на панели задач
- Резюме - использует CapsLock для переключения языка клавиатуры