I had some difficulty finding resources for creating custom keyboards on Windows, so I wanted to write up a post on what I’ve found. Specifically, I wanted to create a Hebrew keyboard which was laid out phonetically (so the letter Daled, ד, which makes a “d” sound, would be typed via the “d” key).
Although there are some prebuilt phonetic keyboards (such as this one from the University of Kansas), I wanted some customization there.
If you want to skip right ahead to downloading my keyboard, you can download the installer files directly. These files should work fine on Windows 10, Windows 8, and Windows 7 – and likely even further back.
You’ll basically need two things to create your own custom keyboard:
You should begin by opening the Microsoft Keyboard Layout Creator, and then going to File -> Load Source File and choosing my “Phonetic Hebrew Keyboard.klc” as a starting point.
Note that you can also choose an existing keyboard to begin with, such as the standard Israeli keyboard layout, by going to File -> Load Existing Keyboard, and then choosing the Hebrew keyboard. (I did not find any differences between “Hebrew” and “Hebrew (Standard)”.)
From here, you can begin to edit the keyboard layout as you see fit. I’ve made certain decisions based on how I think about the Hebrew language with respect to how I type in English – I think of the K sound as a kuf (ק) as the “Q” sound, and kaf (כ) as either the “K” or “C” sound – and I have mapped the letters as such. If you feel differently, you can simply click on a key and remap that key to any letter you want.
It’s worth noting that in my keyboard layout, holding the Shift key simply brings you back to English. You may want to include final (sofit) letters here, or something else entirely – this is also configurable. Just click on the “Shift States” checkboxes on the left to see what your keyboard will look like when in a “shift state”, such as holding the shift Shift key, the ALT key, or the CTRL key.
When you’ve finished editing your keyboard layout, the first step is to go to Project -> Validate Layout. This will let you know if there are any warnings or errors regarding your keyboard – this can include things like having the same letter mapped to two different keys (which my keyboard does, as mentioned above). It is a good idea to review the log of warnings and errors to make sure that your keyboard exists the way you want it.
When you’re sure you’re done, go to Project -> Build DLL and Setup Package. This will create the installer files for your keyboard, which is what I linked to above for my own. You can also change the folder into which these files can go by clicking on the ellipsis key next to “Current Working Directory” below the keyboard layout.
This will create several executable files for different operating system architectures, but the easiest method to install the keyboard is simply to run setup.exe.
After installing the keyboard and restarting, you should now have access to this keyboard layout. Note that you can have multiple keyboard layouts installed for the same Language, so you can switch between English, Hebrew (Standard) and Hebrew (Phonetic) as you wish. The quick shortcut for switching keyboards is Windows Key + Space.