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.