11

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.

8
  • 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
    Commented Sep 9, 2015 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
    Commented Sep 9, 2015 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
    Commented Dec 13, 2016 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. Commented Mar 30, 2018 at 10:45
  • possible duplicate of superuser.com/questions/177305/…
    – Razetime
    Commented Apr 10, 2018 at 10:59

4 Answers 4

3

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).

1

Incredibly late, but I'm sure someone will find this helpful.

There's a very simple solution to the problem that doesn't involve any tweaks, third party programs or virtual keyboards.

The "United States-International | QUERTY" layout exists for that very reason. While the US-standard layout doesn't have the AltGR key but instead just another simple Alt, US-Intl. allows third and fourth key functions with the use of AltGr and optionally Shift, like you know them from a german keyboard for example. This isn't a physical restriction as far as I'm aware, so the physical US-layout (long Left Shift, \ under Backspace) allows both and only the printing and maybe the default layout may differ.

This maps ä, ö, ü, ß, € to Q, P, Y, S, 5 respectively, in combination with AltGr. Capital letters with Shift added to the combo. Also you keep the µ on M and have ° (degree) on AltGr+Shift+;.

You can find the full layout here for reference Wiki QWERTY#US-International

Also read the accompanying paragraph to that layout, since there's a few quirks you need to be aware of, especially when programming.

Just switch to that layout in the Windows settings and you have everything you want.

0

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

0

If you're using a QMK or VIA-compatible keyboard, you can map the keys at the firmware level to trick Windows. More information:

https://qmk.fm/

https://www.caniusevia.com/

1
  • Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center. Commented Dec 2, 2022 at 3:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .