Это, вероятно, ожидаемое поведение Windows, но возможны обходные пути.
Объяснение: Язык ввода (раскладка клавиатуры) не является глобальным; он устанавливается для каждого отдельного приложения. Когда приложение теряет фокус ввода, Windows сохраняет текущий язык ввода. Когда это приложение восстанавливает фокус ввода, Windows пытается переключиться обратно на язык ввода, ранее сохраненный для этого приложения. Я не уверен насчет среднего щелчка, но клавиша Windows и Alt-Tab определенно побуждают переключать фокус ввода на другое приложение и, таким образом, потенциально могут переключать язык ввода.
Вот возможные обходные пути:
Если вы используете только две раскладки, и одна из них содержит ключ для переключения на / из QWERTY (например, корейская и иврит), удалите все остальные раскладки. Просто используйте возможность одного макета для переключения в / из QWERTY. Обратите внимание, что состояние ввода QWERTY макета все еще сохраняется и автоматически переключается между различными приложениями. Я использовал этот метод для переключения между QWERTY и корейским вводом разумным, предсказуемым способом.
Программное обеспечение сторонних производителей (бесплатно):
Portable Keyboard Layout (PKL) используется для поддержки альтернативных языков ввода на (других) компьютерах без прав администратора. Он поддерживает одно и то же состояние языка ввода во всех приложениях. Можно настроить сочетание клавиш для переключения между раскладками. Работает с USB-накопителя. Бесплатный и с открытым исходным кодом.
Требуются некоторые настройки освещения:
- Скопируйте нужные макеты в подпапку макетов.
- Добавьте раскладки и сочетания клавиш в файл pkl.ini. Я нашел макет для иврита для вас здесь. (Обязательно удалите раскладку Colemak, если она вам не интересна.)
Вот хорошее начало о том, как следует изменить файл pkl.ini:
; The layout ini file is "layouts/[key value]/layout.ini"
; You can use multiple layouts, if you write:
; layout = layout1:Displayed name,layout2
layout = hebrew:Hebrew
; With this hotkey you can switch between layouts
changeLayoutHotkey = LAlt & LShift
Вышеуказанные настройки добавляют раскладку на иврите и сочетания клавиш Alt + Left Shift, к которым вы привыкли (я бы удалил все остальные раскладки и сочетания клавиш в Windows, чтобы они не мешали, или использовал бы другие сочетания клавиш)
В качестве примечания я изменил скрипт PKL для поддержки нечетной комбинации ввода на корейском языке хангыль и раскладки Colemak. При установке PKL по умолчанию корейский ввод ужасно искажается, потому что он ожидает макет QWERTY ...