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: Developing Keyman

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

Cindy Shaw · September 16, 2022 at 8:36 pm

I still do not understand how to change the language to English from French.
When I look at the settings on my computer it says English.
Help

    Marc Durdin · September 18, 2022 at 11:34 pm

    Hi, for technical support with Keyman, please visit our community site.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Related Posts

Developing Keyman

Keyman Update for 08 November 2024

This blog reports on significant Keyman product and keyboard development updates over the period from 28 October 2024 — 08 November 2024. As always, you can follow all of our development online at github.com/keymanapp/keyman, and Read more…

Developing Keyman

Keyman Update for 25 October 2024

This blog reports on significant Keyman product and keyboard development updates over the period from 14 October 2024 — 25 October 2024. As always, you can follow all of our development online at github.com/keymanapp/keyman, and Read more…

Developing Keyman

Keyman Update for 27 September 2024

This blog reports on significant Keyman product and keyboard development updates over the period from 16 September 2024 — 27 September 2024. As always, you can follow all of our development online at github.com/keymanapp/keyman, and Read more…