I have to write code on a daily basis, and I prefer to do so with the standard American keyboard layout which I have used my entire life. At the same time, I find myself needing to type in German increasingly often.

I recently bought a German keyboard, with the intent of plugging it in simultaneously with my main one, just punching the appropriate key on the foreign board whenever I needed a special character which doesn't appear on an American keyboard: ö, ä, ü, ß, €. Unfortunately, that doesn't work at all: regardless of the symbol printed on the key, both keyboards appear to share the same layout at all times. I can switch key layouts using Alt+Shift, but that doesn't really help: I can guarantee that at some point I will lose time and productivity because of accidental key layout switches.

The ideal solution is that each keyboard forces a switch to the appropriate key layout as I begin entry on that keyboard. That is, simply typing on the American keyboard forces the system keyboard layout to US English, and typing on the German keyboard forces the system keyboard layout to German. This supports my use case of using the American keyboard at all times except when I need a German-only character, at which point I reach over and use the other keyboard before resuming typing. Even better would be if the solution also eliminated the standard keyboard shortcut.

Does there exist a Windows configuration to accomplish this? If not, what about an external program? Taking time to write a utility of my own for this is not an ideal solution, but it's what I'll have to resort to if there exists nothing else.

I believe this question is not a duplicate, because the questions here, and here, want to type in the same language, whereas I want to type in two different ones; the question here has been superseded by windows 10 and at any rate I want automatic switching on a per-keyboard basis.

  • 3
    I never really thought about it, but reading your question I'm amazed that Windows doesn't already support it. Would something like WinCompose be a solution for you? Yes, you need more keypresses, but reaching over to another keyboard takes some time too.
    – Berend
    Sep 9 '15 at 14:23
  • 1
    I'd never thought about it either, and was similarly amazed when the obvious solution didn't just work! WinCompose seems plausible as a workaround for the issue; I'll give it a shot.
    – coriolinus
    Sep 9 '15 at 17:10
  • I've never heard of having two keyboards of different languages tied to the same computer, so I don't know how it would work. But, using a shortcut setup program, you could find the alt codes for the characters and set up a shortcut to insert each one with a key combination (i.e. Alt + Shift + O for ö [obviously, you'd have to come up with a keyset before the letter that hasn't been used by another program, or it may cause problems])
    – mrdorkface
    Dec 13 '16 at 16:32
  • I don't think that would work at all. Windows does not support having two simultaneous inputs for one device. One possible solution I can think of is getting a programmable keyboard to dedicate to one of your layouts, and manually program the code of each key expected to print a special character when pressed. Mar 30 '18 at 10:45
  • possible duplicate of superuser.com/questions/177305/…
    – Razetime
    Apr 10 '18 at 10:59

A way to accomplish such an issue, is to add the US and German keyboard layouts to your configuration.

By using Win Key+Space, you can then easily switch between those layouts. (Windows does not recognize any country-specific difference for physical keyboards, unlike Sun Solaris...)

Although, I recommend that you also take a look at this post: UltimateKEYS layout.

This layout is based on standard US QWERTY, but allows you to type (almost) any Latin-based language using right Alt key combinations (perhaps you only need a single keyboard for both languages).


Keyboard language is a system wide setting without regard to what keyboard you have plugged in.

I would recommend using a virtual keyboard on screen for easy access to a German keyboard while keeping the system input language as English.

EXAMPLE: http://freevirtualkeyboard.com/virtuelletastatur.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.