Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QGestureManager::deliverEvent: could not find the target for gesture
Qt 6.11 is out! See what's new in the release blog

QGestureManager::deliverEvent: could not find the target for gesture

Scheduled Pinned Locked Moved Solved General and Desktop
3 Posts 1 Posters 1.6k 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.
  • X Offline
    X Offline
    xiaoQ
    wrote on last edited by xiaoQ
    #1

    Hi guys:

    I am using QT5.6.1 + qtwayland5.6.1 + weston-1.11.0 + libinput-1.4.1 + touchscreen on NXP imx6, wayland rootfs, the original weston display resolution is 1280x720, I changed the weston to rotate 270 degree to adapt the 720x1280 LCD(set "transform=270" in weston.ini file). Now the display is corrent on the 720x1280 LCD, however, the gesture have some problem:
    when touch the up area of touchscreen(720x720) with two fingers, the gesture can be caught by QT, when touch the bottom area of touch screen(720x560, 560 means 1280-720) with two fingers, the warning message "QGestureManager::deliverEvent: could not find the target for gesture" shows up, and the gesture is ignored by QT.
    What is reason here? How Can I caught the bottom area gesture? Is there any settings for input devices to solve this issue?

    Thank you in advance.
    BR
    XiaoQ

    1 Reply Last reply
    0
    • X Offline
      X Offline
      xiaoQ
      wrote on last edited by
      #3

      Hi guys,

      Finally, I found out the reason, this maybe a bug in QT wayland or weston.

      (1) Here is why the warning message prompt:
      alt text

      The gesture point is judged outside the screen, then the target is 0, then the warning message prompt.

      (2) Here is how the screen geometry is set:
      alt text

      The value is get from the framebuffer attribute. When qtwayland do rotation in QWaylandScreen::output_done(), it does not swap the width and height, the resolution read from FB is 1280x720, when rotate 270 degree, the width and height should be 720x1280, however, qtwayland does not change the width and height. Which cause the QTbase query a 1280x720 screen resolution, it is different from the touchscreen 720x1280. This cause the warning message when catch gesture on the bottom of touchscreen.

      (3)Resolution:
      When rotate 270 degree in QT wayland, swap the width and height of mGeometry,this make the QT query a 720x1280 resolution of the screen,
      This is same as the touchscreen 1280x720.

      Thus, the botton part gesture is caught and report to QT application, this modification will not affect the 1280x720 screen, it does not transform in westom.

      Code modification:
      alt text

      BR
      XiaoQ

      1 Reply Last reply
      0
      • X Offline
        X Offline
        xiaoQ
        wrote on last edited by
        #2

        Hi , guys,

        I add some reference info:
        We also have a board with 1280x720 LCD, on this board, I do not set "transform=270" in weston.ini file, this means no rotation for weston output, then the gesture can be caught by QT all the screen, ie on the area 1280x720.

        I think this issue is caused by some settings for input device rotation, maybe input device rotation is not adjust with the output device?

        Can anyone give some advice?

        Thank you.

        BR
        XiaoQ

        1 Reply Last reply
        0
        • X Offline
          X Offline
          xiaoQ
          wrote on last edited by
          #3

          Hi guys,

          Finally, I found out the reason, this maybe a bug in QT wayland or weston.

          (1) Here is why the warning message prompt:
          alt text

          The gesture point is judged outside the screen, then the target is 0, then the warning message prompt.

          (2) Here is how the screen geometry is set:
          alt text

          The value is get from the framebuffer attribute. When qtwayland do rotation in QWaylandScreen::output_done(), it does not swap the width and height, the resolution read from FB is 1280x720, when rotate 270 degree, the width and height should be 720x1280, however, qtwayland does not change the width and height. Which cause the QTbase query a 1280x720 screen resolution, it is different from the touchscreen 720x1280. This cause the warning message when catch gesture on the bottom of touchscreen.

          (3)Resolution:
          When rotate 270 degree in QT wayland, swap the width and height of mGeometry,this make the QT query a 720x1280 resolution of the screen,
          This is same as the touchscreen 1280x720.

          Thus, the botton part gesture is caught and report to QT application, this modification will not affect the 1280x720 screen, it does not transform in westom.

          Code modification:
          alt text

          BR
          XiaoQ

          1 Reply Last reply
          0

          • Login

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