171

In Windows (XP at least), when there are two or more keyboard layouts for the same input language, pressing Ctrl+Shift switches the keyboard layout. Where can this be disabled or changed to another keystroke combination?

A similar feature is changing input languages. Alt+Shift is the default keystroke and that can be changed and disabled through the Regional and Language Options in the Control Panel. The keyboard layout switch (Ctrl+Shift) cannot be found in that panel.

Pedro Palhoto
  • 1,857
  • 2
  • 12
  • 9

13 Answers13

119

You were very close to the solution of your problem ;)

Control Panel -> Regional and Language Options -> Languages tab -> Details...

There, you can edit the hotkeys to change input languages. If you press the Change Key Sequence... button, you will be able to change (disable) the hotkey which switches keyboard layouts (that Ctrl+Shift combination you mentioned).

Neo
  • 2,047
  • 4
  • 18
  • 20
  • 14
    Just to extend the answer. The option is hidden within the "Change Key Sequence..." dialog when selecting the first row in the the two-column "Hot keys for input languages" in Advanced Key Settings. – Pedro Palhoto Feb 15 '10 at 13:06
  • 3
    @Pedro - tricky indeed. I went to this dialog this morning, searching for the answer, and stopped just before, because the "change key sequence" was looking like referring to the currently selected item only. No indication about this ctrl+shift. – Gnoupi Feb 15 '10 at 13:31
  • 3
    Hopefully now sanity can be restored. – An̲̳̳drew Feb 09 '11 at 21:02
  • 4
    For those searching an answer for Windows 8: http://superuser.com/questions/604790/how-to-disable-ctrlshift-keyboard-layout-switch-in-windows-8 – KooKiz Jan 18 '14 at 21:09
  • You can also change this in Windows 8 under `Control Panel\Clock, Language, and Region\Language\Advanced settings` then "Change language bar hot keys", then edit "Between input languages" even though it looks like you don't need to. The evil evil evil `ctrl-shift` combo *is* there, it's just hidden. – user56reinstatemonica8 Jul 31 '16 at 22:25
  • 12
    Aaaaand, on Windows 10 they have hidden this once again. But whereÉÉÉÉÉÉÉÉÉÉ – tbone Feb 14 '18 at 02:35
  • 2
    for windows 10 look @kojow7 answer – JinSnow Jan 04 '20 at 12:04
  • For Windows 10 users, see the answer in https://superuser.com/a/1322396/180017 – JwJosefy Feb 26 '21 at 14:21
87

It has moved again in Windows 8.1 and Windows 10. From the desktop:

  • Settings (with the mouse hover at bottom right, then click cogwheel)
  • Control Panel
  • Clock, Language and Region
  • Language (or "Add a language" or "Change input methods" - all go to the same place)
  • Advanced settings (in the left margin)
  • Change language bar hot keys (a hyperlink about halfway down) enter image description here
  • Advanced Key Settings (tab)
  • Change Key Sequence (button)

There you have (limited) options to change or disable the hotkeys for switching input language or keyboard layout.

sashoalm
  • 3,942
  • 14
  • 49
  • 76
Richard
  • 980
  • 6
  • 5
  • 17
    Note that it'll probably look like there isn't a `ctrl-shift` keyboard shortcut to change keyboard layouts, but actually there is. It's hidden under "Between input languages", it looks like that's just `alt-shift` to change language, but actually that item in the list also includes `ctrl-shift` to change keyboard, hidden – user56reinstatemonica8 Jul 31 '16 at 22:27
  • 1
    that comment from user568458 really saved this one for me. I almost missed it - it would be great if this could be incorporated into the answer. – Simon Zyx Dec 06 '17 at 13:22
  • Windows 10 has removed the ability to change this. – tbone Feb 14 '18 at 02:38
  • 1
    @tbone I am using Windows 10 Home version 1709 build 16299.248 and the options are still there for me. – Richard Feb 16 '18 at 03:23
  • The options are there for me in Windows 10, but disabling them has no effect :( – Xavier Shay Mar 12 '18 at 05:38
  • This works for my Surface, but in the Control Panel on my desktop, under "Clock, Language, and Region", both "Add a language" and "Change input methods" are missing. – brianary May 14 '18 at 00:42
  • 5
    It's moved again: `Region & language`>`Advanced keyboard settings`>`Language bar options`>`Advanced Key Settings`>`Change Key Sequence...` – Hashbrown Feb 20 '19 at 22:13
  • 1
    It seems like it's changed again. To get to `Advanced keyboard settings` I have to go via `Settings` -> `Time & Language` -> `Language` -> `Spelling, typing, & keyboard settings` (or just use the search bar to search for `Advanced keyboard settings`) – Tom Ellis Aug 27 '19 at 10:09
  • Or you can just type `Advanced keyboard settings` into the search box on the task bar. – Tom Ellis Aug 28 '19 at 08:52
  • 1
    In Windows 10 version 1903 the location is as follows: All Settings > Devices > Typing > Advanced Keyboard Settings > Input Language Hot Keys – Richard Aug 28 '19 at 14:15
81

Skip the UI. It'll just keep changing for no reason. Run this to get to the Text Services and Input Languages dialog:

rundll32 Shell32,Control_RunDLL input.dll,,{C07337D3-DB2C-4D0B-9A93-B722A6C106E2}

Then Advanced Key Settings tab → Change Key Sequence… button → choose Not Assigned for both, and click OK, then the other OK.

brianary
  • 1,321
  • 1
  • 10
  • 8
  • 9
    Yeah, it moved again in the April 2018 build of Windows. I think that’s the sixth place it’s been. – Chris Morgan Jun 19 '18 at 01:24
  • 12
    This is awesome – Name McChange Jul 13 '18 at 15:11
  • This is absolutely amazing. I just had my computer rebuilt and as @ChrisMorgan noted it must have changed again because I can no longer find it in the UI anywhere. Thank you!!! – ktr Apr 05 '19 at 14:36
  • 5
    Due to Microsoft moving, hiding, removing Control Panel items so many times, especially this one, your `rundll32` solution above it _perfect_! (For anyone having trouble using this, try `Win+R` or `Start Menu | Run` and then paste it in. It will show the dialog that you need to disable the shortcuts--at least as of Windows 10 1809.) – Craig Silver Apr 27 '19 at 19:38
  • 4
    This is the only way I seem to be able to find it in Windows 10 1903. Thank you! – thin Aug 09 '19 at 20:11
  • 3
    This should be the correct answer. Thanks! – Alex Kaszynski Jun 09 '20 at 19:06
  • This is so the best way :) Thanks! – boomdrak Sep 18 '20 at 05:44
  • Thank you so much. Imagine trying to follow the steps in the other answers while using a non-English version of Windows 10... – andref Nov 24 '20 at 13:20
  • 1
    This was *perfect* and the only solution that worked on Windows 10, build 1909. Thank you! It was **extremely annoying** to have the layout changing with CTRL+SHIFT all the time. THANKS! :-) – JwJosefy Feb 26 '21 at 13:50
  • 2
    This also works on Windows 11 build 22000, this should be the accepted answer by now – Alexander Freyr Apr 17 '22 at 14:01
  • 1
    This also works in Win 11 Build 22621. No need to fiddle between ever-changing settings. – Arda Oct 22 '22 at 15:47
  • Edition: Windows 10 Pro, Version: 21H2, OS Build: 19044.2965, Experience: Windows Feature Experience Pack 1000.19041.1000.0 - rundll32 doesn't show any dialog anymore – Yann Duran May 17 '23 at 06:16
  • 1
    @YannDuran maybe try it in the Run dialog, cmd.exe, or PowerShell. It works fine for me in Windows 10 up through 22H2, and through the latest Windows 11. – brianary May 18 '23 at 14:46
  • @brianary Hmm, I just let windows update to 22H2, and all 3 methods still do nothing. No error message, just nothing.. I'm just typing rundll32 and pressing ENTER, right? – Yann Duran May 19 '23 at 16:14
  • 1
    @YannDuran No, you need to enter that entire command line. – brianary May 19 '23 at 16:27
  • 1
    @brianary OMG I don't know how I missed seeing that! Thanks so much for your help. Just a note: in Powershell it didn't like the two commas, but with one comma it brought up the Windows settings app at the Time & Language tab. In the run dialog it brought up the old Text Services and Input Languages dialog, as did using the command prompt. Thanks again for your help! – Yann Duran May 20 '23 at 00:53
  • 1
    @YannDuran Yeah, additional escapes in PowerShell are necessary, the easiest would be to put `--%` between `rundll32` and the rest. – brianary May 21 '23 at 01:15
  • 1
    @brianary thanks for the follow-up! That syntax (using `--$`) worked with both one & two commas - one comma took it directly to a control panel dialog, and two commas to it the the equivalent Settings dialog. Anywhere I can read up on that syntax, to understand why that what re? – Yann Duran May 21 '23 at 16:11
  • 1
    @YannDuran Check out the "stop-parsing token" at https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_parsing – brianary May 22 '23 at 17:14
  • 1
    @brianaryThanks for that! – Yann Duran May 29 '23 at 03:31
28

This is different in Windows 7. It's in the same Region and Language interface but you do this.

  • Keyboards and Languages tab
  • Change keyboards... button
  • In the popup go to the Advanced Key Settings tab
  • Here you can choose the Between input languages item in the list then press the Change Key Sequence... button
  • Change to Not Assigned radio buttons
  • Click Okay 3 times, then voila :)
Simon Morgan
  • 140
  • 9
Bob Sampson
  • 281
  • 3
  • 2
  • 2
    Thank you for this... was driving me nuts because CTRL+SHIFT+CLICK opens things up as administrator, but the CTRL+SHIFT would cause my keyboard layout to change. – Jason Down Jan 31 '13 at 19:04
  • 1
    Thanks mate, really helpful in VS where ctrl + Shift + something else do lots of stuff – Ignacio Soler Garcia Jun 03 '14 at 10:31
  • Also worth mentioning for Visual Studio purposes @IgnacioSolerGarcia, if you run VS as admin you'll have to change the settings for the Admin user too...I haven't figured that part out though... – drzaus Oct 31 '17 at 18:02
  • ...figured it out -- literally switch users to that Admin account and change settings there, then sign out and back to your usual account, then probably restart VS. *Bliss* – drzaus Oct 31 '17 at 18:13
  • Even though I have it set to *Not Assigned* it still changes the layout when I press ctrl + shift :( – Vivek Athalye Aug 13 '18 at 16:19
26

The easiest way (for Windows 10 in 2019):

  1. In the Windows Start Menu Search type Advanced Keyboard Settings
  2. Click Input language hot keys
  3. Double click Between input languages
  4. Set both the Switch Input Language and Switch Keyboard Layout settings to Not Assigned (or assign them how you wish).
kojow7
  • 451
  • 6
  • 17
  • Any idea why Microsoft keeps moving the settings? It's not like countries are moving to something. Despite BrExit the UK is still in the same place with the same language :-) – Paul McCarthy Mar 18 '20 at 14:36
  • 2
    @PaulMcCarthy Not sure. It likely has something to do with the coronavirus. – kojow7 Mar 18 '20 at 15:32
  • 3
    Thank you @kojow7! :) Very much appreciated! – Tom Apr 01 '20 at 13:07
17

In Windows 10:
Start > Settings > Time & Language > Region & Language > Additional date, time and regional settings > Change input method > Advanced settings > Change language bar hot keys > Change Key Sequence

vovahost
  • 313
  • 1
  • 3
  • 9
  • 2
    Wow, amazing you were able to find this!! But now that Iève gotten there, what do I doÉ - that is supposed to be a question mark by the way. This situation is hilariously depressing. – tbone Feb 14 '18 at 02:47
  • 4
    Windows 10 is tricky because they changed it from versions to version. I got as far as the `Advanced settings` above, but did not notice the `Change language bar hot keys`... thanks! On other Windows 10 versions, you'll find the same thing under `Region and language settings` > `Advanced Keyboard Settings` > `Language Bar Options` > `Change Key Sequence...` – GaspardP Aug 26 '18 at 04:52
  • 1
    @GaspardP jesus christ, thank you. Can they stop moving this around? It's infuriating. – René Mar 08 '19 at 10:00
13

In Windows 10 from April 2018 onwards, the Control Panel step has been removed; you can get to the final dialogue box (“Text Services and Input Language”) directly from the Settings app:

Settings → Time & Language → Region & Language → Advanced keyboard settings → Language bar options → Advanced Key Settings → select Between input languages, Change Key Sequence…, both Not Assigned radio buttons, OK, OK.

And in some release since then it changed again…

Settings → Devices → Typing → Advanced keyboard settings (at the bottom) → Language bar options → Advanced Key Settings → select Between input languages, Change Key Sequence…, both Not Assigned radio buttons, OK, OK.

At least this change made sense.

Chris Morgan
  • 281
  • 2
  • 9
  • This worked for me! And I prefer not editing the registry manually is there's a UI way. It's probably safer in most cases. This answer is way underrated. It should be on top now and as long as it's the one with the right answer – Emilio Jan 23 '19 at 03:56
  • 1
    My own vote goes for brianary’s answer to run it via rundll32, actually, because it *does* just keep on moving! – Chris Morgan Jan 23 '19 at 07:34
  • Took me forever to find the setting. Nice find! – Björn Lindqvist Jan 23 '20 at 02:28
  • Moved again, as of 2021 August: `Setting / Time & Language / Language (tab) / Keyboard (icon) / Input language hot keys / Advanced Key Settings (tab) / Between input languages / Change key sequence` – Sylvain Aug 13 '21 at 09:23
12

Windows 11

  1. Settings > Time and language > Typing > Advanced keyboard settings, click link Input language hot keys. A popup window named Text Services and Input Languages will open.

  2. Select action Between input languages and press button Change Key Sequence... to open a new popup window.

  3. In the fieldset named Switch Keyboard Layout, set option Not Assigned. By default it is set to Ctrl + Shift.

crimson_king
  • 361
  • 3
  • 8
8

As will said, you can change it through registry, it is documented here: http://technet.microsoft.com/en-us/library/cc976564.aspx

If like me you don't like clicking too much, you can switch it off fastly, typing this in Start Menu/Run:

powershell -Command Set-ItemProperty -Path 'HKCU:\Keyboard Layout\Toggle' -Name HotKey -Value 3
user3249994
  • 81
  • 1
  • 1
6

The registry key controlling this is documented here: http://technet.microsoft.com/en-us/library/cc976564.aspx

If you're like me, you will also want to disable ctrl+shift hotkey on the logon screen, so add the reg value mentioned to the HKEY_USERS.DEFAULT\Keyboard Layout\Toggle key.

Will
  • 61
  • 1
  • 2
4

This is how to disable it in the standard edition of Windows 8.1, for any other edition you might be better of manually locating the setting in the Control Panel.

Save the below as a .reg file and run it, the hotkey will be disabled immediately without the need for logging off. Alternatively, follow the instructions in the code comments to set it manually through the Control Panel:

Windows Registry Editor Version 5.00

; Note: This is for Windows 8.1 - the location of the settings/keys change with different Windows versions
; CONTROL PANEL:
; Control Panel->All Control Panel Items->Language->Advanced settings->Change Language Bar Hot Keys->Advanced Key Settings->Change Key Sequence...->"Not Assigned"
; WINDOWS REGISTRY:
; Primary Key: [HKEY_CURRENT_USER\Keyboard Layout\Toggle]
; Optional Secondary Key (might be needed for Windows logon screen): [HKEY_USERS\.DEFAULT\Keyboard Layout\Toggle]
; Values: "Language Hotkey" and "Layout Hotkey"
;1 = Key Sequence enabled; use LEFT ALT+SHIFT to switch between locales.
;2 = Key Sequence enabled; use CTRL+SHIFT to switch between locales.
;3 = Key Sequences disabled.

[HKEY_CURRENT_USER\Keyboard Layout\Toggle]
"Language HotKey"="3"
"Layout HotKey"="3"

[HKEY_USERS\.DEFAULT\Keyboard Layout\Toggle]
"Language HotKey"="3"
"Layout HotKey"="3"
abvgd
  • 41
  • 1
0

The shortest way - fully explained

  1. Press the Windows key

  2. Begin typing typing settings until it appears at the top as Best match

  3. Enter

  4. Click Advanced keybord settings at the bottom of the window

  5. Click Input language hot keys

  6. Having Between input languages selected, click Change Key Sequence

  7. Select the two buttons named Not assigned

  8. OK twice

Rodolfo Oviedo
  • 2,018
  • 2
  • 8
  • 21
0

On Windows 7 I opened the "Region and Language" tool. Clicked "Keybords and Languages" tab then clicked "Change keyboards" button. Then in the "Installed services" tree list I selected the keyboards I didn't want (French) and clicked "Remove.

leif81
  • 477
  • 1
  • 3
  • 11