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

winrt: isAutoRepeat value not set for character keys

    XMLWordPrintable

Details

    • WinRT
    • ad0249cc793772a342bf6ced40fb44cd52b2b0e6

    Description

      On key down the isAutoRepeat value is not being correctly set for character keys.

      The sequence of key events looks something like:

      [9640] KEY EVENT QKeyEvent(KeyPress, Key_S, text="s")
      [9640] KEY EVENT QKeyEvent(KeyRelease, Key_S, autorepeat, count=1)
      [9640] KEY EVENT QKeyEvent(KeyPress, Key_S, text="s")
      [9640] KEY EVENT QKeyEvent(KeyRelease, Key_S, autorepeat, count=1)
      [9640] KEY EVENT QKeyEvent(KeyPress, Key_S, text="s")
      [9640] KEY EVENT QKeyEvent(KeyRelease, Key_S, autorepeat, count=1)
      [9640] KEY EVENT QKeyEvent(KeyPress, Key_S, text="s")
      [9640] KEY EVENT QKeyEvent(KeyRelease, Key_S, text="s")
      

      It looks like CorePhysicalKeyStatus.RepeatCount property is not set by Windows for the CharacterReceived event.

      However this is correctly set in the KeyDown event, so one potential solution is to extend the KeyInfo struct and store the RepeatCount value in that on onKeyDown(), and then use that value when processing the CharacterReceived event.

      Attachments

        Activity

          People

            owolff Oliver Wolff
            rupert_d Rupert Daniel
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: