How to prevent Windows XP from stealing my input Ctrl-Space which is meant for Emacs?

后端 未结 12 1466
粉色の甜心
粉色の甜心 2020-12-24 08:03

I am learning and using Emacs. What I found annoying is that Ctrl-Space input will be stolen by Windows XP to switch the language bar instead of setting the mark in Emacs.

12条回答
  •  孤独总比滥情好
    2020-12-24 08:28

    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.

    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

提交回复
热议问题