Cameron Gutman
af1dbfe505
Use APP_VERSION_AT_LEAST in a couple other places
2022-10-22 14:45:19 -05:00
Cameron Gutman
d247873ade
Add LiSendMouseMoveAsMousePositionEvent() function
...
This is a useful option for Android and iOS where mouse acceleration
is always enabled and mouse capture is the only feasible way to get
mouse input. It can avoid double-acceleration when being used for
remote desktop mouse mode.
2022-05-28 14:58:34 -05:00
Cameron Gutman
cfe75eb569
Add workaround for keyboard and UTF-8 events interfering with each other
2022-01-17 21:56:06 -06:00
Cameron Gutman
6001ece0b8
Fix uninitialized variable
2021-12-12 16:04:58 -06:00
Cameron Gutman
ac1355b922
Fix excessive high-res scroll speed on newer GFE versions
2021-12-12 12:05:20 -06:00
Cameron Gutman
257029f80d
Remove redundant packet length field
2021-12-10 02:00:42 -06:00
Cameron Gutman
94d439e5c3
Fix memory corruption with UTF-8 strings over 32 bytes
2021-11-30 19:05:32 +03:00
Cameron Gutman
6a6328a355
Send each Unicode code point individually to avoid straddling packet boundaries
2021-11-30 18:28:09 +03:00
Cameron Gutman
a290ec032b
Fix relative mouse and controller batching after 74377a06
2021-08-05 22:14:35 -05:00
Cameron Gutman
8cac195fcf
Fix compilation warnings
2021-07-30 01:32:43 -05:00
Cameron Gutman
f3e37944fc
Split UTF-8 strings into chunks small enough to fit in an NV_UNICODE_PACKET
2021-07-30 01:23:53 -05:00
Cameron Gutman
74377a061b
Rework input packets based on new header knowledge
2021-07-30 01:02:35 -05:00
Cameron Gutman
ceafe7897c
Refactor input packet sending logic into a separate function
2021-07-29 23:49:58 -05:00
Mariotaku
5846a9d6aa
Added unicode input event ( #63 )
...
* Added unicode input event
* Prevents strcpy overflow
* Updated according to change requests
2021-07-29 21:36:47 -05:00
Cameron Gutman
ac9c4e82ac
Introduce a list to cache freed input packet entries for reuse
2021-06-12 10:43:50 -05:00
Cameron Gutman
ed9301f3f8
Join the input thread without interrupting first
...
Otherwise we'll kill it before it finishes draining
2021-05-15 22:56:44 -05:00
Cameron Gutman
431e188b07
Allow the input queue to drain before terminating the thread
...
This ensures any final input messages (like key ups) make it to the host
2021-05-15 22:01:50 -05:00
Cameron Gutman
1b3c14a792
Increase maximum input queue size
2021-05-14 21:07:14 -05:00
Cameron Gutman
cd62147cdf
Print a warning when the input queue reaches the maximum size
2021-05-14 20:36:25 -05:00
Cameron Gutman
8f371343cd
Consolidate includes
2021-04-29 17:22:15 -05:00
Cameron Gutman
29d2cc6d5b
Improve MbedTLS implementation of AES-CBC
2021-04-22 17:08:35 -05:00
Cameron Gutman
625ec431eb
Improve AES-CBC code in preparation for audio encryption
2021-04-21 23:59:14 -05:00
Cameron Gutman
4304e597d8
Add byteswapping macros for big-endian systems
2021-04-17 21:43:13 -05:00
Cameron Gutman
98d7ceecf7
Add native MbedTLS crypto backend
2021-04-17 19:00:26 -05:00
Cameron Gutman
d62ee951a0
Refactor OpenSSL usage into a platform-specific file to allow other crypto backends
2021-04-17 17:47:53 -05:00
Cameron Gutman
83431e557d
Fix leak on each GFE 3.22 input packet
2021-04-09 13:47:00 -05:00
Cameron Gutman
415d97aa4d
Pass through input for full control stream encryption on GFE 3.22
2021-04-09 07:44:31 -05:00
Cameron Gutman
3fddfc5557
Fix Clang warnings
2020-12-05 23:20:02 -06:00
Cameron Gutman
0ead0df2a1
Remove usage of long types for LP64 and LLP64 consistency
2020-12-05 16:51:03 -06:00
Cameron Gutman
5f9f7ce407
Code cleanup: use stdbool.h
2020-11-30 20:38:13 -06:00
Cameron Gutman
6010367637
Only allow input packets to be queued between start and stop
2020-08-06 19:12:29 -07:00
Cameron Gutman
bea625a13d
Work around rounding error in GFE's mouse position scaling
2020-05-26 18:19:53 -07:00
Cameron Gutman
0df24c76c0
Fix incorrect behavior of modifier keys on the right side of the keyboard
2020-05-26 17:33:57 -07:00
Cameron Gutman
f8ffb30e1f
Don't send no-op mouse move and scroll events
2020-05-26 17:13:22 -07:00
Cameron Gutman
7b56ab755d
Add batching for mouse position packets
2020-05-20 18:56:30 -07:00
Cameron Gutman
c8faf3539b
Replace version check with note for LiSendMousePosition()
2020-05-03 15:56:39 -07:00
Cameron Gutman
247b1fe0e3
Provide reference dimensions for mouse position data
2020-04-11 20:51:17 -07:00
Cameron Gutman
ef7de27727
Add absolute mouse motion support
2020-04-11 15:40:50 -07:00
Cameron Gutman
cfeb0ffd90
Add MODIFIER_META constant
2020-01-15 17:48:36 -08:00
Cameron Gutman
31aa893acd
Name our threads on Linux
2019-05-03 18:54:40 -07:00
Cameron Gutman
8755529b1a
Add support for high-resolution scroll events
2019-02-26 18:48:13 -08:00
Cameron Gutman
aa9610847e
Ensure termination error code is propagated properly
2019-02-09 21:30:16 -08:00
Cameron Gutman
ad5dd9c940
Request haptics data from server
2019-02-09 02:16:59 -08:00
Cameron Gutman
edbaa43c2c
Fix back-to-back calls of LiSendMultiControllerEvent() not working properly
2018-11-25 14:50:51 -08:00
Cameron Gutman
2d7bf5be82
Fix state cleanup if LiStartConnection() fails
2017-05-18 09:52:50 -07:00
Sunguk Lee
a24e29c9ad
Remove defines of EVP_CIPHER_CTX_new and EVP_CIPHER_CTX_free
...
These functions defined since 0.9.8b
2017-05-05 16:26:57 +09:00
Iwan Timmer
dbb7cee399
Compatibility fix for OpenSSL 1.1 ( #25 )
...
* Compatibility fix for OpenSSL 1.1
* Don't allocate new cipher context for every input packet
* Readd support for OpenSSL 1.0
2017-05-04 21:20:03 -07:00
Cameron Gutman
8d2dccf4ca
Correctly transmit the number of controllers attached to the client
2017-02-04 20:09:34 -08:00
Cameron Gutman
f57bd745b4
API update to provide enough information to support GFE 3.0.7
2016-10-05 17:23:59 -07:00
Cameron Gutman
d408372c34
Switch to OpenSSL for input encryption with support for Gen 7 servers
2016-03-31 11:14:10 -04:00