-
Notifications
You must be signed in to change notification settings - Fork 124
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
Wayland Roadmap #196
Comments
This project is probably dead and Wayland killed it. There is no feasible why to support non-retaliative mouse movement in a compositor agnostic way. I naively though that if I could obtain the current pointer position I could calculate the subsequent position based on the relative movement. Unfortunately, that isn't possible due to acceleration and scaling applied at the compositor level. The only way to continue development would be to target each compositor individually which would require porting this library to C++ causing even more issues for everyone using it. You might be asking yourself: "But what about XQueryPointer?" After all, Wayland supports most of the X11 API right? Well, it doesn't work properly in my tests. Take the following basic C program and build it with
It doesn't matter where I move the mouse, I always get |
It looks like Wayland is now the default option on several distributions and supporting it is becoming more of a priority. There are still a number of features missing from the Wayland ecosystem and fragmentation is going to be a real problem for any software trying to support multiple compositors. Getting this library to work with Wayland is going to require a combination of runtime dependency loading, XDG Portals and cutting features that aren't available. I have created this bug to track the progress of the outstanding issues. Please add any information or ideas you may have to this ticket.
Support Added
Support was added using wl_output_interface provided by Wayland. This provides enough information to satisfy this requirement.
Gnome/GTK Supportgdbus call -e -d org.gnome.Mutter.DisplayConfig -o /org/gnome/Mutter/DisplayConfig -m org.gnome.Mutter.DisplayConfig.GetCurrentState
We need to use something like glib g_variant_get() https://github.com/fzwoch/obs-gnome-screencast/blob/master/gnome-mutter-screencast.c#L90 to pare this information.Plasma/QT SupportUnknownX11
Continue to use XRandr / Xinerama but change the code to use dlsym and convert from a compile time dependency to a runtime dependency.
Other CompositorUnknown, we may need to cut this feature unless we can use XDG Portal to acquire monitor info.Gnome/GTK Support
Unknown
Plasma/QT Support
Unknown
X11
Continue to use XkbGetAutoRepeatRate / XF86MiscGetKbdSettings but change the code to use dlsym and convert from a compile time dependency to a runtime dependency.
Other Compositor
Unknown. As it currently stands, this feature will likely be removed from all platforms.
Gnome/GTK Support
Unknown
Plasma/QT Support
Unknown
X11
Continue to use XkbGetAutoRepeatRate / XF86MiscGetKbdSettings but change the code to use dlsym and convert from a compile time dependency to a runtime dependency.
Other Compositor
Unknown. As it currently stands, this feature will likely be removed from all platforms.
Gnome/GTK Support
Unknown
Plasma/QT Support
Unknown
X11
Continue to use XGetPointerControl but change the code to use dlsym and convert from a compile time dependency to a runtime dependency.
Other Compositor
Unknown. As it currently stands, this feature will likely be removed from all platforms.
Gnome/GTK Support
Unknown
Plasma/QT Support
Unknown
X11
Continue to use XGetPointerControl but change the code to use dlsym and convert from a compile time dependency to a runtime dependency.
Other Compositor
Unknown. As it currently stands, this feature will likely be removed from all platforms.
Gnome/GTK Support
Unknown
Plasma/QT Support
Unknown
X11
Continue to use XGetPointerControl but change the code to use dlsym and convert from a compile time dependency to a runtime dependency.
Other Compositor
Unknown. As it currently stands, this feature will likely be removed from all platforms.
Gnome/GTK Support
Bus Name: org.freedesktop.portal.Desktop
Object Path: /org/freedesktop/portal/desktop
Interface: org.freedesktop.portal.Settings
Read("org.gnome.settings-daemon.peripherals.mouse", "double-click")
Plasma/QT Support
Unknown
X11
Continue to use XtGetMultiClickTime / XGetDefault but change the code to use dlsym and convert from a compile time dependency to a runtime dependency.
Other Compositor
Unknown. This is kind of a critical feature for tracking click count for mouse events. If we cant find a solution to this problem, we will have to drop the click count tracking from events.
The text was updated successfully, but these errors were encountered: