Revert "tidy drawlock use"
This is a bug in the upstream 9front code, a fix is in the works
but best not to diverge.
gui-wl: track Kalt state
In order to 'cancel' alt key input, we need to send a alt
when the keyboard leaves. To do this we need to track the alt
state ourselves.
This also fixes ctrl-\ used by ktrans.
wayland: release pointer/keyboard on seat capabilities change
gui-wl: grab monitor size from compositor
Instead of harcoding at 1080p, just grab the largest connected
output and use that as the pool size. This allows us to be
a bit more stingy on reallocing.
tidy drawlock use
We need to be careful about doing lock transitions,
it's easier to just maintain the lock and call functions
with the locks held.
Make.linux: add -Wno-parentheses (shut up, gcc)
gui-wl: dont bind more then one seat
We dont currently have any logic for handling multiseat, so we should
avoid binding more then one seat. This locks us to the first seat, which is
often the default. This also moves the data managers binding over to the
seat binding, these managers are scoped per seat so our binding logic
should reflect that.
wayland: clean up, copy less and remove locking on frame done callback (a bit faster redrawing)
wayland: add Kmod4 support
wayland: reset key mod state when leaving the window, do not repeat key mods (fixes Shift+Mouse)
pipewire: set node name to "drawterm"
wayland: simplify pointer axis handler
wayland: simplify mouse button handler
wayland: keep the same pointer surface, but mark it dirty to redraw properly
wayland: always handle new pointer position on "enter" and set set the cursor image
gui-wl: lock redraw in "done" callback now that the things are placed correctly
gui-wl: mark surface damaged only in areas that changed
gui-wl: do not hold the lock, otherwise compositor locks up for the duration of the redraw