Раскладка клавиатуры в RDP-сеансе
Проблема: В системном трее язык переключается как обычно (к примеру, с RU на EN), но при этом ввод продолжает оставаться в раскладке RU, а рядом со значком EN появляется значок в форме клавиатуры, кликнув на который мышью можно уже вручную в появившемся контекстном меню изменить язык ввода – и вот тогда он действительно заменится на выбранный.
Подобное непотребство происходит в том случае, если в момент подключения у клиента и сервера различаются текущие раскладки клавиатуры. Если в момент входа языки выбраны одинаково, то описанная проблема не возникает.
Есть и решение – можно заставить сервер игнорировать раскладку клавиатуры, с которой производилось клиентское подключение. К сожалению, разработчики из Microsoft не удосужились добавить графический интерфейс для этой опции, поэтому потребуется вносить изменения в реестр вручную.
- Открываем редактор реестра (regedit.exe);
- Открываем ключ HKLM\System\CurrentControlSet\Control\Keyboard Layout;
- Создаем параметр IgnoreRemoteKeyboardLayout (REG_DWORD) и присваиваем ему значение “1”;
- Перезагружаем сервер.
Теперь язык ввода всегда должен переключаться по комбинации заданной комбинации клавиш, без необходимости клацания мышью.
PS: Описанное актуально для английской версии WinServ2008R2 + русскоязычного MUI; возможно, для других комбинаций языков поведение этой чудо-системы отличается.
Оригинальный источник: Ссылка
Подозреваю, терминал может схватывать настройки локальной станции, с которой клиент терминалится.
Чтобы отключить автоперенос настроек раскладок в терминал, укажите в реестре терминального сервера:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"IgnoreRemoteKeyboardLayout"=dword:00000001