Quantum
265370b0f5
[client] wayland: implement cursor handling
...
This commit adds code to load the looking glass cursor and display it
when needed. Otherwise, the cursor is hidden.
2021-02-21 10:31:48 +11:00
Quantum
081d76268a
[client] wayland: handle mouse/keyboard enter events
...
This allows mouse and keyboard input to work again on Wayland.
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
6f4a116942
[client] ds: re-order as SDL is now the fallback
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
6b1e310343
[client] move remaining code in core.c
into the SDL 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
Quantum
25e74301be
[client] wayland: fix copying rich text into guest
...
Before this, copying rich text ends up with a lot of funky behaviour,
for example:
* copying text from Discord shows up as HTML unless pasted into a text
editor first
* copying text from Firefox shows up as the single letter h
This commit fixes all the above issues.
Due to the change in logic, we now use the first text format offered
instead of the last, which is almost certainly the preferred form.
Doing this gets us proper Unicode support, or Unicode characters would
end up as escapes of the form \uXXXX (this is used in the fallback
forms for applications without UTF-8 support).
2021-01-30 16:55:57 +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
Quantum
908aa84599
[client] wayland: use acceleration in capture mode unless rawMouse
...
We are forced to use accelerated movement in regular mode as that is how the
host machine cursor moves and we want the cursors to line up (since Wayland
cannot do warps). To avoid a change in sensitivity when toggling capture
mode on/off, we should use accelerated deltas for capture mode as well,
unless the user explicitly asks for raw input with input:rawMouse.
2021-01-23 20:18:20 +11:00
Geoffrey McRae
23e883f60f
Revert "[client] sdl: move SDL specific screensaver inhibit"
...
This reverts commit afb0146d33
.
Additional handling is required to implement this properly, postpone
this for Beta 4
2021-01-21 15:58:37 +11:00
Geoffrey McRae
afb0146d33
[client] sdl: move SDL specific screensaver inhibit out of main.c
2021-01-21 14:03:05 +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
Tudor Brindus
44a949f5c6
[client] wayland: inhibit idle while Looking Glass has keyboard focus
2021-01-19 07:03:50 +11:00
Tudor Brindus
bf5602b062
[cmake] wayland: build idle-inhibit-unstable-v1 header
2021-01-19 07:03:50 +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
d2458ff5d3
[client] retain backwards compatibillity for the capture keycode
...
This is an ugly hack for now that will get us over the line for Beta 3,
after which will need to be addressed and people will need to be
informed that their configured escape key will have changed.
2021-01-19 03:08:56 +11:00
Quantum
ff1dc32efe
[client] spice/wayland: fix capture mode relative movement
...
It appears that Wayland pointer motion handlers are called even when relative
mouse mode is enabled. The events they generate break first-person games.
This commit disables those handlers when relative mouse is enabled.
2021-01-19 02:50:24 +11:00
Tudor Brindus
3935acf8a5
[client] add a SDL2 to uapi scancode table
2021-01-19 02:49:51 +11:00
Tudor Brindus
7ae487057f
[client] wayland: implement key handling
2021-01-19 02:49:51 +11:00
Tudor Brindus
1f943fbbab
[client] use uapi keybindings internally
...
This commit moves SDL to uapi mapping to the SDL backend.
2021-01-19 02:49:51 +11:00
Tudor Brindus
36b70779b9
[client] app: move SDL key event handling out of main.c
2021-01-19 02:49:51 +11:00
Tudor Brindus
842bb59955
[client] wayland: do not fall back on SDL for scroll events
2021-01-17 17:58:32 +11:00
Tudor Brindus
e7132f757e
[client] wayland: do not fall back on SDL for button events
2021-01-17 17:03:24 +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
41a0cfe516
[client] app: move SDL mouse event handling out of main.c
2021-01-17 14:28:50 +11:00
Geoffrey McRae
a1069ddffa
[client] x11: use XInput for button events if possible
2021-01-17 14:24:42 +11:00
Geoffrey McRae
570abeda52
[client] app: move SDL window event handing out of main.c
2021-01-17 13:42:52 +11:00
Geoffrey McRae
e23d536af5
[client] mouse: correct issues with cursor alignment on enter/exit/focus
2021-01-17 12:53:55 +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