I am wondering why Windows 7 always automatically changes my input or keyboard language.

I've a notebook with an integrated QWERTY keyboard English (United States). Traveling, I use that one but, additionally, I've my own as well as a much better keyboard at home which is a QWERTZ keyboard German (Germany). Thus, being at home, I'd like to use my QWERTZ keyboard.

Unfortunately, Windows 7 does not play along at this one. Every time, I start up my notebook, it is usually set to English (United States) but that's not the problem. In case, I'd use my notebook QWERTY keyboard English (United States), that's fine. However, if I start up my notebook and I'd like to use my QWERTZ keyboard German (Germany), I usually press ALT + Left Shift in order to switch from English (United States) to German (Germany) and Windows 7 switches the input language but only for the program that is currently open. If my input language is set to German (Germany) and I, e.g., open NotePad, Windows 7 automatically switches my input language to English (United States). This is very annoying since I've to change the input or keyboard language to German (Germany) every time I open up a new program.

Why doesn't Windows 7 stay with one input language if I changed it manually by pressing ALT + Left Shift? Why doesn't the manual change of the input or keyboard language apply for the whole Windows 7? Why does it only affect the currently opened program?

Since I've two keyboards with two different layouts, I seriously need to have both of the keyboards languages installed.

I tried both of the below settings in order to find a solution for my problem. Currently, I am using the first option, two input languages.

First option: two input languages:

enter image description here

Second option: two keyboard languages:

enter image description here

  • I would like to know why; after removing all keyboards except US I still get my Canadian characters and inputs. – rlemon Sep 25 '12 at 19:04

Yet, I've not found out if it is possible to change the default input language via a shortcut or if it's possible to disable the regular fall back to the default input language when opening a new program, but I've found an alternative!

Googling the problem, I came across the following article written by Androgen Belkin: http://www.script-coding.info/AutoHotkey/AhkRussianEng.html

He explains that Russians always have a similar problem with their keyboards concerning the Russian and English language. Thus, he created a script that checks and switches on user input, if necessary, the default input language when Windows starts. The script can be found on the above link at the very bottom and has been written for AutoHotKey, a free keyboard macro program. Luckily, I am a devoted AutoHotKey user myself.

Instead of Russian and English, I adapted the script to check for the German and English default input language. It works errorless and is very handy because now I can set my default input language with ease :)

Furthermore, AutoHotKey supports compiling scripts into single executables. I don't want to withhold my script from everybody to whom it is as useful as to me.

Switching default input language [Germany (German) <> English (United States)]: http://www.megaupload.com/?d=A8HKEV4A

Filename: Switching_default_input_language_DE-EN.zip

Contents: (1) Switching_default_input_language.ahk (AutoHotKey script; for editing or re-compiling the script), (2) Switching_default_input_language.exe (stand-alone executable)

Have fun! :)

  • Link to megaupload is dead... =( – That Brazilian Guy Jul 12 '13 at 2:41
  • Does this allow to change the current language system-wide to all currently open applications?. An updated link would be awesome! – payala Nov 6 '13 at 16:37

When opening a new program, Windows seems to always use the default input language.

The default language can be changed in the General tab of Text Services and Input Languages screen.

  • You are right. So, actually the main question is whether it is possible to change the default input language via a shortcut or if it's possible to disable the switch back to the default input language when opening a new program. Right? – B-Ball May 28 '10 at 20:12

I answered this in a separate question, you probably want Keyla.

  • Hi killerfox, Thank you very much for your post. However, Keyla seems to be alike my adjusted macro script for AutoHotKey. Furthermore, I cannot find the German language support for Keyla. All the Best, B-Ball – B-Ball Jul 17 '10 at 11:31

I found and answer here and it worked for me.

  1. Go to Control Panel and Click on Change Keyboard or other input methods link
  2. Under administrative tab click on Copy to reserved accounts
  3. Check both the check boxes.
  4. Click Apply to apply the changes.
  5. Click Ok to confirm the changes

Link: http://answers.microsoft.com/en-us/windows/forum/windows_vista-desktop/how-can-i-make-the-keyboard-layout-selection-apply/056964db-e75c-4399-9a1d-686f33264598

  • The link is good and relevant, the excerpt from it is not. – MarcH Jan 4 '15 at 19:56
  • 1
    I tried it under Windows 7. It doesn't work. – Florian F Feb 5 '16 at 18:32

After you change language input you need to copy it to language input when starting Windows 7.

Go Control Panel -> Region and Language -> Change region and language -> Administrative -> copty setiyngs mark starting Windows input and copy.

It should show you there that it has changed.


I think here is the solution:(Windows 8)

how different keyboard layout each program windows 8

Essentially all you need to do is Go to Control Panel\Clock -> Language -> Region\Language\Advanced settings and check the Let me set a different input method for each app window checkbox.

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.