Files
godot/platform/linuxbsd
Dery Almas 1e26d5ef7b Wayland: Track mouse enter/exit events globally
Unlike Godot, Wayland doesn't have the concept of a single "mouse".
Because of this, we could easily emit "mouse enter/exit" events in weird
ways by e.g. using the tablet while using the mouse. This became even
easier to break with the addition of touch support.

This patch does its best to avoid this by tracking a single "hovered
window" and emitting events based on that. This logic is split between
`WaylandThread` and `DisplayServerWayland`:

 * `WaylandThread` does all the "smart" tracking and makes sure that, as
long as there's *any* device pointing something, the hovered window will
be set to something. For example: if I have a pointer on a window and
quickly tap anything, the hover will switch to whatever is under the
pointer instead of getting unset once my finger lifts from the screen.

 * `DisplayServerWayland` actually applies the hover change. This is
tricky as window event dispatching has side effects and might even
delete windows or change the hover itself!
2026-05-01 10:29:55 +02:00
..
2026-04-14 12:51:58 +02:00
2025-10-10 04:31:14 -05:00

Linux/*BSD platform port

This folder contains the C++ code for the Linux/*BSD platform port.

See also misc/dist/linux folder for additional files used by this platform.

Documentation

Artwork license

logo.svg is derived from the Linux logo:

Permission to use and/or modify this image is granted provided you acknowledge me lewing@isc.tamu.edu and The GIMP if someone asks.