Geoffrey McRae
17d423db06
[client] x11: handle window deletion properly
2021-02-21 10:31:48 +11:00
Geoffrey McRae
a00a6429d3
[client] app: fix spelling error
2021-02-21 10:31:48 +11:00
Geoffrey McRae
4e1c0cc0d0
[client] ds: refactor app and cursor state into app.c and core.c
2021-02-21 10:31:48 +11:00
Quantum
ecebcc4c35
[client] opengl: make ds functions optional
...
Using a macro ENABLE_OPENGL just like ENABLE_EGL to optionally remove
OpenGL implementation code. This is mostly because on Wayland it's just
a rehash of the EGL code (as EGL is the only way to create OpenGL
contexts on Wayland).
2021-02-21 10:31:48 +11:00
Geoffrey McRae
06af101bf9
[client] x11: properly handle window destruction and fullscreen support
2021-02-21 10:31:48 +11:00
Geoffrey McRae
973806dd9c
[client] opengl: implement & fix opengl support
2021-02-21 10:31:48 +11:00
Geoffrey McRae
740dad943b
[client] x11: cleanup on failure to initialize
2021-02-21 10:31:48 +11:00
Quantum
9f0b99dac0
[client] wayland: implement window creation for egl
...
This commit implements window creation and resize logic, allowing the desktop
to be drawn.
2021-02-21 10:31:48 +11:00
Geoffrey McRae
f4c1927f56
[client] ds: added new getFullscreen
operation
...
As the window manager may change our mode to full screen without our
request we must ask the ds backend for the current state when we want to
toggle the mode.
2021-02-21 10:31:48 +11:00
Geoffrey McRae
cfa9171465
[client] x11: don't report borders if in fullscreen mode
2021-02-21 10:31:48 +11:00
Geoffrey McRae
2eac3dcb56
[client] x11: implemented missing functionallity
2021-02-21 10:31:48 +11:00
Geoffrey McRae
ca5c3938e4
[client] all: move all SDL specific code into displayservers/sdl
2021-02-21 10:31:48 +11:00
Geoffrey McRae
9674421ce4
[client] x11: fix double initialization of event members
2021-02-21 10:31:48 +11:00
Geoffrey McRae
dbb18a6ecb
[client] x11/sdl: get the border dimensions from the backend
2021-02-21 10:31:48 +11:00
Geoffrey McRae
bf583290a4
[client/common] restructure project in prep for full SDL removal
2021-02-21 10:31:46 +11:00
Geoffrey McRae
8caf951c41
[client] x11: don't attempt to grab the pointer on window resize
2021-01-25 09:25:01 +11:00
Geoffrey McRae
ef54e1be7f
[client] x11: add error checking around XIGrabDevice
2021-01-25 06:52:23 +11:00
Geoffrey McRae
4c1893fe20
[all] fix numerous memory leaks at application shutdown
2021-01-24 21:47:53 +11:00
Geoffrey McRae
d6f39d66bf
[client] x11: xi
is now a required library for the x11
backend
2021-01-20 15:33:34 +11:00
Geoffrey McRae
ee8c883201
[client] x11: implement screensaver (un)inhibit
2021-01-20 15:24:10 +11:00
Geoffrey McRae
d1043e590a
[client] x11: register for absolute motion events while grabbed
2021-01-20 05:51:18 +11:00
Geoffrey McRae
5789a7efc0
[client] x11: fix failure to process the correct focus events
2021-01-20 05:41:33 +11:00
Geoffrey McRae
ac3333c0d2
[client] x11: switch to using XInput2 for all events and warp
...
On platforms like KDE, mixing X core events with XInput2 events causes
issues, so just switch entirely over to XInput2.
2021-01-20 04:53:43 +11:00
Geoffrey McRae
555891face
[client] x11: filter out grab/ungrab focus/leave events
2021-01-20 01:21:19 +11:00
Geoffrey McRae
2bfcfa36df
[client] all: fix regression with input disable toggle
2021-01-20 00:23:24 +11:00
Geoffrey McRae
0c8ce9daba
[client] x11: filter out duplicate button press events
2021-01-19 21:06:30 +11:00
Geoffrey McRae
c667322f25
[client] x11: cosmetic, rename device
to raw
for raw events
2021-01-19 20:47:25 +11:00
Geoffrey McRae
07c13a9d43
[client] x11: fix regression, raw event's dont give us the cursor pos
2021-01-19 20:46:12 +11:00
Geoffrey McRae
0bd1bb5075
[client] x11: removed left behind ifdef for XINPUT
2021-01-19 20:37:15 +11:00
Geoffrey McRae
f9faa0542b
[client] x11: use raw keyboard and mouse button press events
2021-01-19 20:36:43 +11:00
Quantum
2f11024db8
[client] displayserver: move screensaver handling into displayservers
...
This also makes Wayland idle inhibition respect noScreensaver setting.
2021-01-19 19:58:11 +11:00
Geoffrey McRae
16f88a5285
[client] x11: don't care if SDL has XInput support anymore
...
As the X11 code is all self contained now and can be disabled at
configure time there is no longer any need to check if SDL has X11
XInput support.
2021-01-19 05:30:25 +11:00
Geoffrey McRae
85ee6737d5
[client] x11: implement keyboard event handing via xinput
2021-01-19 05:01:19 +11:00
Geoffrey McRae
bab7eba7f0
[client] x11: prevent default mouse button/wheel handling by SDL
2021-01-17 14:38:31 +11:00
Geoffrey McRae
a1069ddffa
[client] x11: use XInput for button events if possible
2021-01-17 14:24:42 +11:00
Tudor Brindus
f1033fa4bb
[client] rename warpMouse to warpPointer
...
This is more truthful in what it does; the pointer may be backed by a
non-mouse device.
2021-01-17 10:19:22 +11:00
Tudor Brindus
56c80a15e6
[client] wayland: gracefully degrade when protocols are unsupported
...
zwp_relative_pointer_manager_v1 and zwp_pointer_constraints_v1 are
supported by GNOME/KDE/sway (and most other compositors), but they are
not a required part of the protocol.
Some users also run software in one-off nested compositors like cage[0]
for an extra layer of isolation; cage, at least, does not support
pointer captures.
This commit makes Looking Glass warn when an optional protocol is
unsupported, and fail if a required one is missing. Pointer grab paths
have a new guard against the aforementioned protocols being missing.
[0]: https://github.com/Hjdskes/cage
2021-01-17 10:19:22 +11:00
Geoffrey McRae
27a38294ea
[client] major restructure of platform specific code
2021-01-16 20:41:13 +11:00