Input handling in Keyman Web with the Windows English (India) keyboard

Hi, In Windows OS, the English (India) keyboard is the default keyboard used by Indian users. The English (India) keyboard has AltGr and AltGr+Shift layers. For example: AltGr+4 → ₹.

We have two Keyman keyboards currently in development:

  1. Poorna Malayalam Extended Inscript Keyboard
  2. Poorna Malayalam Typewriter Keyboard

While testing these two keyboards with Keyman Web 16.0.145 in Firefox, Chrome, and Edge browsers, the following points were noted. The tested OS is Windows (10 & 11), and the default keyboard is English (India).

  1. AltGr key does not work in Firefox, Chrome, and Edge browsers.
  2. The Left Ctrl + Left Alt key combination works as AltGr.
  3. When using the Left Ctrl + Left Alt key combination in Firefox, some characters assigned in AltGr & AltGr + Shift were not produced. The keyboard switches to the default/shift layer. It is noted that in the Windows English (India) keyboard, the particular key has AltGr and AltGr + Shift layer.
  • In Poorna Malayalam Extended Inscript Keyboard keys defined as :
    + [K_D] > U+0d4d
    + [SHIFT K_D] > U+0d05
    + [RALT K_D] > U+0d3d
    + [SHIFT RALT K_D] > U+0d01
    
  • But when typing [RALT K_D] in Firefox, it produces U+0d4d
  1. When using the Left Ctrl + Left Alt key combination in Chrome & Edge, continuous typing without releasing Left Ctrl + Left Alt is not possible. After a few keystrokes, it produces characters from the default/shift layers.

After detecting this issue, I changed the default Windows keyboard to the US keyboard for English. At that time, the AltGr key worked, and the AltGr and AltGr + Shift layers of Keyman keyboards worked perfectly in Firefox, Chrome, and Edge browsers.

Attention is invited to this Keyman Web AltGr handling issue related to the Windows OS English (India) keyboard for English.

Welcome back to the community @Ramesh_Kunnappully,

In Keyman Developer, the keyboard does not self-distinguish between Left Ctrl and Right Ctrl or Left Alt and AltGr. There is a configuration to follow:

  • In the Layout tab of keyboard.kmn
  • There is a ‘Distinguish between left and right Ctrl/Alt’, tick the box and the rules should work.

After distinguished the Ctrl and Alt keys, the four examples above should work fine with keymanweb.com version 16.0.145 on Chrome, Microsoft edge, and FireFox Developer Edition.

All of the concerns should be resolved by enable the ‘Distinguish between left and right Ctrl/Alt’. We test the rules provided and can’t produce the issue described, and with additional rules to try to reproduce question 4:

        begin Unicode > use(main)
        + [K_D] > U+0d4d
        + [SHIFT K_D] > U+0D05
        + [RALT K_D] > 'ഽ'
        + [SHIFT RALT K_D] > 'ഁ'
        + [LCTRL LALT K_D] > 'LL'
        + [RCTRL RALT K_D] > 'RR'

We test the English (India) keyboard for the Windows OS on keymanweb.com website version 16.0.145 on Chrome, Microsoft Edge, and FireFox Developer Edition but all layers output expectedly as shown on the On-Screen-Keyboard for Windows 10. Would you like to update the browsers and give it another go with English (India) keyboard?

Please ask if there is further question.

Thank you @mengheng for your support.

In Keyman Developer, the keyboard does not self-distinguish between Left Ctrl and Right Ctrl or Left Alt and AltGr. There is a configuration to follow:

  • In the Layout tab of keyboard.kmn
  • There is a ‘Distinguish between left and right Ctrl/Alt’, tick the box and the rules should work.

In my understanding this check box only for keyboard development purpose using design tab, not for keyboard configuration. As per documentation- A Keyman keyboard can treat left and right Ctrl and Alt identically, or it can distinguish between them. The Design view allows one or the other mode (in Code view, you can use both interchangeably).

In my case, the steps given below reproduce the issue I mentioned earlier:

  • Laptop Operating System : Windows 11 Home Single Language; Version-23H2; OS build-22631.3155

  • Language region settings:

  • Keyboards installed / enabled for the language English (India) :

  • Web Browser : Firefox 123.0 (64-bit) / Microsoft Edge122.0.2365.59 (64-bit) / Google Chrome 122.0.6261.70

  • Switch to the English(India) keyboard using windows taskbar language switching.
    image

  • Open the Malayalam Basic keyboard in Firefox browser, and type something.

  • Press and hold AltGr button on Laptop (not OSK), result: Keyman Web OSK not switched to AltGr layer of the Malayalam basic keyboard.

  • Press and hold AltGr+Shift button on Laptop (not OSK), result: Keyman Web OSK not switched to AltGr+Shift layer of the Malayalam basic keyboard.

  • Without close the browser Switch to the US keyboard using windows taskbar language switching.
    image

  • Press and hold AltGr button on Laptop (not OSK), result: Keyman Web OSK switched to AltGr layer of the Malayalam basic keyboard.

  • Press and hold AltGr+Shift button on Laptop (not OSK), result: Keyman Web OSK switched to AltGr+Shift layer of the Malayalam basic keyboard.

Testing below key combinations with English(India) keyboard & US keyboard in different web bowsers will help to understand the difference. Windows keyboard treats Left Ctrl+Left Alt and AltGr identically.

  1. AltGr+q → Expected result :

  2. AltGr+Shift+d → Expected result :

  3. Left Ctrl+Left Alt+q → Expected result :

  4. Left Ctrl+Left Alt+Shift+d → Expected result :

A Keyman web enabled text editor included in Poorna Malayalam Extended Inscript Keyboard files for testing purposes.

Thank you for the careful explanation @Ramesh_Kunnappully,

We can reproduce the behavior with English (India) keyboard for Windows on Keymanweb and the feature request is report here - feat: add support for the English (India) keyboard for Windows to switch to Alt Gr layer on Keymanweb · Issue #10890 · keymanapp/keyman · GitHub.

Feel free to add any additional information and let’s track the progress on Keyman’s repository.

1 Like