Duplicated
Last Updated: 10 Mar 2021 10:22 by ADMIN
Yusi
Created on: 02 Mar 2021 12:49
Category: VirtualKeyboard
Type: Bug Report
0
VirtualKeyboard does not support Chinese or maybe other East Asian IME

Currently, when a Chinese input method is activated (e.g. Microsoft Pinyin), typing by the VirtualKeyboard can only type in English characters, which looks like the key-press message just bypasses the IME and reach the textbox directly. Both first-party IMEs provided by Microsoft and third-party IMEs were tested. 

 

I guess Japanese and Korean IMEs are affected as well, as they all need an IME program to convert codes to characters. Supporting the East Asian IMEs may help greatly for touch-screen apps running in these cultures. Otherwise, the users can type in English only.

 

How to add a Chinese IME:

1. Add Chinese (China) language in Settings -> Time and Language -> Language.

2. In the Options of the Chinese language in the language list, click Add Keyboard and select Microsoft Pinyin.

 

Thanks.

Duplicated
This item is a duplicate of an already existing item. You can find the original item here:
2 comments
ADMIN
Todor
Posted on: 10 Mar 2021 10:22

Hello, Yusi, 

I would like to follow up with an update.

The strange behavior is caused by the sequence of mouse events. When a key from RadVirtualKeyboard receives a mouse down, it triggers its MouseClick event, where the key is being sent using the Win32 SendInput function, and as expected the IME pop-up is opened. Then when the mouse button is released it is processed by the IME pop-up and the latter is closed.

As a workaround, I can suggest changing the ClickMode of all the keys to Release. This is illustrated in the code snippet below, which uses the GetAllKeys method of MainLayoutPanel to access each key of RadVirtualKeyboard:

Dim keys As IList(Of IKey) = Me.radVirtualKeyboard1.VirtualKeyboardElement.MainLayoutPanel.GetAllKeys()

For Each key As IKey In keys
    Dim button As LightVisualButtonElement = TryCast(key, LightVisualButtonElement)

    If button IsNot Nothing Then
        button.ClickMode = Telerik.WinControls.ClickMode.Release
    End If
Next

I hope this information helps. 

Regards,
Todor Vyagov
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.

ADMIN
Todor
Posted on: 09 Mar 2021 10:56

Hello, Yusi,

Thanks for the detailed description.

I tested it on my side and confirm that the IME pop-up is opened and instantly closed when a key from RadVirtualKeyboard is pressed. The illustrated functionality has already been logged in our feedback portal. Make sure that you cast your vote on the feedback item in order to increase its priority.

I tried to find a solution or a workaround for this case, but due to the specificity of the input handling in RadVirtualKeyboard, I am unable to suggest an appropriate solution. We will do our best to introduce a suitable approach accordingly. Make sure that you follow this item in order to get notified once the status changes.

Regards,
Todor Vyagov
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.