Keyboard layout has been selected

How to Create a Custom Keyboard Layout in Windows

Windows comes with a lot of different keyboard layouts, most of which are used to accommodate foreign language keyboards. If none of the default layouts within Windows fit your needs, you can always create your own.

When I started learning Spanish, I needed to be able to type a few characters that we don’t have in English: á, é, í, ó, ú, ñ, ¿, and a couple others. To do this easily, I had to use a Spanish keyboard layout that was built into Windows.

The problem I ran into was that it made a lot of other (undesirable) changes to my keyboard, instead of just providing me with the new characters that I needed to use. And while writing these characters was now way easier than before, I knew I could make a much more intuitive keyboard myself. So that’s what I did.

The following guide will take you through my process of creating a custom Spanish keyboard layout for my American keyboard. If you have an idea for how you’d like your custom key mappings to be, you can follow along with me to create your own custom keyboard.

How I envisioned my keyboard

The Spanish keyboard that comes with Windows did some things I didn’t like. For example, it turned my semicolon (;) key into an ñ. Well, that’s fine, even though it’d take some getting used to. But… where did my semicolon key go? I don’t know, nor do I care to always remember where its new home is. And the same goes for all the other keys it displaced. In short, I just didn’t find this keyboard layout to be very intuitive.

I decided that I’d much rather just be able to hit my left bracket key (ya know, this thing: [ ) followed by the character I wanted to modify with an accent or tilde. So, if I wanted to write ú, I could just type [ and u. If I want to write ñ, I type [ and n. And instead of displacing my [ key, how about I access it by tapping it twice. Much simpler, right? Yeah, but we’ll need to create a custom keyboard layout for that to happen.

Microsoft Keyboard Layout Creator

Microsoft made a handy little program just for this purpose, which can be downloaded right from their website. If that link stops working for some reason, we also have the program hosted at this link. Once you’ve downloaded it, run the setup file and go through the install prompts (all very self-explanatory).

Once the installation is finished, you can open the program through the Start menu.

Open Microsoft Keyboard Layout Creator

You’ll be presented with a blank keyboard layout initially, totally customizable from the ground up:

Blank keyboard layout

Rather than creating an entire layout from scratch, it’s a lot easier to just use our current keyboard layout and then customize it with our new specifications. You can load your current keyboard through File > Load Existing Keyboard…

Load existing keyboard

Choose your current keyboard layout in this menu. If you’re using a regular American keyboard, select ‘US.’

Choose an existing keyboard layout from the list

The keyboard should look filled out now and we can begin to make our personalizations.

Keyboard layout has been selected

Setting a ‘dead key’

You can rearrange or reprogram these keys as you please, but if you’d like to add additional characters to the keyboard, you’ll have to use a ‘dead key.’ As I said earlier, I access Spanish characters by first pressing [ on my keyboard. In other words, the left bracket is my dead key.

Right-click on the key and hit ‘Set as dead key.’

Right clicking a key to set a dead key

A new window will open, where you can set your additional keys.

Configuring dead key settings

As you can see in the screenshot above, I’ve begun to enter a few Spanish characters. The dead key + base key forms the composite key. So the first row indicates that ‘[‘ followed by ‘n’ will create ‘ñ’. The ‘U+006e’ and similar information is created automatically – just type your characters as normal and that other information will populate automatically.

You can just google for custom characters that you need, and paste them into the composite column. But after we finish saving this keyboard, you’ll be able to make those characters yourself!

Our left bracket key can now be used to make a lot more characters, but we still may need to use the left bracket key itself from time to time. You can enter ‘[‘ in the base and composite columns so that double tapping the left bracket key will still output a left bracket.

Here’s how it looks now that I’ve finished filling out all the Spanish characters I need:

Dead key completely filled out with Spanish characters

Save and enable your new keyboard

Click OK when finished with the dead key setup. Go to File > Save in order to save your new layout somewhere. More importantly, we need to build an executable version of the new keyboard, so it can be installed on your computer (and other computers if you share the file or plan to switch PCs).

First, click on Project > Properties to name your layout.

Accessing project properties in MKLC

Type the relevant information here and click OK when finished.

Filling out the keyboard name and other properties

Click on Project > Build DLL and Setup Package

Build DLL and setup package to export your keyboard

If you get a warning, don’t worry, it’s safe to proceed. You should get a dialog at the end saying that your files were successfully saved:

Custom keyboard layout has been successfully saved

Click Yes to see the files that were just created. In order to install your newly created custom keyboard, just run setup.exe

Custom keyboard layout has been installed

With installation successfully completed, you can select your keyboard in the taskbar.

Select the newly created keyboard from the taskbar

11 thoughts on “How to Create a Custom Keyboard Layout in Windows”

  1. Your premise for creating a new keyboard layout was ultimately useful – however it was unnecessary as the “US QWERTY International” keyboard already allows you to select all the special diacritics for the Spanish language. The Spanish Keyboard is for full-blown Spanish use (natch).

    Go to Language Setttings in Win10 Settings. Click the “English (United states)” language (or similar if in the UK etc) then click the “Options” button. Look for the “Keyboards” section and add the “US QWERTY International” keyboard.

    When done, go back to your task bar and select the keyboard from the list in the lower right of your screen (unless you moved the task bar somewhere else).

    Use the right ALT key with the letter to get the special letter (ALT-RIGHT + e = é) – or use the virtual keyboard in the task bar (you might need to show it by right-clicking the taskbar and selecting “Show touch keyboard button”)

    1. Great point, although I like having the ability to choose a dead key and map out the layout I find most convenient. Thanks Kim.

  2. The installation was successful but I can’t find the keyboard layout anywhere. I first tried the taskbar but it only shows the keyboards I had previously installed. I also went to language preferences, clicked on my language and went to the Keyboards part, but I can’t find mine there either.

    1. It should be selectable in the notification area on the taskbar (bottom right of your screen). Try restarting your computer to see if it shows up – I’ve had to do that before after installing a custom keyboard.

      If you still don’t see it, it’ll be under Language preferences > Preferred languages (click your language here) > Options > Keyboards (add a keyboard).

  3. Dimitrija Vojvoda

    Excellent tutorial, I had to create a custom Macedonian latin keyboard. Just make sure to add restart the computer as the last step!!

    1. Yes, it should. Just be sure to import the layout at the beginning that you’d like to base your custom keyboard off of.

  4. The default korean keyboard has a key (right alt by default) to switch between korean alphabet and the latin alphabet. is there a way to add such a key to a custom layout?

Leave a Comment

Your email address will not be published. Required fields are marked *