176

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.

13 Answers13

121

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

In Windows XP, Vista or 7:

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,097
94

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,461
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
  • 4,260
Richard
  • 980
32

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. Select the item called Between input languages from the list and then click the Change key sequence button below the same window.
  4. Set both the Switch Input Language and Switch Keyboard Layout settings to Not Assigned (or assign them how you wish).
Eric
  • 5
kojow7
  • 541
29

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 :)
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
15

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.

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
9

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
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
5

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
  • 51
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

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.