Geoffrey McRae
6f99280fe3
[client] fix the warp logic to account for still pending warps to finish
...
As X11 is a server/client protocol, issuing commands such as
XWarpPointer do not happen immediately, as such we need to identify when
the warp is complete to know to null out the movement. To do this we
track each warp issued and look for it's completion in the event filter.
As some events come in via XInput2 we need to also make use of this
instead of just relying on MotionNotify, as such the support has been
implemented for XI_Motion events.
2021-01-05 11:47:17 +11:00
Geoffrey McRae
25d370ef22
[client] move new scaling variables into the CursorState struct
2021-01-05 09:48:30 +11:00
Quantum
a172d79f66
spice: scale mouse input based on host DPI information
2021-01-05 09:03:29 +11:00
Geoffrey McRae
8fd08cdd79
[client] spice: add option to ignore the windows key
...
If active this will prevent the client from sending keyboard events for
the windows key. The idea is to allow people to keep the windows key
bound to their WMs default action without causing the Windows start menu
to open
2021-01-04 18:22:39 +11:00
Geoffrey McRae
33b117e732
[client] spice: add new keybinds <ScrLck>+<LWin>, <ScrLck>+<RWin>
2021-01-04 18:07:09 +11:00
Geoffrey McRae
3b0a98ede2
[client] spice: use xlib directly for warping
...
This change allows us to look for and filter out the warp completion
event as we can obtain and use the serial number of the warp request to
do so. This is far more elegant then the x/y match that we were doing
prior.
2021-01-04 15:40:23 +11:00
Geoffrey McRae
1195a76368
[client] video: ensure that the renderer is always updated on resize
2021-01-04 13:40:03 +11:00
Geoffrey McRae
2bc767430c
[client] spice: be more aggressive with window warp for high DPI mice
2021-01-04 12:59:14 +11:00
Geoffrey McRae
f7d7fbdb73
[client] rename state
to g_state
2021-01-04 12:06:54 +11:00
Geoffrey McRae
6878eee40a
[client] refactor cursor variables into their own global struct
2021-01-04 12:04:43 +11:00
Geoffrey McRae
5323d9833a
[client] spice: fix mouse warp on window focus
2021-01-03 22:59:23 +11:00
Geoffrey McRae
c0a3b85580
[client] spice: don't disable warp when the future cursor pos is invalid
2020-12-04 17:32:28 +11:00
Geoffrey McRae
c5befbba0e
[client] spice: don't scale mouse if it's 1:1
2020-12-04 00:50:27 +11:00
Geoffrey McRae
3df23d6b73
[client] reworked the mouse tracking logic
2020-12-04 00:32:28 +11:00
Geoffrey McRae
e57f084c93
[client] added streaming clipboard support for large transfers
2020-12-03 12:01:51 +11:00
Geoffrey McRae
bbcaaccdcc
[client] added new option input:grabKeyboardOnFocus
2020-11-29 07:12:19 +11:00
jonpas
db51acdd8a
[client] add option to always show cursor
2020-11-16 06:48:57 +11:00
Geoffrey McRae
ed95f8863d
[client] fix divide by zero fault with fpsMin disabled (set to 0)
2020-11-08 10:58:18 +11:00
Geoffrey McRae
4f9544d61d
[client] egl: added DMA texture support for direct upload
...
Note: This only works with the KVMFR kernel module in a VM->VM
configuration. If this causes issues it can be disabled with the new
option `app:allowDMA`
2020-10-30 02:36:45 +11:00
Ali Abdel-Qader
3284431785
change 'frameCount' to be atomic
2020-10-29 13:46:14 +11:00
Geoffrey McRae
757a90a643
[client] add new keybind to toggle the video stream (ScrLck+V)
2020-10-14 19:32:21 +11:00
Geoffrey McRae
46df25bb80
[client] added new option win:dontUpscale
2020-10-12 23:27:33 +11:00
Jonathan Rubenstein
66df00cee2
Add option to skip splash screen fade out
2020-10-09 03:28:58 +11:00
Geoffrey McRae
6927dbecd2
[client] added new input:mouseRedraw option
...
This new option, when enabled (the default) enables cursor movements to
trigger frame updates in the client, improving responsiveness at the
cost of increased FPS while the mouse is moving around.
2020-08-20 15:50:33 +10:00
Geoffrey McRae
5c912e3c27
[client] spice: improve mouse syncronization with the host
2020-08-20 14:52:24 +10:00
Geoffrey McRae
7e362050f7
[all] update KVMFR to provide cursor hotspot information
...
This commit bumps the KVMFR protocol version as it adds additional
hotspot x & y fields to the KVMFRCursor struct. This corrects the issue
of invalid alignment of the local mouse when the shape has an offset
such as the 'I' beam.
2020-08-20 13:51:01 +10:00
Geoffrey McRae
e3f97e384b
[client] rework the start/restart logic to use an enum
2020-08-11 15:14:58 +10:00
Geoffrey McRae
74649ddb96
[client] gracefully restart if the host application restarts
2020-08-11 14:30:44 +10:00
Geoffrey McRae
302b988524
[client] use atomics to track frame counts and avoid extra signals
2020-08-09 15:14:17 +10:00
Samuel Bowman
bd42445ea7
[client] add option to capture input on start
2020-07-17 08:39:32 +10:00
Geoffrey McRae
dedab38b99
[client] rename fpsLimit
to fpsMin
2020-05-22 18:15:17 +10:00
feltcat
e3cbdd18a0
[client] add quit keybind
2020-04-23 17:57:58 +10:00
Geoffrey McRae
e554635e48
[spice] turn on TCP_QUICKACK
...
https://assets.extrahop.com/whitepapers/TCP-Optimization-Guide-by-ExtraHop.pdf
2020-01-11 16:03:28 +11:00
Geoffrey McRae
13f55011c0
[client] don't draw the cursor if it leaves the frame
2020-01-11 12:56:46 +11:00
Geoffrey McRae
05dc713dac
[client] more cursor tweaks for better integration with the WM
2020-01-11 06:03:16 +11:00
Geoffrey McRae
80f3c7934a
[client] more cursor tweaks and some cleanup
2020-01-11 05:22:12 +11:00
Geoffrey McRae
5b163063c3
[client] improved sync with guest cursor position
2020-01-11 03:41:44 +11:00
Geoffrey McRae
bea7c94cae
[client/c-host] updated to use new LGMP naming conventions
2020-01-10 11:01:35 +11:00
Geoffrey McRae
2d755a45e0
[client] added support for LGMP
2020-01-09 20:32:42 +11:00
Geoffrey McRae
45ee79014d
[common] added back support for shared memory files
2020-01-06 00:20:30 +11:00
Geoffrey McRae
49bf115c84
[client] fix issue with windowmanager forcing the window size (i3wm)
2020-01-03 16:51:24 +11:00
Geoffrey McRae
2196516e2b
[client] added new win:forceAspect
option
...
Fixes #225
2020-01-03 15:53:44 +11:00
Geoffrey McRae
4345d94d68
[client] update client to use the common ivshmem* methods
2020-01-03 15:17:14 +11:00
Geoffrey McRae
ba31c78412
[client] switch from SDL_Thread to lgThread
2020-01-02 23:59:06 +11:00
Geoffrey McRae
e93bd7a3bf
[client] fix shutdown race condition with the frame thread
2019-08-30 11:54:26 +10:00
Rokas Kupstys
745ba66119
Implement option to disable minimizing window on focus loss. Default behavior is not changed - not configuring these options unfocused window is minimized.
...
* Added config entry win:minimizeOnFocusLoss (default true).
2019-07-09 21:57:47 +10:00
Geoffrey McRae
dd7413f973
[client] added keybinds to send Ctrl+Alt+Fn
...
Fixes #165
2019-05-31 16:39:55 +10:00
Jonathan (JJRcop) Rubenstein
d07aa4b29e
[client] Add win:maximize to maximize on startup
2019-05-26 20:47:59 +10:00
Geoffrey McRae
437ebf6265
[client] main: new feature to increase/decrease mouse sensitivity
2019-05-24 05:29:38 +10:00
Geoffrey McRae
84b2917706
[client] app: new options to reduce CPU usage
...
This patch increases the default cursor and frame polling interval from
1us to 1000us which for most use cases should be more then fast enough.
It also adds two new configuration options to adjust these should it be
required:
* app:cursorPollInterval
* app:framePollInterval
2019-05-22 12:00:06 +10:00