Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drag and drop broken in VM with absolute positioned pointer device #20

Open
phw opened this issue Sep 7, 2020 · 10 comments
Open

Drag and drop broken in VM with absolute positioned pointer device #20

phw opened this issue Sep 7, 2020 · 10 comments

Comments

@phw
Copy link
Contributor

phw commented Sep 7, 2020

I noticed that since a recent release drag and drop inside applications is not working. You cannot initiate a drag from widgets supporting this (e.g. from a tree widget). I experienced this with both Picard and Clementine.

Droping from outside the applications (e.g. from file browser) works.

I can't say exactly when this broke

@threedeyes
Copy link
Owner

Drop implemented only for now, sorry.
Drag from Qt apps not implemented in QPA plugin.

@phw
Copy link
Contributor Author

phw commented Sep 7, 2020

Strange, I was under the impression it worked at some point, at least inside the same application. But probably I never really tried it and I just was under the impression that dragging inside the same Qt application would not require much platform specific code ;)

What would be necessary to implement drag?

@threedeyes
Copy link
Owner

You right. Drag inside app works. It's base functional.
Drag to outside app not implemented only.

@phw
Copy link
Contributor Author

phw commented Sep 7, 2020

Drag inside app works. It's base functional.

Ok, so my bug report is only about drag inside app not working currently.

@threedeyes
Copy link
Owner

Hm. How i can reproduce it?
I try drag files inside picard and works fine.

@phw
Copy link
Contributor Author

phw commented Sep 10, 2020

Sorry for the delay, my Haiku time is a bit limited at the moment.

Regarding the issue it is really strange. Actually everything that involves pressing the mouse button and dragging does not work in Qt5 apps for me. This e.g. also includes text selection with the mouse, this works in no Qt5 app. E.g. also KWrite. It works fine in apps using the Haiku UI, e.g. Koder. I tested with Picard, KWrite, Otter, Clementine.

About Haiku shows I'm on hrev54549, and all packages are up to date. These are the Qt5 packages I have installed (currently version 5.15.0-3):

S       qca                      Qt Cryptographic Architecture                                                       
S       qt5                      A comprehensive C++ application development framework                               
S       qt5_devel                A comprehensive C++ application development framework (development files)           
S       qthaikuplugins           Haiku platform plugins for Qt5                                                      
S       qtwebkit                 WebKit rendering library for the Qt5 framework                                      
S       qtwebkit_devel           WebKit rendering library for the Qt5 framework (development files)

I'm running Haiku inside Virtual box, I wonder if it could be a hardware issue then? But then I would assume also broken behavior for native Haiku UI. The mouse dragging definitely worked a while back also in Qt apps. Could something else interfere?

@phw
Copy link
Contributor Author

phw commented Sep 10, 2020

I'm running Haiku inside Virtual box, I wonder if it could be a hardware issue then?

Here we go, it is indeed somehow Virtualbox related: I had configured Virtualbox to provide a USB tablet as pointer device, because this worked better for mouse handling in Haiku in the past. If I do this I see two pointer devices in Haiku's input preferences: "Extended PS/2 Mouse 1" and "USB Tablet 1". This setup breaks the Qt5 drag and drop.

If I change Virtualbox to provide a PS/2 mouse instead, then Haiku only has a single pointer device ""Extended PS/2 Mouse 1". And then Qt5 drag and drop works as expected.

Now the question: Is this a bug either in Qt5 (or even in Haiku) which makes it misbehave if there is more than one pointer device or maybe USB Tablet in general? Or is this something that broke in Virtualbox?

@threedeyes
Copy link
Owner

I would test it, but unfortunately I don't have VirtualBox. Haiku is my main and only system on my PC.
I have more than one pointer devices (usb mouse and wacom tablet) and drag works fine.

@phw
Copy link
Contributor Author

phw commented Mar 29, 2021

@threedeyes More data for this. I am now using QEMU instead of VirtualBox. Drag and drop inside Qt5 app (Picard) works if I use a virtual PS/2 mouse. Unfortunately mouse movement in Haiku with this setting is very erratic, so I'd want to use QEMU's usb-tablet device instead, which is a "Pointer device that uses absolute coordinates (like a touchscreen)". This is what I have set in my QEMU XML config for the machine:

<input type="tablet" bus="usb">
    <address type="usb" bus="0" port="6"/>
</input>

Using this absolute positioned device now breaks Qt drag and drop again (same behavior as on VirtualBox).

@phw phw changed the title Drag and drop broken Drag and drop broken in VM with absolute positioned pointer device Dec 20, 2021
@ghost
Copy link

ghost commented Jun 5, 2022

I have more than one pointer devices (usb mouse and wacom tablet) and drag works fine.

For me dragging works correctly with my trackball in qt apps but it does not work with my wacom tablet. This is also a native installation.
For example in Quaternion splitters can be resized with the mouse but not with the tablet pen. (I don't know about touch with the tablet, it is not support on Haiku currently)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants