343

So I recently did a clean install of Windows 10 English. I configured it to have English UI language but Norwegian keyboard. I have several problems with that setup:

  1. The keyboard language keeps switching to English constantly
  2. I can't see the language bar nor the language toggle popup when I swap:

    language toggle popup

I have bound the Norwegian keyboard layout to Shift+Alt+0 and that works, but it's annoying to have to do that every 5 minutes. Also I find it weird that I can't see the language bar neither on the desktop nor on the toolbar.

Anyone have any idea of what might be wrong?

Here are some screenshots of my settings:

settings 1

settings 2

settings 3

No language bar on the toolbar

P.S. The only time I see the language toggle popup is actually when I'm logged out in the lock screen and press Win+Space. Nothing happens if I do that after being logged in.

Nilzor
  • 4,499
  • 7
  • 23
  • 31
  • 66
    This has driven me UP THE WALL since I installed Windows 10. The keyboard layout switches sporadically as I type. I swear I didn't touch the Win+Space shortcut. – Colonel Panic Mar 10 '16 at 13:02
  • 23
    Alt + Shift also changes language it seems. – Mir Aug 18 '16 at 14:27
  • 13
    And `Left Ctrl` + `Shift` changes keyboards if more than one keyboard is installed!! `Alt + Shift` and `Ctrl + Shift` are common shortcut patterns in Code Editors and Adobe products (Photoshop for instance). WINDOWS-: that was a poor, and unnecessary, choice of shortcut hijacking!! Shame on You. Ha! No Wonder I had to keep "rebooting" ! I thought this new laptop/keyboard was broken! Thanks for everyone for the Solution :) – SherylHohman Jul 04 '18 at 23:06
  • 3
    It saddens me that MSFT still has such basic usability issues. – Bruno Brant Jul 10 '18 at 15:56
  • 1
    I know this is an old question, but I wanted to mention my solution, if only for my own benefit later on, since none of the below solutions worked for me. I have US EN, a custom US EN, BG, and AR, and my system would switch to whichever language is next in the Language Bar list when I opened a new application. I had to simply force the default input method to what I use most often (US EN): > Settings > search for 'typing' > Advanced keyboard settings > Override for default input method. – artificial_moonlet Aug 14 '19 at 09:30
  • I'm a programmer, so I use ALT and SHIFT a lot, which was causing the seemingly random language switches. If you deliberately press ALT+SHIFT, you'll be presented with a notification with an options button where you can turn it off. – mindplay.dk Jun 25 '20 at 12:59
  • @mindplay.dk I don't understand your comment. A computer isn't be able to detect whether you're pressing a shortcut deliberately or by accident and hence the effect of the shortcut can not be altered. – RobertS - Reinstate Monica Nov 04 '20 at 18:10
  • "*I can't see the language bar nor the language toggle popup when I swap*" - That's the evil thing about it. In fact, you could see the change if you directly staring at the input method icon at the task bar while doing it, but usually you won't be able to note this effect as your eyes are focused anywhere else on the screen. That's definitely one of the deviant features of Windows 10. – RobertS - Reinstate Monica Nov 05 '20 at 08:45
  • This "feature" annoys me for more than 20 years. I don't know of anyone who ever had to switch the keyboard language all the time! And yes, in W10 it sporadically changes out of whatever reason. Super annoying! – Andreas Dec 03 '21 at 11:28
  • It isn't a feature its just a bug in Windows, stop pretending like its not. Windows 10 is buggy as hell. – stimulate Jun 28 '22 at 17:21

9 Answers9

424

In Windows 10, by default, pressing CTRL+SHIFT (or for some ALT+SHIFT - thanks madmenyo ) will cycle through any keyboard layouts that you might have mapped and it's surprisingly easy to do this by mistake.

If you keep pressing CTRL+SHIFT (or whatever you might have changed it to) then soon you should get back to the correct setting. (alternatively reboot which is what I did first time ;-) )

(Updated Aug 2019) You can change/disable this by

