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
- Go to
Start > Type in regedit and start it
- Navigate to
HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys
- Select the key named:
00000070 for the Chinese (Traditional) IME - Ime/NonIme Toggle hotkey
00000010 for the Chinese (Simplified) IME - Ime/NonIme Toggle hotkey
- 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).
- Change the first byte in
Key Modifiers from 02 to 00
- Change the first byte in
Virtual Key from 20 to FF
- Log off and log back on. I don't think it's necessary to restart.
- 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.
This is for Windows 7 64-bit, 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