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

[SIP] Cannot input CAPITAL letters with input method pressing shift

    XMLWordPrintable

Details

    • Windows

    Description

      Tested on Chinese version Windows 10, Qt 6.2.3, using text handling widgets like QLineEdit, QPlainTextEdit and QTextEdit.

      Steps to reproduce:

      1. Switch to Microsoft Pinyin input method
      2. Press and hold SHIFT
      3. Input some letter, capital letter appears in composition string (with underline, meaning they are not committed yet)
      4. Release SHIFT

      Expected result:

      • Capital letters in composition string committed

      Actual result:

      • composition string removed, nothing is committed

       

       ---

       

      Did a little research into the code, I found a commit 93038767b71559f1606c787f97d7c307fba82723, which is a fix to QTBUG-61652.

      That commit adds call to d->handleSoftwareInputPanel() inside keyReleaseEvent. And function handleSoftwareInputPanel calls QGuiApplication::inputMethod()->show(), which didn't check if composing string is empty.

       I don't know much about software input panel, why still check for SIP on Windows with physical keyboard? Is there any way to disable SIP completely?

      Attachments

        Issue Links

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

          Activity

            People

              anrocha André De La Rocha (Inactive)
              songziming Song Ziming
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes