Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. QTVirtualKeyboard not appearing on embedded application (QT5)
QtWS25 Last Chance

QTVirtualKeyboard not appearing on embedded application (QT5)

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
embedded qtyoctovirtualkeyboardtouchscreentouch issue
4 Posts 2 Posters 688 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Medievil
    wrote on 8 Apr 2024, 09:19 last edited by Medievil 4 Aug 2024, 09:23
    #1

    Hi everyone,

    I'd like to address an issue I've been encountering while working with an embedded application built using Yocto from the Kirkstone branch. Hopefully, someone can assist me or share their insights on this matter.

    My problem is that the QTVirtualKeyboard does not appear when I touch a text field using a touchscreen. Although touch functionality works, multitouch, and gestures are also supported, but the keyboard doesn't display at all. While debugging, I noticed that the application doesn't set the appropriate focusObject.

    Interestingly, when I connect a mouse and click on the text field, the virtual keyboard appears. After such an action, the keyboard also shows up when I use the touchscreen.

    My application runs on the XCB platform and utilizes X11, with libinput as the touchscreen driver.

    I would greatly appreciate any suggestions or tips on how to resolve this issue and configure the application to display the virtual keyboard correctly when using the touchscreen.

    touchscreen click logs

    qt.virtualkeyboard: QVirtualKeyboardInputContextPrivate::registerInputPanel(): InputPanel_QMLTYPE_11_QML_60(0x14f17b0)
    qt.virtualkeyboard: QVirtualKeyboardInputContextPrivate::setLocale(): "en_GB"
    qt.virtualkeyboard: PlatformInputContext::setLocale(): QLocale(English, Latin, United Kingdom)
    qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImInputItemClipRectangle)
    qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImInputItemClipRectangle)
    qt.virtualkeyboard: PlatformInputContext::setFocusObject(): QQuickRootItem(0x13f9380)
    qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImQueryAll)
    
    

    mouse click logs

    qt.virtualkeyboard: QVirtualKeyboardInputContextPrivate::registerInputPanel(): InputPanel_QMLTYPE_19_QML_60(0xb5e9a0)
    qt.virtualkeyboard: QVirtualKeyboardInputContextPrivate::setLocale(): "en_GB"
    qt.virtualkeyboard: PlatformInputContext::setLocale(): QLocale(English, Latin, United Kingdom)
    qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImInputItemClipRectangle)
    qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImInputItemClipRectangle)
    qt.virtualkeyboard: PlatformInputContext::setFocusObject(): QQuickRootItem(0xa2db10)
    qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImQueryAll)
    qt.virtualkeyboard: PlatformInputContext::commit()
    qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImInputItemClipRectangle)
    qt.virtualkeyboard: PlatformInputContext::showInputPanel()
    qt.virtualkeyboard: PlatformInputContext::setFocusObject(): TextArea_QMLTYPE_12(0xb12850)
    qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImQueryAll)
    qt.virtualkeyboard: QVirtualKeyboardInputContextPrivate::setFocus(): true
    qt.virtualkeyboard: QVirtualKeyboardInputEngine::setInputMethod(): QtVirtualKeyboard::PlainInputMethod(0xb8bc20)
    qt.virtualkeyboard: QVirtualKeyboardInputEngine::inputModesChanged(): QList(QVirtualKeyboardInputEngine::InputMode::Latin, QVirtualKeyboardInputEngine::InputMode::Numeric)
    qt.virtualkeyboard: QVirtualKeyboardInputEngine::setInputMode(): QVirtualKeyboardInputEngine::InputMode::Latin
    qt.virtualkeyboard: QVirtualKeyboardInputContext::setAnimating(): true
    qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImCurrentSelection)
    
    

    Debuging the function qt.virtualkeyboard: evaluateInputPanelVisible shows that m_focusObject is null with touch screen and inputMethodAccepted is false.

    Thank you in advance for any assistance!

    R 1 Reply Last reply 8 Apr 2024, 09:31
    0
    • M Medievil
      8 Apr 2024, 09:19

      Hi everyone,

      I'd like to address an issue I've been encountering while working with an embedded application built using Yocto from the Kirkstone branch. Hopefully, someone can assist me or share their insights on this matter.

      My problem is that the QTVirtualKeyboard does not appear when I touch a text field using a touchscreen. Although touch functionality works, multitouch, and gestures are also supported, but the keyboard doesn't display at all. While debugging, I noticed that the application doesn't set the appropriate focusObject.

      Interestingly, when I connect a mouse and click on the text field, the virtual keyboard appears. After such an action, the keyboard also shows up when I use the touchscreen.

      My application runs on the XCB platform and utilizes X11, with libinput as the touchscreen driver.

      I would greatly appreciate any suggestions or tips on how to resolve this issue and configure the application to display the virtual keyboard correctly when using the touchscreen.

      touchscreen click logs

      qt.virtualkeyboard: QVirtualKeyboardInputContextPrivate::registerInputPanel(): InputPanel_QMLTYPE_11_QML_60(0x14f17b0)
      qt.virtualkeyboard: QVirtualKeyboardInputContextPrivate::setLocale(): "en_GB"
      qt.virtualkeyboard: PlatformInputContext::setLocale(): QLocale(English, Latin, United Kingdom)
      qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImInputItemClipRectangle)
      qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImInputItemClipRectangle)
      qt.virtualkeyboard: PlatformInputContext::setFocusObject(): QQuickRootItem(0x13f9380)
      qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImQueryAll)
      
      

      mouse click logs

      qt.virtualkeyboard: QVirtualKeyboardInputContextPrivate::registerInputPanel(): InputPanel_QMLTYPE_19_QML_60(0xb5e9a0)
      qt.virtualkeyboard: QVirtualKeyboardInputContextPrivate::setLocale(): "en_GB"
      qt.virtualkeyboard: PlatformInputContext::setLocale(): QLocale(English, Latin, United Kingdom)
      qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImInputItemClipRectangle)
      qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImInputItemClipRectangle)
      qt.virtualkeyboard: PlatformInputContext::setFocusObject(): QQuickRootItem(0xa2db10)
      qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImQueryAll)
      qt.virtualkeyboard: PlatformInputContext::commit()
      qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImInputItemClipRectangle)
      qt.virtualkeyboard: PlatformInputContext::showInputPanel()
      qt.virtualkeyboard: PlatformInputContext::setFocusObject(): TextArea_QMLTYPE_12(0xb12850)
      qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImQueryAll)
      qt.virtualkeyboard: QVirtualKeyboardInputContextPrivate::setFocus(): true
      qt.virtualkeyboard: QVirtualKeyboardInputEngine::setInputMethod(): QtVirtualKeyboard::PlainInputMethod(0xb8bc20)
      qt.virtualkeyboard: QVirtualKeyboardInputEngine::inputModesChanged(): QList(QVirtualKeyboardInputEngine::InputMode::Latin, QVirtualKeyboardInputEngine::InputMode::Numeric)
      qt.virtualkeyboard: QVirtualKeyboardInputEngine::setInputMode(): QVirtualKeyboardInputEngine::InputMode::Latin
      qt.virtualkeyboard: QVirtualKeyboardInputContext::setAnimating(): true
      qt.virtualkeyboard: PlatformInputContext::update(): QFlags<Qt::InputMethodQuery>(ImCurrentSelection)
      
      

      Debuging the function qt.virtualkeyboard: evaluateInputPanelVisible shows that m_focusObject is null with touch screen and inputMethodAccepted is false.

      Thank you in advance for any assistance!

      R Offline
      R Offline
      Ronel_qtmaster
      wrote on 8 Apr 2024, 09:31 last edited by
      #2

      @Medievil Hi.i used dunfell branch instead, which is the most stable and my qt application is working well with virtual keyboard on xcb platform.Maybe you should also try with dunfell branch.

      M 1 Reply Last reply 8 Apr 2024, 11:18
      0
      • R Ronel_qtmaster
        8 Apr 2024, 09:31

        @Medievil Hi.i used dunfell branch instead, which is the most stable and my qt application is working well with virtual keyboard on xcb platform.Maybe you should also try with dunfell branch.

        M Offline
        M Offline
        Medievil
        wrote on 8 Apr 2024, 11:18 last edited by
        #3

        @Ronel_qtmaster Hi! Thanks for your suggestion. I might consider trying the dunfell branch, but it's worth mentioning that dunfell is gradually losing support. Or you ment to change only qt to dunfell?

        Additionally, could you please share if you made any modifications to the package configurations in qtbase, qtvirtualkeyboard, etc., during the Yocto configuration? Understanding any customizations you've applied could provide valuable insights into resolving similar issues.

        R 1 Reply Last reply 8 Apr 2024, 12:08
        0
        • M Medievil
          8 Apr 2024, 11:18

          @Ronel_qtmaster Hi! Thanks for your suggestion. I might consider trying the dunfell branch, but it's worth mentioning that dunfell is gradually losing support. Or you ment to change only qt to dunfell?

          Additionally, could you please share if you made any modifications to the package configurations in qtbase, qtvirtualkeyboard, etc., during the Yocto configuration? Understanding any customizations you've applied could provide valuable insights into resolving similar issues.

          R Offline
          R Offline
          Ronel_qtmaster
          wrote on 8 Apr 2024, 12:08 last edited by
          #4

          @Medievil As far as i know dunfell is the most stable branch.i used yocto from dunfell and meta-qt5 from dunfell.I did not make any modification to package configurations.Everything is working fine

          1 Reply Last reply
          0

          1/4

          8 Apr 2024, 09:19

          • Login

          • Login or register to search.
          1 out of 4
          • First post
            1/4
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved