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

Windows: Virtual Keyboard emojis not working

    XMLWordPrintable

Details

    Description

      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.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes