At the time, faced with unpleasant strangeness of the vents.
Despite the fact that I bypass the tenth expensive “brutal assemblies”, I do not use Punto Switcher and other evil spirits, my Piggy periodically changed the order of switching keyboard layouts in the language bar.
That is, it was
En-> Ru-> Uk , for example, and it became
En-> Uk-> Ru .
The task is to put everything back and avoid this in the future.
The snag was complicated by the fact that I use English, Russian and Ukrainian layouts. With two things are
somewhat simpler .
The problem was observed and was solved on
Windows XP (SP 3) .
Screenshots are clickable')
So, first, you need to make sure that in the registry by addresses
HKEY_CURRENT_USER \ Keyboard Layout \ Preloadand
HKEY_USERS \ .DEFAULT \ Keyboard Layout \ Preload(
This branch is responsible for the primary keyboard layout when entering the system, but it is better to change it here )
indicated the desired sequence:

Where
00000409 - eng
00000419 - rus
00000422 - in Ukrainian
Full list of matchesSecondly, you need to change the priority for layouts.
To do this, go to the registry at
HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ Nls \ Localeand increase by one the value of the layout, which should be the last in the list (if there are only three of them, of course).
Usually both for the Russian (00000419) and Ukrainian (00000422) layouts, the priority is set to the same - 5. This means that the switch sequence would be
En-> Ru-> Uk , changing the value of the 00000422 field from “5” to “6” .
Just in case, you can change the values in this thread in the same way:HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet002 \ Control \ Nls \ Localealthough in my case it was not required .
Actually, these simple actions relieved me of the problems with the sequence of "language switching" when changing the keyboard layout.
Shl
Suddenly, someone never rules the registry, that's a
good article , in which everything is described in sufficient detail.