Left vs right Shift

I am trying to register SHIFT + CTRL + 1 key combination by going to “custom” key combination and pressing
right SHIFT + right CTRL + 1

Instead this combination does not work and I have to press
left SHIFT + left CTRL + 1
which is a different combination

Is there a way out?

Thanks for your interest. Can you give some more detail on what you are trying to do?

Are you using Keyman Developer?

When I use the “Tools” menu, “Virtual Key Identifier” menu item, I get a dialog box where I can type a key and see what Keyman codes I need to reproduce that key. In that dialog, there’s an option for “Distinguish between left and right ctrl/alt”. If I tick that box and type right shift + right control + 1, it displays [SHIFT RCTRL K_1]. I don’t think that Keyman supports a distinction between left and right shift.

But if I’ve misunderstood your question, please write again.

Thank you for your reply!

I am using Keyman Desktop with Windows 10. I need to be able to switch between three different layouts, and I want to assign CTRL + SHIFT + 1/2/3 for changing to layout 1 or 2 or 3. This worked nicely in previous Windows versions, but with Windows 10 the “language bar” settings get randomly lost, usually within few days which is very annoying.

I configured Hotkeys → Keyboard Layouts
English Shift+ Ctrl +1
Russian Shift+ Ctrl +2
Spanish Shift+ Ctrl +3

And I have two issues:

  1. for some reason the assigned combinations work only with left keys, for example
    left Shift + left Ctrl +1/2/3
  2. if I press the same combination second time, the layout switches to English, for example pressing twice
    Shift+ Ctrl +3
    results in English layout even if this shortcut is assigned to Spanish one.

The strange thing is that when I assign the key combinations, I am pressing the right keys while once the combination is recorder only left keys work.

So this is by design – Keyman recognises hotkeys from the left side of the keyboard only, as the right hand modifiers are often used by keyboard layouts to generate characters. (The dialog where you configure the hotkeys is not as smart as this though, and accepts hotkey modifiers from either side, which I agree is confusing).

There is a workaround, but it involves editing the registry and is not really well supported; it should allow you to use hotkey modifiers from either side of the keyboard but may have other side effects that I am not aware of.

Warning: Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. We cannot guarantee that these problems can be solved. Modify the registry at your own risk.

Under HKCU\Software\Keyman\Keyman Engine\Debug, add a Dword value Flag_UseRegisterHotkey and set the value to 1. Restart Keyman for the changes to take effect.

1 Like

Thank you very much!

After modifying the registry I can use also right shift and ctrl keys!

Still I have remaining the second issue, that if I press any of the assigned combinations twice, the language is set to English instead of the expected one. Is there way to fix it? The whole purpose of assigning different key combinations to different languages is to be sure which language will be used. Thank you in advance!

Yes, sorry I missed this question first time. Turn off the option “Keyboard hotkeys toggle keyboard activation” in Keyman Configuration to get the behaviour that you want. :slight_smile:

1 Like

Thanks a lot! This has solved the last missing question! Now it works as desired!

1 Like