Some time ago, Michael Kaplan wrote about the Ctrl+Space hotkey and its broken configuration in Windows Vista.

What is particularly evil about the Ctrl+Space combination is that takes control even when the language is not selected.  So you can be happily typing away in US (English) or German (Austria) or whatever language takes your fancy, decide you want to select the current column in Excel (Ctrl+Space) and you instead will be thrown into the first available IME language.

It can even happen if the IME is not even installed.  Here’s the scenario: if you have a text input processor that is registered for all languages (i.e. call  ItfInputProcessorProfiles::AddLanguageProfile with langid = -1), then Windows will behave as if the IME is installed for CJK languages, and list it in the language bar, and enable Ctrl+Space — but without listing it in the Text Services and Input Languages dialog, and without listing the Ctrl+Space hotkey in Advanced Key Settings.  The only way to remove these bogus languages from the language bar, and disable Ctrl+Space, appears to be to remove the TIP.  Even after that, you will probably find that you have to restart Windows in order for the Language Bar to figure out which languages are actually installed…

Things are just as bad with Alt+Left Shift – the key combination that anybody who works in more than one language (and many who don’t) will no doubt have experienced to their dismay…  Some of the side effects that Alt+Left Shift causes:

  • Hotkeys that use Alt+Shift+key will switch the input language as well as firing
  • Alt+Tab and Alt+Shift+Tab can switch languages in some situations
  • This hotkey is accidentally pressed so frequently that someone even created a tool to fixup text typed with the wrong keyboard!
  • If you uninstall all languages/keyboards/etc bar 1, Apply, and then add another language, the settings are reset to the defaults.  This one seems to have been fixed on Vista.
  • Dizziness may occur.

Ctrl+Shift (default behaviour – switch between keyboards for selected language) has the additional behaviour of switching text direction.  So, if you have 2 keyboards installed for a language, and press Right Ctrl+Right Shift to switch to Right-to-left in a text control, you will then have to press Ctrl+Shift AGAIN to switch back to the previous keyboard.

The grave accent [`] was added as a keyboard switch hotkey in
Vista.  Once you select this hotkey, there does not appear to be any
way to type a grave accent…

The next build (7.0.241.0 or later) of Keyman Desktop (Professional) will add the ability to set your own hotkeys for all installed languages…  This new version should be available in a week or two.

Categories: Uncategorized

0 thoughts on “Ctrl+Space, Alt+Left Shift, Ctrl+Shift and other Windows language hotkey frustrations”

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Uncategorized

Welcome to blog.keyman.com

As part of the transition to SIL, we’ve moved all the content from blog.tavultesoft.com to this new site, hosted on WordPress.

Uncategorized

Should I upgrade to Keyman Desktop 9.0?

If you currently use Keyman Desktop 6, 7.1 or 8.0, you may have questions about whether you should upgrade to version 9.0 or not. This post outlines the various upgrade paths and provides information on Read more…

Uncategorized

Enable custom fonts in Opera Mini

Configure Opera Mini to make Amharic and other custom text visible.  1) In Opera Mini, visit opera:config by typing it into the URL bar: 2) Find "Use bitmap fonts for complex scripts", set it to Read more…