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

Cursor position changes not properly passed to input method

    XMLWordPrintable

Details

    • Android

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated: