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 work on an English version of Windows XP Pro, but my working language is Spanish. My default input language is set to Spanish, but sometimes Windows changes this setting automatically when you switch applications (and thus you get a different keyboard layout).

Why is that?

(I've become a huge fan of ALT + LEFT SHIFT, which lets you cycle through the available languages.)

share|improve this question
    
retag as "windows", this is happening on vista too –  Andrija Cacanovic Jul 15 '09 at 8:59
    
It also happens on 7. –  Cristián Romo Jul 15 '09 at 9:04

8 Answers 8

up vote 11 down vote accepted

The input language settings are per-application. An application which calls a Windows API in order to change the input locale, can set a different keyboard layout, if it is enabled for the user.

Sometimes it also happens, if you accidentally hit the ALT and LEFT-SHIFT keys together. If you don't want to have this behavior, you could "uninstall" all input languages/cultures you don't need in the Control Panel:

Regional and Language Options > Text Services and Input Languages

EDIT: or just check "Turn off advanced text services".

share|improve this answer
3  
Removing every other language seems too drastic. I've tried ticking "Turn off advanced text services" in the Advanced tab there. –  guillermooo Jul 15 '09 at 9:18
    
Thanks, Guillermo! –  splattne Jul 15 '09 at 9:23
    
where is "Turn off advanced text services" on Vista? –  Andrija Cacanovic Jul 15 '09 at 19:20
    
blogs.msdn.com/michkap/archive/2006/12/23/1351269.aspx -> you can't –  Ant Jul 16 '09 at 16:17
    
how this answer solves random changes of keyboard? i need to have alt+shift for changing layouts. the problem that language switches "by itself" sometimes. –  Berry Tsakala Feb 25 '11 at 17:47

Yes jtbandes, the input language is maintained per application -- in fact per window, because multiple IE browser windows each have their own setting. Windows is known to be very very poor at handling multiple input languages, and can sometimes not even remember the language used inside a single application when switching a lot. I'm Danish, working with English content, on Austrian (German) Windows computers, and I've seen this too often to count.

The best solution I can offer is to choose just one input language and go with that one only.

For me, it means always using a Danish layout because then I can type the German special characters (the DK layout has an ¨ umlaut key) as well as the Danish special characters (which a German layout can't), plus all of the English of course.

The downside may be a suboptimal typing speed in other languages, but at least the keyboard matches Windows' input language all the time. It's very rare that the chosen language actually prevents you from typing what you need.

share|improve this answer

It most likely happens because you hit that Alt+Shift shortcut key by accident.

Personally I remove all other languages from the language bar AND disable the shortcut key. After I have done that, it has never happend again =)

How to (On Windows Vista, and probably Seven): Right-click the language bar and choose Settings... (or go to Control Panel, Regional and Language Options). Then go to Keyboards and Languages tab and click on Change keyboards..., select the keyboard(s) you don't have and click the Remove button. Go to Language Bar tab and choose Hidden in the Language Bar group box. Go to Advanced Key Settings tab, then in the Hot keys for input languages select Between input languages, click the Change Key Sequence... and choose Not Assigned in both group boxes. Finally hit OK, OK and OK.

share|improve this answer
    
I'm sure that would work, but it seems too brute-force for a shared workstation! ;-) –  guillermooo Jul 15 '09 at 9:20
3  
Having a single user account for everyone is so '95. ;) –  macbirdie Jul 15 '09 at 9:58
    
Oh, yeah, right. Somehow I thought that it was a global setting for all users. ·blushes· –  guillermooo Jul 15 '09 at 10:07
    
Also, how often does a computer have more than one keyboard? But I see your point... luckily @macbirdie had a good point as well, so I guess my point still stands :p –  Svish Jul 15 '09 at 16:52
    
cant comment as no rep. (sorry) but @Svish - a LOT of people / computers e.g. My UK laptop died two days before trip to USA, I'm a web dev, so I needed a new one the day I landed. So I have USA laptop, but I'm using curly braces, angle brackets etc all the time and don't want to mess my touch typing with switching to USA layout. So when I dock in office I pop in a UK keyboard. But windows / windows apps just flip my choice of layout willy bloody nilly and it drives me up the wall. :( If I set it I want it set. Im the user not the computer I should be in charge of this one really :( –  MemeDeveloper Dec 23 '11 at 15:53

I had the same thing a few months ago, it turns out I was accidently pressing a shortcut key for switching languages. I disabled all shortcuts and removed the language toolbar, so that you have to explicitly change language in the control panel. Since then I haven't had it happen.

share|improve this answer

I hate that, yes, some applications have a default

What I do is completely remove them from the Language Bar, and keep only one.

Another thing I hate is to have my keyboard switched from en-Spain/en-LatinAmerica... it breaks the layout!

So I remove them all and keep the one I use.

share|improve this answer
    
Yes, I removed the English input language too. –  djeidot Jul 15 '09 at 9:18

I think keyboard-settings are maintained per application, for example Word may be running with the Spanish language settings but Notepad is configured with the English language.

You might also want to check what language is configured to be the default.

share|improve this answer

That happens to me sometimes too, but I think it's just because I've hit Alt+Shift by accident.

It would be good if there was a beep or something to tell you you've done it...

share|improve this answer

I think the input language is maintained per-application. I'm not sure if there's a way to disable that behavior.

share|improve this answer

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.