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

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

XMLWordPrintable

    • Windows

      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?

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

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes