Windows 8 supports this out-of-the-box. It seems to have very good built-in keyboard layout switching functionality with the following features:
- Switches layout globally by default. (This can be changed if necessary.)
- Has a built in shortcut key to change layouts: Windows+Space. This also triggers a useful notification window. (This is like a keyboard layout version of Alt+Tab.)
- Shows you the current keyboard layout in the language bar icon.
I put up with the keyboard layout problems with previous versions of Windows for a long time, and I tried all of the programs mentioned in other answers, but I never found one that solved the problem reliably. I can confidently say that Windows 8 solves the problem.
Update
After spending a couple of weeks using Windows 8, I noticed that the keyboard layout seemed to intermittently be changing to a non-default one during normal use. It turned out that the problem was caused by the intrusive legacy Ctrl+Shift and Alt+Shift shortcuts. To fix this, do the following:
- Open the Language control panel item.
- Go to Advanced Settings on the left side.
- Go to Change language bar hot keys.
- Go to Change key sequence....
- Unassign the shortcuts you don't want.
Do you still have to be able to switch to other languages? – Ivo Flipse – 2009-07-28T04:06:50.547
2Yes, I'm using two layouts. I'd like to use another layout to type texts than to use in the console and to code. – Manuel Faux – 2009-07-28T05:40:13.853
4I can't believe it took until Win8 to actually implement this natively. What a pain! – Levi Botelho – 2012-11-24T15:08:46.033
3Grr Windows, this behaviour would be much more useful than the current 'per window' madness. – Colonel Panic – 2013-02-04T18:14:58.157
1
See also http://superuser.com/questions/106722/how-to-switch-the-keyboardlayout-for-all-application-at-once
– Colonel Panic – 2013-02-04T20:59:42.537Check a Registry solution that could be useful http://superuser.com/a/702101/60856
– Denja – 2014-01-16T11:09:02.397