Pull to refresh

Закрепление порядка раскладки клавиатуры (Win XP)

Reading time2 min
Views16K
В своё время столкнулся с неприятной странностью форточек.
Невзирая на то, что обхожу десятой дорогой «зверские сборки», не использую Punto Switcher и прочую нечисть, моя ХРюшка периодически меняла порядок переключения раскладки клавиатуры в языковой панели.
Т. е. было En->Ru->Uk, к примеру, а стало En->Uk->Ru.
Задача — вернуть всё на место и избежать подобного в будущем.

Загвоздка осложнялась тем, что я использую английскую, русскую и украинскую раскладки. С двумя всё несколько проще.

Проблема наблюдалась и была решена на Windows XP (SP 3).

Скриншоты кликабельны

Итак, во-первых, надо убедиться, что в реестре по адресам
HKEY_CURRENT_USER\Keyboard Layout\Preload
и
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
(Эта ветка отвечает за первичную ракладку клавиатуры при входе в систему, но лучше и здесь поменять)

указана желаемая последовательность:

Где
00000409 — eng
00000419 — рус
00000422 — укр
Полный список соответствий

Во-вторых, необходимо изменить приоритет для раскладок.
Для этого заходим в реестр по адресу
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\Locale

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

Обычно и для русской (00000419), и для украинской (00000422) раскладок приоритет установлен одинаковым — 5. Значит для того, чтобы последовательность при переключении была En->Ru->Uk, изменяем значение поля 00000422 с «5» на «6».


На всякий случай можно аналогичным образом изменить значения и в этой ветке:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Nls\Locale
хотя в моём случае этого не потребовалось.

Собственно, эти несложные действия избавили меня от проблем с очерёдностью «переключения языков» при смене раскладки клавиатуры.

ЗЫ
Вдруг кто-то никогда не правил реестр, вот неплохая статья, в которой достаточно подробно всё расписано.
Tags:
Hubs:
+8
Comments28

Articles