Efficient Multi Language Typing on Windows
February 23, 2020

This post is very short since I have already posted the same for Linux here.

How to achieve the same in Windows 10 ? There are probably other ways but I just learned there is an old but official tool called Microsoft Keyboard Layout Creator. I used this tool to modify the standard US keyboard layout and mapped Alt-Gr (Right Alt Key) + the similar looking key to a Turkish or German letter (e.g. c to ç, a to ä). Then, this tool generates an installer, and you can use this to install it to the system. Then you choose this keyboard in the settings. Installing and configuring is a bit not straightforward but it works fine. So I do not need to change the keyboards now to type Turkish or German letters.

Since I also use macOS and also I think using Alt key in Windows make more sense than Ctrl because of its location, I also would like to swap Left-Ctrl and Left-Alt. This cannot be done with the layout tool. The best way is I think to modify the registry. At HKEY_LOCAL_MACHINE > System > CurrentControlSet > Control > KeyboardLayout, an entry called Scancode Map is used for this purpose. It is not straightforward to create the value though, so it is best to use a tool like KeyTweak. There are various resources on the internet about this. However, I am not 100% convinced that it is a good idea to swap Ctrl and Alt, since it is sometimes very confusing and there can be some programs not obeying the swap. I do use the normal layout at the moment.