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, 2012 at 19:04

6 Answers 6


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... =( Jul 12, 2013 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, 2013 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, 2010 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, 2010 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, 2015 at 19:56
  • 1
    I tried it under Windows 7. It doesn't work.
    – Florian F
    Feb 5, 2016 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.


You must log in to answer this question.

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