> Settings > search for 'typing' > Advanced keyboard settings > Language
> Bar options > Advanced Key Settings (tab) > Change Key Sequence

Be warned, the above doesn't always work - Restarts and Sleep mode can both change keyboard default (usually to US) - I've found no cast-iron solution though creating a new profile can help, though not a particularly satisfactory answer IMHO.

In an emergency

WIN+R  
osk

to bring up the On Screen Keyboard might help temporarily.

Also note that it's possible to disable this so that no key combination will change the language - change the keys to "Not Assigned" - see answer below from Mort for more info

user765827
  • 4,541
  • 2
  • 14
  • 8
  • 109
    Whaaaat. I use Ctrl+Shift frequently in Visual Studio. No wonder my keyboard layout kept changing. Thanks! – willem Feb 25 '16 at 14:18
  • 67
    For me this is actually `ALT`+`SHIFT` – Madmenyo Feb 28 '16 at 19:08
  • 5
    Odd. Maybe they changed that, but for me it says the shortcut to switch is [windows key] + [space], which seems a bit more reasonable (and indeed seems like the only thing that works as language switch shortcut). – Nyerguds Mar 21 '16 at 07:44
  • you're right Nyerguds, that is odd, it was different for Menno Gouw above too. Obviously another factor involved too. Perhaps it depends on the default language? – user765827 Mar 22 '16 at 12:31
  • 18
    For anyone coming to this in 2016, it seems the location has changed. Now it's located in `Control panel//Language//Advanced settings//Switching input methods//Change language bar hot keys` – David Metcalfe Mar 25 '16 at 03:56
  • 38
    to be precisely: ``win`` + ``space`` changes between all configured language/keyboard pairs. ``alt`` + ``shift`` only changes language and ``ctrl`` + ``shift`` only changes keyboard – Simon Zyx Mar 27 '16 at 16:36
  • 3
    Frustrating that Windows 10 doesn't link to this from the Time & Language -> Region & Language -> Options -> Keyboards page. I would never have found this on my own. – mikebridge May 04 '16 at 15:50
  • 3
    The RUN command for this is: `rundll32.exe Shell32.dll,Control_RunDLL input.dll,,{C07337D3-DB2C-4D0B-9A93-B722A6C106E2}{HOTKEYS}` – Marc.2377 Nov 22 '16 at 17:23
  • Thank you, thank you, and a thousand times, thank you. This has been driving me nuts. – Lawrence Dol Feb 17 '17 at 22:42
  • Oh thank god. Also uninstalled American. Jesus wept. And is there a way to rename English (United Kingdom) to English (English) I wonder? – Eoin Feb 20 '17 at 17:46
  • 2
    After reading your answer, I disabled the keyboard action according to your suggestion. However, my keyboard layout keep switching, so there is clearly some other mechanism that for some reason switches the keyboard layout. This seems to happen whenever I put the computer in sleep mode or restart it. – HelloGoodbye Mar 01 '17 at 17:41
  • Also do `Switch Input Language` to `Not Assigned` – trogne May 19 '17 at 04:08
  • 1
    I have multiple users set up, and realised that my settings would change when the _other_ user had been logged in (and after a hibernation). Removing English (US) from the other user's settings seems to have fixed the problem for me... – Nick Baker Aug 07 '17 at 10:00
  • 1
    Anyone know if there is a way to disable the win + space combo? ... These keyboard shortcuts are so dumb. I got locked out of my PC a few times having no idea that the keyboard had changed and I couldn't type the # in my password because it was registering as a £. They should have made a popup for the first time this happens so the user is at least educated about the keystrokes. – Michael Ribbons Sep 01 '17 at 01:30
  • 1
    note: disabling the CTRL+SHIFT and/or alt+shift hotkey does not to disable the WINKEY + SPACEBAR key combo that still changes language input (which is good for me) – Toskan Oct 26 '17 at 21:37
  • 1
    As another tip for people switching between languages: I found it very useful to enable "Let me set a different input method for each app window" (see it on a screenshot "Advanced settings" above). This way you can switch between e.g. a Chat window in one language and a programming tool (which should always be in English) without a need to press any keys to switch input languages – yvolk Nov 02 '17 at 07:06
  • I am Korean. thank you this tip, I have been suffering this issue. It's really annoying... thanks again – OfusJK Nov 15 '17 at 08:07
  • Hmm... I don't have the "Change Input Method" option, even though I have two input methods: https://imgur.com/a/RbxvR – exhuma Dec 31 '17 at 09:13
  • 1
    Thank you so much for this, I somehow have a US and Canada keyboard and the Canadian one (which Windows won't let me remove) has a weird quote behaviour where you have to type it twice for them to show up. Very frustrating when you're trying to code. My IDE of course uses Alt-Shift and Ctrl-Shift so it was always toggling for me. – Glen Feb 16 '18 at 17:18
  • 1
    2018: most of the advice above no longer work, see my answer that might work for you: https://superuser.com/a/1322521/97570 – jakub.g May 14 '18 at 12:45
  • 3
    Oh wow. This must be the most retarded keyboard shortcut Microsoft ever produced. No wonder my keyboard keeps changing all the time. Someone ought to be fired immediately. – Martin Andersson Jul 01 '18 at 08:11
  • @willem 2 years from your comment and it is still the same. Looks like noone from Microsoft is using Visual Studio and Windows together. – Guney Ozsan Oct 09 '18 at 17:47
  • This answer by @jakub-g resolves it permanently without fearing restarts or sleeps, but give up on default US keyboard: https://superuser.com/a/1322521/378909 – Guney Ozsan Oct 09 '18 at 17:49
  • 1
    alt-shift for me, which I was pressing all the time while using VS – superluminary Jun 04 '19 at 13:33
  • 1
    This worked for me on Win 10.0.17763: Settings --> Time and Language --> Language (on left) --> Spelling, typing & keyboard settings --> Advanced keyboard settings --> Language bar options --> Advanced key settings. – Promille Aug 10 '19 at 10:37
  • 1
    I love you. I know I shouldn't do this kind of comments, but this saved my sanity. – António Sérgio Simões Jul 12 '20 at 00:22
  • "*it's surprisingly easy to do this by mistake*" - The big problem is not that this shortcut changes the keyboard layout. The big problem is that it changes the keyboard setting **without** your notice as no pop-up nor message is showing up, which will notify you of the change. When you use `ALT`+`SHIFT` you only notice the change when you're focused at the input method icon in the task bar with the three letters marking the current input method, which is in 99,9% not the case as you're hitting the shortcut by accident or because it overlays an app command. Bad design decision from Microsoft. – RobertS - Reinstate Monica Nov 04 '20 at 17:48
  • @SimonZyx [Ref](https://superuser.com/questions/976947/keyboard-language-keeps-changing-in-windows-10#comment1485167_991729) Do you got any official reference for that? Windows says that `ALT`+`SHIFT` changes between the input methods (keyboard layouts), but not the language settings. – RobertS - Reinstate Monica Nov 04 '20 at 17:56
  • To edit the hot keys go to: Settings > Time & Language > Language > Keyboard > Input Language Hot Keys – mrkbutty May 10 '23 at 08:00
40

2018/2019 answer:

I had the same issue, trying to use Polish keyboard with English UI language of Windows.

Every time I locked the computer, it came back to US keyboard.

The problem was that I was having Polish keyboard under Polish language, where in fact, what I really wanted was a Polish keyboard under English language.

I removed Polish language pack, added Polish keyboard under English language, and removed American keyboard from English language - see the screenshot below:

Windows 10 (2018) language preferences

So in short, the trick is to add your desired keyboard as the only keyboard under the default language.

(This works for me because I generally type in English, only sometimes I want to input in Polish, but I can do it without changing the keyboard, since Polish keyboard is fully compatible with US QWERTY).


Additional notes:

As @GuneyOzsan mentioned, some language/keyboard configurations might show only in language bar, but not in the language settings keyboards list (so you cannot remove it) -- particularly, this happens after a major update of Windows. To remove one of those items (e.g.: lang=US, keyboard=Canada), you have to add the same exact combination of the item you want to delete via the language settings list, and then remove it:

  • click on the + (add a preferred language)
  • add an item with the lang=US and keyboard=Canada
  • then remove it
  • then delete the preferred language you just created (this removes the invisible keyboard)
jakub.g
  • 4,822
  • 3
  • 29
  • 34
  • 3
    Wow, I can't say how this was helpful to get rid of months of hair pulling (and inefficient workflow that keeps me blocking while coding). It is a shame that they have Ctrl+Shift key comb in Visual Studio (as well as in most image/audio editors) and not aware (or not care about) of such usability problem. – Guney Ozsan Aug 29 '18 at 17:00
  • This does not seem to work for me since it, even when I remove the `QWERTY` keyboard, adds it back when I close and reopen the settings app / reboot my PC. – Busti Aug 29 '18 at 20:23
  • This doesn't work for me. Despite having only United State International, for some reason the input resets to United States every week or so. – Miguel Lomelí Sep 01 '18 at 00:18
  • @Busti Did you try it with an admin account as well? – Guney Ozsan Oct 09 '18 at 17:40
  • 4
    I noticed that some Windows updates add back the US keyboard, and keyboard language starts changing again (with `Ctrl`+`Shift`). Unfortunately this new keyboard added by Windows update does not appear in language settings keyboards list (so you cannot remove it) but appears only in the langauge bar. To be able to remove it, you need to add a US keyboard to the list, and then remove it. This removes the invisible keyboard added by the Windows update. – Guney Ozsan Oct 09 '18 at 17:44
  • @GuneyOzsan It was the only account on the machine. It does not have trustedinstaller rights though. I got it to work randomly after hours of closing and reopening the settings app though. However it is not reproducible, it is just one of those cases where doing something more than once somehow ends up working in windows. – Busti Oct 10 '18 at 23:56
  • 1
    This does not work if zou actuallz... FML. This does not work if **y**ou actually need two layouts. – dualed May 20 '19 at 16:06
  • 1
    Note that in Win10 you have to click the _language_ for the button 'options' to appear and this button gives access to the keyboard settings. So _keyboard settings_ are placed behind a _hidden_ button in _language_. What a design. – Paul Gobée May 31 '19 at 12:10
  • As mentioned by @GuneyOzsan some keyboard show only in language bar, but not in language settings keyboards list (so you cannot remove it). To remove one of the item (eg: lang=US, keyboard= canada), you have to click on the `+` (add a preferred language), then add an item with the lang=US and keyboard=canada, and then remove it (adding just the lang won't work, you need to add the same combination). And then delete it (this removes the invisible keyboard). – JinSnow Jun 01 '19 at 05:46
  • 1
    After my experience in the long run, the ghost language keyboard comes back after some Windows updates, available for switching with keyboard shortcuts, but visually hidden from task/language bar. In this case you need to dig the settings again to find and remove it. – Guney Ozsan Jun 01 '19 at 17:56
  • It turns out this is actually what I needed :-). Thanks ! – Chris Jul 28 '19 at 13:09
  • This is the one and only. – Augustas Oct 09 '19 at 06:59
  • I am using the English display language together with the German keyboard layout QWERTZ. I actually had to apply the inverse of your guide: Remove the German keyboard layout within the English language (ENG/US) and install the German language pack and add it there (DEU/DE). Otherwise, it would sometimes (after updates and on reboot) re-add the ENG/US keyboard. – mxscho Oct 19 '19 at 08:46
  • You're additional notes solved it for me. I had a weird issue with my lenovo laptop switching from en/sw to en/us keyboard everytime I pressed ö (åä still worked though). I had installed en/sw and uninstalled en/us but en/us kept coming back. Following your example of removing en/us (let en/sw stay), adding en/ca then removing en/ca again finally fixed my ö-button. – bennedich Nov 25 '19 at 20:40
  • Thanks, this is the confirmed way (2020-10-28). I use the modernized AZERTY French (NF Z71-300) layout (for which Microsoft does not provide a driver yet, I use a 3rd party one). That is the only registered layout I had in the Language control panel. Since some Windows 10 update, I saw the regular AZERTY French keyboard come back, and Windows change on its own from my modernized AZERTY to the regular one. The trick is indeed to, in the language panel, ADD the standard AZERTY layout (even though it already is in the system somewhere somehow), and then REMOVE it. Voilà, no more annoyance. – Sxilderik Oct 28 '20 at 11:26
  • This worked for me as well. – Varun Sharma May 02 '21 at 03:06
18

If you click on the "Change language bar hot keys" link, visible in your last screenshot, you should be able to see which keys are bound to change the keyboard language.

The default settings are very easy to hit, when using the keyboard, thus suddenly changing the keyboard language. Changing the keys to "Not Assigned" will prevent the keyboard language from switching accidentally.

Mort
  • 181
  • 3
  • 2
    Yea those were set to Shift+Alt originally and then I changed them to "none". Unfortunately that didn't solve the issue alone, but see my other answer. – Nilzor Sep 29 '15 at 12:47
12

December 2018

The same issue occurred to me and I followed the following steps to fix it on Windows 10.

Step #1: Go to Language Preferences

enter image description here

Step #2: Click on Advanced keyboard Settings

enter image description here

Step #3: Click on Language bar Options

enter image description here

Step #4: Perform following : 4.1 Select Advanced Key Settings Tab 4.2 Choose Between input languages option in the list. 4.3 Click on Change key Sequence... button

enter image description here

4.4 Change both the options to Not Assigned.

enter image description here

Vinay Jeurkar
  • 259
  • 2
  • 4
  • 1
    In Step #3, 'Override for default input method' solved my problem. My system language is English (UK) and my keyboard layout is Swedish. 2 different languages were messing with my keyboard layout. – Tirtha R Jul 06 '19 at 21:30
  • This worked for me on one Windows 10 computer but on another (on another domain) I could not find the Advanced Keyboard Settings or the Language Bar Options. YMMV. – Ben Jan 14 '20 at 15:42
  • This option keeps moving in various Windows 10 releases. See this answer to directly open the [Text Services and Input Languages](https://superuser.com/a/1322396/261107) dialog. – Ben Jan 14 '20 at 15:50
  • 1
    @TirthaR Yes. But further steps are specified to avoid switching it by mistake. In my case, one of the shortcuts I used in my Sublime Text editor switches the input method automatically. So steps 3 and forwards are for that. Thanks – Vinay Jeurkar Jan 18 '20 at 09:47
11

The direct registry setting to disable the keyboard layout toggle hotkeys is:

reg add "HKCU\Keyboard Layout\Toggle" /v "Layout Hotkey" /d 3

You might also want

reg add "HKCU\Keyboard Layout\Toggle" /v "Language Hotkey" /d 3
reg add "HKCU\Keyboard Layout\Toggle" /v "Hotkey" /d 3

And for new users, try this (in an elevated prompt):

reg load HKEY_USERS\temp "%USERPROFILE%\..\Default\NTUSER.DAT"
reg add "HKEY_USERS\temp\Keyboard Layout\Toggle" /v "Layout Hotkey" /d 3
reg unload HKEY_USERS\temp
mivk
  • 3,441
  • 36
  • 33
  • 1
    What are these commands doing? – kleinfreund Feb 28 '18 at 16:36
  • @kleinfreund As mentioned in the first sentence, it disables the keyboard shortcuts which toggle the layout, so that it cannot be changed inadvertently. – mivk Feb 28 '18 at 21:04
  • Thanks! Running an insider build and they completely removed the language section from the Control Panel. I still can't understand what led Microsoft to use such a commonly used key-combo – Sam Denty Apr 14 '18 at 22:31
  • Thanks! The only way that works in 2018 to block alt-shift / ctrl-shift switching, it seems that the UI component where you could change it is gone, I can not find it anywhere. – jakub.g May 14 '18 at 12:50
11

Turns out I had to configure a keyboard layout in the first screenshot. You'll notice it says "Keyboard: None available". So clicking "Options" here, then "Add an input method" and then selecting QWERTY Norwegian solved the case.

I don't know how I was able to install Windows with such a borked language setup. Anyway I advice everyone to watch more closely the language questions upon initial install.

Pic1

Pic2

Nilzor
  • 4,499
  • 7
  • 23
  • 31
  • After trying to get handwriting to work in French (in Canada) I had 2 versions of English (US, Canada) and French (France, Canada) installed, not to mention more than one input method for English US. In short, this answer allowed me to clean all of that up nicely. – Fuhrmanator Jan 13 '16 at 16:13
6

Solution1

use this solution- How to disable automatic keyboard layout change in Windows 8?

Solution2

Choose the second language as default. then,when you switch to the first one, it will remain switched.

(thanks to @SimonSeyock):

win + space changes between all language/keyboard pairs.
alt + shift only changes language
ctrl + shift only changes keyboard

T.Todua
  • 3,815
  • 9
  • 42
  • 57
  • `Solution 1` doesn't actually offer a solution in that link. That resolves an *input method* not an input language. – msysmilu Sep 02 '16 at 12:23
  • 1
    alt+shift did it for me. Nothing else really worked – Ghoti and Chips Jan 17 '17 at 19:50
  • Regarding your last paragraph: You copied the input of Simon's comment under the highest upvoted answer but like I asked him himself there too, where is the proof for that? When I go into the settings, Windows clearly states that `ALT`+`SHIFT` is used to change the input method (aka keyboard setting) as default, not to alter the language. Be careful with copying non-proofed content. – RobertS - Reinstate Monica Nov 05 '20 at 09:02
5

My problem: I have 3 languages (keyboard layouts) installed. When going to sleep in Windows 10, then waking up, it always defaults back to the "main language", instead of keeping the last one set. I consider this a bug.

Solution:

  1. Open Control Panel\All Control Panel Items\Language.
  2. Click on Advanced Settings.
  3. Under Switching input methods, check the Let me set a different input method for each app windows.

This will keep the language when going to sleep and coming back.

Avatar
  • 2,555
  • 4
  • 36
  • 50
  • 1
    Thanks. This solved my problem with the keyboard layout always changing back to the "default" after reboot and after sleep. I also have 3 keyboard layouts installed. English, because it works better with some game and two Swedish. Normal qwerty and dvorak. – Albert Veli Dec 09 '17 at 15:10
  • I had a similar issue, solved it by defining my keyboard directly under main language: see https://superuser.com/a/1322521/97570 – jakub.g May 14 '18 at 12:45
0

This top Google result worked on my new Windows 10 laptop:

Set a default keyboard layout:

  1. Click the Start menu and select Settings.
  2. Select Time & language.
  3. Click Region & language in the left column.
  4. Under Languages click the language you want as default and click Set as default.
Cees Timmerman
  • 1,667
  • 2
  • 20
  • 46
  • I'll give it a go and see if this actually helps. Makes sense + it's the only thing I haven't yet tried :) – krizajb Dec 29 '17 at 09:19
  • Unfortunately this only sets the default option. It doesn't prevent keyboard to change while using Windows. The problem is the Ctrl+Shift key combination keeps changing the selected keyboard, which is common in most image and audio editors (as well as Visual Studio, hey Microsoft, are you aware of this?). – Guney Ozsan Aug 29 '18 at 16:55
  • I think i've pressed Ctrl+Shift by accident a few times in my life, but simply removed all but En-US. You could also disable the shortcut: https://superuser.com/questions/109066/how-to-disable-ctrlshift-keyboard-layout-switch-for-the-same-input-language-i – Cees Timmerman Aug 29 '18 at 19:04