Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-50863

Windows: Virtual Keyboard emojis not working

XMLWordPrintable

      If one tries to enter some text with the default virtual keyboard on windows, Emojis that are composed of 2 16-Bit characters will not show.

      Example:
      The Emoji 😀 has the code "U+1F600" as ucs4 - and "U+D83D" + "U+DE00" if transformed to high/low surrogate. If entered via copy/paste, everything works fine, but if entered by the virtual keyboard, nothing happens.

      I verified it's not the virtual keyboard, since applications like word, chrome, ... receive the character without problems.

      Interesting enoug: It seems that the key-events are correctly delivered, but since each of the two characters is not displayable on it's own, they don't appear?
      I installed an event filter to check the keys, and this is what I get for the emoji:

      KEY:   55357 
       MOD:   QFlags<Qt::KeyboardModifiers>(NoModifier) 
       NVKEY: 231 
       NSCAN: 0 
       NMOD:  512 
       TEXT:  "\uD83D" (Size: 1 )
      KEY:   55357 
       MOD:   QFlags<Qt::KeyboardModifiers>(NoModifier) 
       NVKEY: 231 
       NSCAN: 0 
       NMOD:  512 
       TEXT:  "\uDE00" (Size: 1 )
      

      I attached the test project. To properly test you will have to use the "new" virtual keyboard. It can be activated by rigth-clicking the taskbar and selecting the option. Now you can access it by using the symbol in the taskbar.

        1. KeyInput.zip
          2 kB
          Felix Barz
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            laknoll Lars Knoll
            SkyCoder Felix Barz
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes