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
give you an
è for instance.
` (grave) or
are actually diacritical marks.
Dead keys might be handy if you often have to type in characters such as
é. 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. Administrator privileges are required to install this tool.
After you have installed it, start the program and choose
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
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:
Build DLL and Setup Package.
- Execute the
setup.exefrom 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.
Change input methods(section “Clock, Language and Region”).
- In the dialog “Change your language preferences” click
Optionsbutton / 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:
- 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.
- 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.
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: