28

I am running Windows 7 Ultimate (w/ SP1), and have multiple UI languages installed - mainly for screenshots etc. Among them are Chinese (traditional) and Chinese (Simplified), which insist on hooking the CTRL+Space key even though I have disabled / overridden these hotkey assignments under Language Bar settings / Advanced key settings.

(It conflicts with CTRL+Space in the Visual Studio IDE, and is pretty annoying beyond that.)

Any ideas?

41

I've been aware of this Windows bug for years. After tons of unsatisfying workarounds and fruitless searching the one or two times a year I attempt to find a solution, I finally have it!

Procedure

  1. Go to Start > Type in regedit and start it
  2. Navigate to HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys
  3. Select the key named:
    • 00000070 for the Chinese (Traditional) IME - Ime/NonIme Toggle hotkey
    • 00000010 for the Chinese (Simplified) IME - Ime/NonIme Toggle hotkey
  4. In the right sub-window, there are three subkeys.
    • Key Modifiers designate Alt/Ctrl/Shift/etc and is set to Ctrl (02c00000).
    • Virtual Key designates the finishing key and is set to Space (20000000).
  5. Change the first byte in Key Modifiers from 02 to 00
  6. Change the first byte in Virtual Key from 20 to FF
  7. Log off and log back on. I don't think it's necessary to restart.
  8. Do not change the Hot keys for input languages in Control Panel, unless you want to do this all over again.

Notes: Symptoms

Each registry key (thing that looks like a folder) is for each specific hotkey setting that you would normally find in Control Panel > Region and Language > Keyboards and Languages > Change keyboards... > Advanced Key Settings > Hot keys for input languages. The recurring bug is the hotkey being automatically reset to Ctrl+space even if changed via the GUI.

I can personally confirm this for Windows 7 64-bit and Windows 8.1, though from my research, it looks like it may work for XP and Vista as well.

Sources:

Traditional Chinese Pocket IME Hot Key Registry Settings

Simplified Chinese MSPY 3.0 IME Hot Key Registry Settings

  • You nailed it, bravo. – Philippe Dec 24 '15 at 9:44
  • Works partially on Win10. It is still enabled after restarting the PC. Need to log out then log in so it will take effect. Normally booting up the PC is also OK. And it only disables my first Chinese IME (mine is Sougou IME). It doesn't affect my second Chinese IME, Microsoft IME. – Shinoka Sep 25 '18 at 11:19
4

Thanks, it worked. For reference, I exported the modified registry keys:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000010]
"Key Modifiers"=hex:00,c0,00,00
"Virtual Key"=hex:ff,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000070]
"Key Modifiers"=hex:00,c0,00,00
"Virtual Key"=hex:ff,00,00,00
2

I've just got help with an associated issue, and I guess it may be useful for many of you as well: https://www.neowin.net/forum/topic/1261058-windows-81-is-forgetting-ctrl12345-shortcuts-designated-for-keyboard-layout-switching-after-wa/

Windows seems to overwrite personal layout controls configuration with defaults on some occasions. Hence, the way to have a "permanent" solution basically appears to be rewriting your HKEY_USERS\.DEFAULT\Control Panel\Input Method\Hot Keys with what you have in your HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys once you've configured your IME shortcuts (or in this matter their absenсe) correctly.

1

Can try editing the registry where the settings are stored directly as suggested in an answer for a similar question: How to prevent Windows XP from stealing my input Ctrl-Space which is meant for Emacs? (the answer mentions Windows 7 as well).

1

Alternatively, for users who don't need the additional languages and the hassle of editing the registry, go to Control Panel, Change keyboards or other input methods, Change keybords..., then under Installed services I removed all but my desired language/setup, English (Ireland).

As Chinese was removed from here, the shortcut also ceased functioning so I was able to use it in visual studio again.

-1

Other than what Kache answered, the trick to prevent further changes/reversions (e.g. if you accidentally attempt to change it from any Windows settings) is to simply DENY "full control" to everyone within the registry.

Dummies Step-by-Step:

  • if you are using RegEdit, right click on the "00000010" key on the left navigation tree
  • select "Permissions..."
  • for each and every "Group or user names" item, check all the boxes under the "Deny" column
  • click "OK"
  • repeat for the "00000070" key on the left navigation tree

Registry permission changes take effect immediately (try setting or resetting the IME toggle key now - it will not work). As stated in the original answer, for the actual CTRL-SPACE key to be "deactivated" (for the purposes of toggling the IME), you will need to log out and log in again.

  • This is really a comment and not an answer to the original question. You can always comment on your own posts, and once you have sufficient reputation you will be able to comment on any post. Please read Why do I need 50 reputation to comment? What can I do instead? – DavidPostill Dec 7 '16 at 13:54
  • 1
    "I am unable to add a comment on Kache's answer, so I have to "answer" the question." No you don't. Adding answers which should be comments may incur downvotes and put you further away from the comment privilege. – DavidPostill Dec 7 '16 at 13:56
  • Sorry @DavidPostill, but it DOES answer the question of "making it stick". As mentioned, I originally intended to add to the answer as this thread helped me (from a Google search). I am not expecting "kudos" or any sort of upvote nor even marking this as an answer, but I did not expect a downvote either.And since you're at it, please "educate" me by explaining HOW I can "comment on my own posts"... Specifically, creating my own posts in the first place? – reb00tz Jan 25 '17 at 9:41

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.