I agree with Gido. On many different machines I've experienced Windows switching my keyboard layouts randomly.
unexist's advice might be helpful for some:
If you don't use both input languages just deinstall the other one.
But I personally use many different keyboard layouts during my daily routine, and don't appreciate them being switched around on me all the time. In English I type in Dvorak. I was forced to install the UK standard QWERTY keyboard by an (otherwise excellent) application I have for learning the Cyrillic keyboard layout (Keyboard Tsar). Even before this, however, I remember my keyboard layout being randomly switched to QWERTY without any intervention on my part. So, for example in a web browser, if I've typed something into a text field and attempt to copy it using CTRL+C, it would send CTRL+R and refresh the page, probably causing me to lose what I had typed! You can imagine how frustrating this might be, especially for a predominantly keyboard-oriented user like myself who multitasks viciously.
I do agree that the default shortcut for switching input languages -- ALT+L-SHIFT could be responsible in some cases -- especially since I sometimes use ALT+SHIFT+TAB to toggle backwards through applications. However, for me, disabling this shortcut has only seemed to work temporarily. Invariably, after disabling it, I will check on the setting a day or two later and find it enabled again! Anyway I've experienced problems with randomly-changing keyboard layouts in Windows XP for such a long time, and I feel sure that much of the time it couldn't possibly be due to my accidentally hitting this shortcut.
I think that a third-party application for better controlling keyboard layouts would be extremely useful. It could have the features to set the keyboard layout system-wide, or to set permanent, automatic keyboard layouts associated with different applications. For example, when I open my Spanish-English dictionary program, it could automatically switch the layout for that application to Spanish international. And it could prevent Windows from capriciously switching layouts, as it seems so fond of doing.
PS, @Adam: Windows manages keyboard layouts per-application. As I touched on in the previous paragraph I'm not always fond of this either, as sometimes I wish to work in a particular language system-wide, and have to change each individual application to that language's layout individually. However, a possible workaround for you -- if you want each application to open with the Korean layout -- is to set the Korean layout as your default input layout. Of course I can understand that this might not be the ideal solution for you, as you may also use English heavily at other times and just end up with the opposite problem if you switched the default to Korean. But I thought I'd just enlighten you about the logic of Windows with regard to this 'feature': in theory, each running application should launch with the system default layout, then remember whichever layout you switch to until it is closed.
1In my case, the problem was that my son's Windows profile was set to language-switching. So whenever switching from his profile to mine (from the lock screen), the language would be set to English, if he had struck shift+alt. Apparently, this carried through to my profile on switch, even though I have removed all but the Danish keyboard and disabled all switching shortcuts, automatic switching and so on. The solution was, obviously, to disable all this on his profile as well. – Frederik Struck-Schøning – 2015-09-19T08:36:30.680
In Windows 10 this can be disabled by searching for
Language Settings
and then clicking onSpelling, typing, & keyboard settings
thenAdvanced keyboard settings
thenInput language hot keys
and there you can disable this hotkey. – Paul – 2019-12-19T19:37:03.8003On Win7 you can disable this by either a) from language bar context menu select "settings", then "advanced key settings" tab, "change key sequence" and disable the shortcuts, or b) from control panel, under "region and language" select "change keyboards or other input methods", then press "change keyboards" and do as in a). – Ilkka – 2011-11-29T15:32:03.840
4So that's why Visual studio used to keep switching my input method. I press ALT and SHIFT with my left hand and hit F10 with my right hand. – John Ferguson – 2008-10-02T15:05:10.877
4Thank you so much!! I'm forever having this happen in Visual Studio and it's a real pain! Now switched off. – Len Holgate – 2008-10-13T12:05:16.850
3Yes, I know that one, but it's not just VS, it's everywhere. Sometimes you open a text documment and windows changes your language. Ahhh! Kill me now. I want a: "never ever change automatically" – None – 2009-07-16T17:24:07.120
6This is not a complete answer. Word and others software will keep changing the language automaticaly! Lets thanks that to Microsoft genius programers... Anyway, hamstergene may have posted a possible solution here. But I still don't know how to completely solve this annoying Windows problem. – Pedro77 – 2013-03-31T21:26:44.397
4This answer assumes that the source of the problem is pressing Alt+Left Shift. I have this problem, and the source is different (yet to be determined). – sancho.s Reinstate Monica – 2013-12-09T23:45:49.570