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

Cursor position changes not properly passed to input method

XMLWordPrintable

    • Android

      On Android, the platform input context does not implement update()
      (http://code.qt.io/cgit/qt/qtbase.git/tree/src/plugins/platforms/android/qandroidinputcontext.cpp?h=5.8.0#n645).
      Instead, it relies on connecting to the widget's cursorPositionChanged() signal
      (http://code.qt.io/cgit/qt/qtbase.git/tree/src/plugins/platforms/android/qandroidinputcontext.cpp?h=5.8.0#n684).

      As a result, custom widgets which properly interact with the input method via update() but do not provide cursorPositionChanged() suffer in the following way after changing the position:

      • The current word does not become the current preedit string.
      • The predictive text does not reflect the current context.
      • The next letter entered by the user is composed with the (invisible) preedit string from the previous context and inserted as the new preedit string at the cursor position.

        1. qt_6_1_0_event_vs_qt_5_15_2.mp4
          4.34 MB
          Tapio Oksa
        2. qtbug58013.zip
          2 kB
          Tapio Oksa
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            qtandroidteam Qt Android Team
            dg0yt Kai Pastor
            Votes:
            6 Vote for this issue
            Watchers:
            17 Start watching this issue

              Created:
              Updated: