← Back to team overview

touch-packages team mailing list archive

[Bug 1537782] Re: Modifier ignored when pressing a key if TextInput has active focus

 

OK, this code in qtdeclarative looks to me like it could be responsible:

src/quick/item/qquicktextinput.cpp:4427:

    if (unknown && !m_readOnly) {
        QString t = event->text();
        if (!t.isEmpty() && t.at(0).isPrint()) {
            insert(t);
            event->accept();
            return;
        }
    }

For that code to work like this bug wants, I believe we'd need to add a
check that "event->modifiers() == Qt::NoModifier" there.  But I need to
talk to some Qt-heads to see if that's sensible.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to qtubuntu in Ubuntu.
https://bugs.launchpad.net/bugs/1537782

Title:
  Modifier ignored when pressing a key if TextInput has active focus

Status in Canonical System Image:
  Triaged
Status in qtubuntu package in Ubuntu:
  Confirmed

Bug description:
  On a phone with a bluetooth keyboard connected, with the following
  standalone example, if I press Ctrl+T I expect the message "Ctrl+T
  pressed" to be printed on the console, but instead the Ctrl key is
  ignored and "t" is inserted in the text field.

  import QtQuick 2.4
  Item {
    TextInput {
      anchors.centerIn: parent
      width: parent.width - 20
      height: 100
      Component.onCompleted: forceActiveFocus()
    }
    Keys.onPressed: {
      console.log("key pressed:", event.key, event.modifiers)
      if (event.key == Qt.Key_T && event.modifiers == Qt.ControlModifier) {
        console.log("Ctrl+T pressed")
        event.accepted = true
      }
    }
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1537782/+subscriptions


References