tags:

views:

3628

answers:

7

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. The "language bar" is the native input languages selection such as Chinese keyboard other than English keyboard. Is there a way to temporarily prevent XP from stealing it? I have disabled the language bar from "Regional and language options" from Control Panel but the problem still exists. It doesn't happen on my Windows 2000 desktop at office but it happens on my work Windows XP laptop. Thank you very much.

+1  A: 

I've not seen this personally, but I also always disable the Language Bar.

warren
+2  A: 

You can also change the hot key for the language bar.

Peter Turner
+3  A: 

Go to the Regional and Language Options Control Panel. Click the Languages tab, then the Details... button. Click the Key Settings... button. Double-click each entry in the "Hot keys for input languages" list and make sure the checkboxes are not checked. (If they are, uncheck them and click Ok.)

You do not need to disable the language bar, just the hot keys.

cjm
+4  A: 

The blog here seems to be discussing this exact issue. It appears that even disabling the hotkeys from the Control Panel doesn't work - they get automagically re-enabled due to some bug in the OS.

Two solutions offered there are:

  • "using an alternative desktop shell such as GeoShell alleviates this issue." (Link)
  • "install one more language. I install Japanese and Chinese on an English win XP. Then, XP does not response the Ctrl-Space any more." (Link)
sundar
That bug doesn't happen to everybody. I've never seen it myself.
cjm
A: 

The following works for me:

There is a windows freeware AutoHotkey which let you, for example, bind F12 to Alt-a.

Install AutoHotkey and bind C-Space to C-@.

Binding C-Space to C-Space doesn't work.

+1  A: 

Doesn't work for me, setting the hot keys for language bar. There's no hot key set for anything related there, language bar or language keyboards. Yet, I can't do Ctrl-Space in Emacs. Should I call Microsoft for this?

+2  A: 

Found the solution to this problem as I just experienced it. So here goes even if the question is old.

Applies to Windows 7 and maybe others. I had added Chinese, Japanese and Korean input languages as I needed these for some development. After that I removed them again via Control Panel "Change keyboards...". I removed them all in one go and closed the dialog. After this all the languages still showed in the Language bar and I had the Ctrl-Space problem.

To fix it I did the following for each language one at a time: 1. Open Control Panel applet "Change keyboards..." 2. Add the keyboard for the language (i.e. chinese) 3. Click OK and exit control panel 4. Open applet again and remove the keyboard.

The problem seems to be a bug that appears when removing multiple keyboards at the same time.

Larsdk
Thanks, this nailed it for me :)
Miguel Ping
Worked for me in Windows 7 64-bit too! Marvelous!
Johan Danforth