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

Core keyboard keymap and modifier states used for non-core keyboard keypresses

    XMLWordPrintable

Details

    • Linux/X11

    Description

      To reproduce, create a non-core pointer/keyboard pair and assign your mouse/keyboard to it:

      xinput list  # note the id numbers for your keyboard/mouse
      xinput create-master test
      xinput reattach <mouse-id> "test pointer"
      xinput reattach <keyboard-id> "test keyboard"
      

      Note that your mouse will have a new cursor independent from the other one (which may remain visible).

      Then click in any Qt application and try typing using modifier keys (eg, Shift). Despite pressing Shift, everything will be lowercase (because Qt is checking the core keyboard's Shift state, not the state for your "test keyboard"). Similarly, if you assign a keymapping to your keyboard device (xkbcomp with the -d option), it will be ignored and the core keyboard's mapping used instead.

      To restore your system back to normal:

      xinput reattach <mouse-id> "Virtual core pointer"
      xinput reattach <keyboard-id> "Virtual core keyboard"
      xinput remove-master "test keyboard"

      Attachments

        Issue Links

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

          Activity

            People

              liaqi Liang Qi
              lukedashjr Luke Dashjr
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes