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

There is no event modifier for /usr/share/X11/xkb/symbols/level5, and web assembly does not recognize Level3 or Level5

    XMLWordPrintable

Details

    Description

      This key is not handled, and leads to a menagerie of small but annoying bugs.

       

      Desktop Level 3 (Left Alt)

       

      Qt::Key Qt::Key(ev->key()) 
      Key_AltGr
      
      int ev->key() 
      16781571
      
      QString ev->text() 
      ""
      
      int ev->count() 
      1
      
      QFlags ev->modifiers() 
      NoModifier          : false
      ShiftModifier       : false
      ControlModifier     : false
      AltModifier         : false
      MetaModifier        : false
      KeypadModifier      : false
      GroupSwitchModifier : true
      KeyboardModifierMask: false
      
      QEvent::Type ev->type() 
      6
      
      unsigned int ev->nativeModifiers() 
      0
      
      unsigned int ev->nativeScanCode() 
      64
      
      unsigned int ev->nativeVirtualKey()
      65027
      

      Desktop Level 5 (Right Alt)

       

       

      Qt::Key Qt::Key(ev->key()) 
      
      
      int ev->key() 
      0
      
      QString ev->text() 
      ""
      
      int ev->count() 
      1
      
      QFlags ev->modifiers() 
      NoModifier          : true
      ShiftModifier       : false
      ControlModifier     : false
      AltModifier         : false
      MetaModifier        : false
      KeypadModifier      : false
      GroupSwitchModifier : false
      KeyboardModifierMask: false
      
      QEvent::Type ev->type() 
      6
      
      unsigned int ev->nativeModifiers() 
      0
      
      unsigned int ev->nativeScanCode() 
      108
      
      unsigned int ev->nativeVirtualKey()
      65041
      

      This causes a few small problems on the desktop, but were fixable without touching qt. On Web Assembly however, it is causes more issues:

       

       

      WebAssembly Level 3 (Left Alt)

       

      Qt::Key Qt::Key(ev->key()) 
      Key_unknown
      
      int ev->key() 
      33554431
      
      QString ev->text() 
      ""
      
      int ev->count() 
      1
      
      QFlags ev->modifiers() 
      NoModifier          : true
      ShiftModifier       : false
      ControlModifier     : false
      AltModifier         : false
      MetaModifier        : false
      KeypadModifier      : false
      GroupSwitchModifier : false
      KeyboardModifierMask: false
      
      QEvent::Type ev->type() 
      6
      
      unsigned int ev->nativeModifiers() 
      0
      
      unsigned int ev->nativeScanCode() 
      0
      
      unsigned int ev->nativeVirtualKey()
      0
      

      As you can see,  even Level3 is not being registered on Web Assembly, with 33554431 being a limit value of sorts (33554432 bytes = 32 mb). The exact same values are given when ralt (level 5) is pressed.

       

      As a result, my keyboard mappings do not register on Web Assembly. For example, I have JKL mapped as Left, Down, Right respectively, and instead it will just default to JKL.

       

      Attachments

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

        Activity

          People

            lpotter Lorn Potter
            akiva Akiva Avraham
            Veli-Pekka Heinonen Veli-Pekka Heinonen
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes