Disabling dead keys under Windows 10
Estimated reading time: ~3 minutes
The german keyboard layout under Windows makes use of dead keys. Disabling them under Windows is pretty cumbersome.
A key which is designated as a dead key works like a kind of
meta key. Like the Shift
key for instance. If you press a dead key, e.g. a grave
(`
), nothing happens. Only after you press another key, one
of which can be used in conjunction with a grave, an actual
character is printed to the screen. Pressing `
+ e
will
give you an è
for instance.
Characters like ^
(circumflex), `
(grave) or
´
(acute)
are actually diacritical marks.
Dead keys might be handy if you often have to type in characters such as è
or
é
. Well, I don’t. Actually programmers use the grave accent symbol as a
separate character (i.e., not combined with any letter) for a number of tasks.
In this role, it is known as a backquote or backtick.
Take the markdown markup language for instance. Inline code should be
enclosed between backticks. And because I make heavy use of backticks
I wanted to disable dead keys… As it turned out this is not an easy
task if you are running Windows.
Up to and including Windows 10 the only solution I know of involves creating your own keyboard layout. You can download the Microsoft Keyboard Layout Creator (MSKLC) from here (MSKLC.exe, version 1.4, published on 10. Oct. 2020). Administrator privileges are required to install this tool.
After you have installed it, start the program and choose File
-> Load Existing Keyboard
. Load the keyboard layout you want to modify.
Then right click on the dead keys you want to disable and uncheck
Set as dead key
. Keys designated as dead keys are highlighted in bright grey.
Be sure to cycle through all shift states to catch all dead keys:
When you are done save the new keyboard layout using
File
-> Save Source File
. If you want to make any changes to he layout
in the future you can open this project file. But to be able to actually
install this new keyboard layout you have to do the following steps:
- Click
Project
->Build DLL and Setup Package
. - Execute the
setup.exe
from the resulting DLL and Setup package. Again, you need to have administrative privileges.
Next, configure Windows to actually use the new layout:
- Open the the Windows control panel.
- Choose
Change input methods
(section “Clock, Language and Region”). - In the dialog “Change your language preferences” click
Options
. TheOptions
button / link is besides your language. - In the “Language options” dialog below the section “Input method” add your newly installed keyboard layout. Mine is called “Deutsch - no dead keys” for instance.
- Remove any other keyboard layouts.
- You are done, finally.
These are screenshots of the previously mentioned dialogs:
Further downloads
- My MSKLC project file. Based on the german default layout. Dead keys are eliminated.
- ZIP archive containing the installer created from my custom keyboard layout. If you don’t want to install the MSKLC and create you own german keyboard layout without dead keys you can use the layout provided by this installer.
- Log file produced during installer creation.
Further notes
- If dead keys are enabled and you want to print a diacritic mark alone
to the screen (a backtick for instance) you have two options:
- Press it’s key twice. The diacritc mark will be printed to the screen twice.
- Press it’s key + space. The diacritc mark will be printed to the screen once.
Linux
Just one more thing. Under Linux when running KDE (K Desktop Environment) disabling dead keys is as simple as selecting the desired variant in a drop down box:
A note about Netcup (advertisement)
Netcup is a German hosting company. Netcup offers inexpensive, yet powerfull web hosting packages, KVM-based root servers or dedicated servers for example. Using a coupon code from my Netcup coupon code web app you can even save more money (6$ on your first purchase, 30% off any KVM-based root server, ...).