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

Input connection not closed when input field loses focus

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4: Low P4: Low
    • None
    • 5.6.0
    • QPA
    • None
    • Qt 5.6 on BlackBerry Priv
    • Android

      When I press a button on the physical Keyboard on the BlackBerry Priv the key events can be handled properly in a Keys.onPressed handler.

      However, as soon as I had typed into a textfield, whenever I tap a key again while no texfield has focus, I start typing into an invisible text field somewhere and I no longer get Keys.onPressed events.

      It does not matter whether the text field is visible or not, and it's also not the last text field I focused that I'm typing to, it stays empty. All I see is the auto correct suggestions popping up as soon as I tap a key.

      Run the following example on a BlackBerry Priv:

      import QtQuick 2.6
      import QtQuick.Controls 1.1
      
      Column {
          id: root
      
          focus: true
      
          CheckBox {
              id: checkbox
              text: "show text field"
          }
      
          TextField {
              visible: checkbox.checked
              onVisibleChanged: {
                  if (!visible) {
                      root.forceActiveFocus()
                  }
              }
          }
      
          Keys.onPressed: {
              console.log("key pressed: ", event.key)
          }
      }
      

      If you tap any button on the keyboard, the debug output should show.
      Now check the checkbox and focus the text field, typing in there will append characters to the string and not show debug output as the events are accepted by the textfield.
      Uncheck the checkbox, now typing on the keyboard should show debug output again. This works on the desktop but also with an external Bluetooth keyboard connected to the Android device.
      On the BlackBerry Priv, however, I get the following warnings and the keyboard shows up.

      W/libqmltest52319.so(15965): (null):0 ((null)): QMetaObject::invokeMethod: No such method QQuickColumn::inputMethodQuery(Qt::InputMethodQuery,QVariant)

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

            rampe Rami Potinkara
            broulik Kai Uwe Broulik
            Veli-Pekka Heinonen Veli-Pekka Heinonen
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes