Sunday, March 21, 2021

Wrong keyboard layout re-appearing in windows 10

I'm using many operating systems - including WindowsXP (no longer able to activate), windows 10, Linux and more. Some of the Windows 10 registered as box, some as OEM, some not registered (while I have several "spare" box licenses... I just do not need to register and there are some issues with it).

Often I see the following issues about Windows 10:

  • Need to have over 32GB of disk space to run and update (on some computers it is not possible)
    • This hurts if your computer has eMMC soldered-in disk and cannot be increated
    • Linux runs with graphic, web browser and more from 50MB...
  • With upgrades many customization settings are gone (a fresh copy is installed aside)
    • This is especially important for enterprise when you configured ex. network settings, printers, scanners and more - now upgrade would destroy it
  • Unwanted keyboard layout that appears after restart
    • I am using English language (there is no "Engineering English" thus I am using US or UK English usually)
    • I am using Polish Programmer's keyboard layout
    • After update/upgrade Windows adds default keyboard that has ex. @ instead of " and more
Solution (probably temporary as Microsoft does many crazy things and everything there is unstable):
  • Make sure that you have only 1 keyboard layout in the system
  • Run regedit
  • go to HKU, Keyboard Layout, Preload, change permissions so that everyone can read but no one can modify (see on the bottom for instruction)
  • do same in current user settings: HKCU, Keyboard Layout, Preload
In my case there is only 0x00000415 layout present and windows will fail to add new keyboard on re-login / restart / update. Hopefully it would fail on upgrade as well.
If Microsoft changes this at some point and does a very dumb thing to overload permissions - then I would need to re-apply content on every restart of do even more (including hacking of the operating system, disassembling it and more things which might be against Windows license). And best idea is to use Linux.

How to change permissions? Ex. right click on "Preload", click on "disable inheritance" and "remove", click "change owner", select your user, make sure the permissions list is empty and click "add", click on the top and enter "users" as object name (you can also use "advanced" and search). Apply for this item and all children.

No comments: