Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm searching for a solution to switch my keyboard layout in Windows globally for all windows quickly.

When I switch the current layout by pressing the magic combination Alt+Shift or when I choose another layout in the language bar, this only changes the layout in the current window.

share|improve this question
    
Do you still have to be able to switch to other languages? –  Ivo Flipse Jul 28 '09 at 4:06
1  
Yes, 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 Jul 28 '09 at 5:40
    
Thanks for the Alt+Shift trick! –  Keyslinger Nov 11 '11 at 18:40
3  
I can't believe it took until Win8 to actually implement this natively. What a pain! –  Levi Botelho Nov 24 '12 at 15:08
1  
Grr Windows, this behaviour would be much more useful than the current 'per window' madness. –  Colonel Panic Feb 4 '13 at 18:14
show 2 more comments

9 Answers 9

up vote 7 down vote accepted

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:

  1. Open the Language control panel item.
  2. Go to Advanced Settings on the left side.
  3. Go to Change language bar hot keys.
  4. Go to Change key sequence....
  5. Unassign the shortcuts you don't want.
share|improve this answer
    
I also discovered this some days ago, the layout handling changed in a very good way. +1 for the Win+Space –  Manuel Faux Nov 11 '12 at 9:10
    
This would be a reason to upgrade to windows 8. –  Cort3z Feb 27 at 15:05
add comment

Try Switch It!. It is a Russian program with an optional English interface; it works on Vista and Windows 7. Just keep pressing "Next" to install. After installation, in Properties (first item in the menu), check "Use English as a user interface language" and "Set active layout systemwide".


Edit: The above link goes to a Google translation page. This post originally linked to this Russian page.

share|improve this answer
    
Working fine for me in XP, too! –  brone Feb 11 '10 at 0:06
    
This is the best option I've found for this problem. Unfortunately, I have found that sometimes it gets stuck and ceases to work. Sometimes when I type something, the first letter or so will be in the wrong keyboard layout. –  Sam Sep 22 '12 at 1:47
    
I've actually found that the older (non-beta) versions of the program seem to not have the first problem I mentioned in the above comment. (The second problem is still applicable, however.) –  Sam May 31 '13 at 23:41
add comment

Use Keyla. It supports global layout and it switches between layouts miles quicker!

I installed it on everyone's computer once I had the chance :)

share|improve this answer
    
This one doesn't seem to work for some windows such as the "Run" window. I recommend people try SwitchIt! instead of this. –  Sam Sep 22 '12 at 1:46
    
Alas didn't work for me - the app installed but weirdly wasn't able to set shortcut to change layouts. –  Colonel Panic Feb 4 '13 at 18:18
    
Keyla works for me on Win7. However @Sam comment for Windows7 is ace! Use it if you can. –  antitoxic Apr 3 '13 at 19:13
    
Keyla didn't work isn't such a good and friendly application –  Denja Jan 16 at 10:51
add comment

I'm a bit late to this, but interested parties may like my (free) kbswitch app. Switch keyboard layouts in Windows globally. I use it all the time, and I think it's awesome. (Some might say I'm biased; I'd argue that I just worked out what would be awesome, and then wrote the program that did that, so it would be odd if I thought otherwise.)

http://www.tomseddon.plus.com/kbswitch/

I use it for switching between Dvorak (when I'm using a split keyboard) and QWERTY (when I'm using an unsplit keyboard). By doing this I keep the muscle memory for both layouts separate. Stops my fingers getting too confused.

share|improve this answer
1  
Awesome. All I miss is a single hotkey for all this (like alt+shift. Maybe AutoHotkey can do this?) –  Shiki Aug 17 '10 at 5:27
    
Would you be able to get this to work for DOS prompts as well? :) –  Josh Johnson Aug 6 '11 at 12:04
    
It already works for me for console windows on 32-bit Windows XP. I have had reports of problems with Windows 7 (not sure which bit-ness), which I haven't looked into yet. –  Tom Seddon Aug 9 '11 at 22:16
2  
It looks great but I'm not even going to try it because having to move my mouse and click every time I want to change layouts is more work than having layout-per-application. Not supporting hotkeys is not a feature, it's a handicap. The ability to choose whether to support hotkeys would be a feature. Maybe you should consider adding this feature to try and win some more users, like me! :) –  Fletch Jan 8 '13 at 11:18
    
Thanks Tom this is great. One thing, I'd love to be able to switch layouts from the keyboard (without the mouse) –  Colonel Panic Feb 4 '13 at 11:44
show 2 more comments

One of my workmates has a custom layout created with the Microsoft Keyboard Layout Editor which has different caps lock/shift behaviour: if caps lock is on, it's a Dvorak layout, and if caps lock is off, it's QWERTY. Since caps lock is a global setting, hitting caps lock toggles between the layouts globally.

This is a horrible hack, it means you can't use your caps lock key normally, some programs use only the caps lock-off button for modified commands (e.g. Ctrl+C), and you can only use this with at most two layouts.

But, for all those disadvantages, it is a method of quickly changing globally between two different keyboard layouts.

Another option is to get a hardware converter/hardwired keyboard in the other layouts you want, and have multiple keyboards on your desktop, one for each language. That has its own set of disadvantages, though, namely having multiple keyboards on your desk and being at the whims of the (usually fairly limited) hardware rewiring.

share|improve this answer
add comment

If you go to Control Panel / Regional and Language Options / Languages / Details / Key Settings", you can define hotkeys for language changes.

You may couple this with a macro language like AutoHotkey, to define a macro that changes the language / keyboard layout for all windows.

share|improve this answer
add comment

Your best option really is to only have ONE layout, how horrible it may sound...

Windows has never been good at handling multiple layouts, and will always try to keep a per-window setting - and even that fails regularly. I've suffered from this too, and the only workable solution is to choose only one and live with that.

I'm a Dane living in Austria and writing English; I chose to only use Danish layout because that's better than having to fix all the layout switching problems all the time.

share|improve this answer
    
My solution was to choose "US International". This layout is a normal US layout with the addition to easily compose special characters as used in German or Danish by using "Alt Gr". –  Manuel Faux Dec 12 '09 at 8:10
add comment

Edit: Based on your comment this won't work for you. But it does solve a problem if your keyboard regional settings don't match your primary typnig language.

Use the language bar to hotswap between layouts.

But perhaps the "easiest" solution is to delete any other keyboard lay-out from your Language settings, since then it won't switch back anymore. It seems that even though you turn off the automatic language recognition, some applications will overwrite this and keep changing it (like browsers). Therefore simply turning them off (you can always put them back) is the easiest way.

To show the Language bar (using Classic view in Control Panel):

  • Click Start, click Control Panel, and then double-click Regional and Language Options.
  • On the Languages tab, under Text services and input languages, click Details.
  • Under Preferences, click Language Bar.
  • Select the Show the Language bar on the desktop check box.

Notes:

  • The Language bar is displayed automatically if you install a text service such as handwriting, speech, or an Input Method Editor (IME). However, if you close the Language bar, you can use this procedure to redisplay it.
  • If you minimized the Language bar to the taskbar, click the Language icon on the taskbar, and then click Show the Language bar.
  • After the Language bar is displayed, you can right-click it to display a shortcut menu. Use this menu to change settings for the Language bar, such as docking it on the taskbar or adding text labels.
share|improve this answer
    
Care to explain the down votes? It worked for what he asked, his problem probably isn't solvable in a better fashion if it's by design –  Ivo Flipse Jul 28 '09 at 15:45
1  
Doing this doesn't seem to buy you anything compared to just changing the keyboard layout and leaving the input language the same. The change doesn't affect all windows globally in either case. –  brone Aug 2 '09 at 14:45
    
For me it's a Dutch laptop, which keeps switching randomly. By deleting all other languages, it will stay what I want it to be –  Ivo Flipse Aug 2 '09 at 17:23
add comment

I guess remembering layouts per window is a "feature". I have wondered about how to do this myself and it appears that one way to do this is by changing the default input language.

However changing the default input language involves a gazillion steps -

Start -> control panel -> regional and language settions -> second tab -> Details -> change default -> Ok -> Ok -> Close windows

(In windows xp). By no means "quick" :) But the only way I can think of.

share|improve this answer
3  
Not even this is a solution. The new default input language will only be used in new windows. –  Manuel Faux Jul 27 '09 at 11:32
    
You need to log off and on for the changes to apply. –  Sam May 27 at 9:13
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.