Geoffrey McRae
837858c214
[client] prevent lgInit
from resetting the run state
...
If the renderer fails to start it sets the run state to stopped, having
lgInit where it was causes this to be reset to running triggering
invalid usage of g_state.lgmp.
2021-01-25 15:25:52 +11:00
Tudor Brindus
941c651fad
[client] unconditionally quit on second SIGINT
...
Under some circumstances, Looking Glass can hang when SIGINT'd, for
instance, if it's stuck waiting on spice I/O that won't complete because
the guest is misbehaving.
This commit provides an escape hatch for such cases, so one doesn't have
to reach for `kill -9 $(pidof looking-glass-client)`.
2021-01-25 09:39:35 +11:00
Geoffrey McRae
185c7764ba
[client] spice: always show the pointer if using input:captureOnly
2021-01-21 17:36:22 +11:00
Geoffrey McRae
4113294d30
[client] spice: fix failure to ungrab the kb with captureOnly
2021-01-21 17:32:44 +11:00
Geoffrey McRae
aa92a7a90d
[client] app: fix error: ‘dataSize’ may be used uninitialized
(take 2)
2021-01-21 17:25:53 +11:00
Geoffrey McRae
c83243f22c
[client] app: fix error: ‘dataSize’ may be used uninitialized
2021-01-21 17:21:24 +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
dcd0cb7d8e
[client] spice: release the mouse if the host stops
2021-01-21 15:39:15 +11:00
Geoffrey McRae
29ea8ecf6b
[client] app: if spice is not in use, hide the local cursor ( fixes #415 )
2021-01-21 14:17:31 +11:00
Geoffrey McRae
afb0146d33
[client] sdl: move SDL specific screensaver inhibit out of main.c
2021-01-21 14:03:05 +11:00
Quantum
3385438095
[client] wm: use correct logic for screensaver inhibition
...
Namely, we should inhibitIdle if noScreensaver is true, not the other way
around.
2021-01-21 12:14:38 +11:00
Quantum
6077dcc123
[client] spice/wayland: fix jitter when moving the cursor slowly
...
It does not make sense to accumulate fractional error in non-capture mode
as you know exactly where the cursor is supposed to be, at least on Wayland.
On Wayland, we base movements on the current guest position and desired
target position, and the accumulated errors only skew our movements.
2021-01-20 22:54:08 +11:00
Geoffrey McRae
e758f88519
[client] spice: fix failure to align and grab the pointer
2021-01-20 22:45:48 +11:00
Geoffrey McRae
3bccd9c45e
[client] spice: input:captureOnly shouldn't capture the pointer at start
2021-01-20 22:16:03 +11:00
Geoffrey McRae
947ba9bfe3
[client] spice: fix input:captureOnly support
2021-01-20 22:12:39 +11:00
Geoffrey McRae
8fa2b5f368
[client] config: make the help text for winRotate more descriptive
2021-01-20 15:35:13 +11:00
Geoffrey McRae
d1043e590a
[client] x11: register for absolute motion events while grabbed
2021-01-20 05:51:18 +11:00
Geoffrey McRae
f883c630f6
[client] spice: set inView false if the focus is lost
...
Failure to do this results in loss of input on X11 as we need to be sure
the cursor is ungrabbed.
2021-01-20 05:07:55 +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
da65c47245
[client] spice: fix transposed cursor scale calculations
2021-01-20 04:53:43 +11:00
Xiretza
31ea93dd0d
[client] Fix compiler warnings about potentially uninitialized variables
...
Build failed with _FORTIFY_SOURCE enabled because the compiler couldn't
ensure the switch statements didn't hit the default arm and thus wouldn't
define the variables. Adding a statically failing assert makes sure that
all code paths either define the variables or fail early.
$ cd client
$ env CFLAGS='-O1 -D_FORTIFY_SOURCE=1' cmake -B build/
$ make -C build
[...]
client/renderers/EGL/egl.c: In function ‘egl_calc_mouse_size’:
client/renderers/EGL/egl.c:299:36: error: ‘h’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
299 | (this->mouseHeight * (1.0f / h)) * this->scaleY
| ~~~~~~^~~~
2021-01-20 03:05:30 +11:00
Geoffrey McRae
6d162cf92d
[client] spice: remove useless check, the displayserver should do this
2021-01-20 01:34:52 +11:00
Geoffrey McRae
8f07744c98
[client] don't hide the cursor unconditionally at startup
2021-01-20 01:27:38 +11:00
Geoffrey McRae
dacc573650
[client] spice: align the guest pointer to local when entering the view
2021-01-20 01:24:31 +11:00
Geoffrey McRae
8e604667f9
[client] fix regression causing failure to warp when exiting the window
2021-01-20 00:52:33 +11:00
Geoffrey McRae
3774d2bfe9
[client] realign the pointer when input is re-enabled
2021-01-20 00:30:04 +11:00
Geoffrey McRae
31eafee468
[client] always show the cursor when not using spice ( fixes #409 )
2021-01-20 00:28:27 +11:00
Geoffrey McRae
2bfcfa36df
[client] all: fix regression with input disable toggle
2021-01-20 00:23:24 +11:00
Geoffrey McRae
b87004c597
[client] app: ignore resize events that don't change the size
2021-01-19 20:15:12 +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
6005006dd4
[client] dont show the pointer at launch unless it really should be
2021-01-19 06:00:59 +11:00
Geoffrey McRae
b2ac2980d5
[client] don't attempt to align to the guest with invalid pos data
2021-01-19 05:56:40 +11:00
Geoffrey McRae
1da24af6ee
[client] mouse: do not warp the cursor if it's outside the window
2021-01-19 05:38:25 +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
dfe327301d
[client] spice: do not allow the inView to be set if mouse buttons held
...
When using the meta resize feautre the cursor is over the client window,
and as such the application continues to receive motion events. This
causes the window size to spaz out.
2021-01-19 04:40:31 +11:00
Geoffrey McRae
083deff489
[client] add keybind <ScrollLock+R> to rotate the display at runtime
2021-01-19 03:49:09 +11:00
Geoffrey McRae
0451ec237e
[client] spice: add not subtract to the rotation
2021-01-19 03:44:36 +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
Geoffrey McRae
8a1578230f
[client] all: properly support guest rotation
...
If the guest has it's output rotated (ie, landscape) we must rotate and
translate the pointer draw location, as well as all the translations of
cursor coordinate spaces based on the rotation, along with any local
rotations that may also be applied.
2021-01-19 02:54:56 +11:00
Geoffrey McRae
733bbf5153
[client] app: rename up,right,down,left rotation to 0,90,180,270
2021-01-19 02:53:47 +11:00
Tudor Brindus
04908c3290
[client] add a uapi to PS/2 scancode table
...
This table was codegen'd from uapi/linux/input-event-codes.h and SDL's
events/scancodes_linux.h.
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
7c9b273f70
[client] app: add and expose app_handleKeyPress and app_handleKeyRelease
2021-01-19 02:49:51 +11:00
Geoffrey McRae
7355c196ba
[client] remove YUV420 support
2021-01-18 13:56:44 +11:00
Quantum
d77da1ffc7
[client] wayland: clip desired guest cursor position
...
This avoids putting internal coordinates out of screen and causing cursor
spasms while dragging beyond the edge.
2021-01-17 16:31:33 +11:00
Geoffrey McRae
d22124519e
[client] mouse: dont leave the window if any mouse buttons are held
2021-01-17 15:13:45 +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
e106f2096b
[client] app: add and expose new app_handleButtonPress/Release methods
2021-01-17 14:23:51 +11:00
Geoffrey McRae
570abeda52
[client] app: move SDL window event handing out of main.c
2021-01-17 13:42:52 +11:00