Commit Graph

43 Commits

Author SHA1 Message Date
Anselm Busse
2b450839a1 Initial support for MacOS
This commit introduces initial support for MacOS as third major host platform.
It relies on the VideoToolbox framework for audio and video processing, which
enables hardware accelerated processing of the stream on most platforms.
Audio capturing requires third party tools as MacOS does not offer the
recording of the audio output like the other platforms do. The commit enables
most features offered by Sunshine for MacOS with the big exception of gamepad
support. The patch sets was tested by a few volunteers, which allowed to remove
some of the early bugs. However, several bugs especially regarding corner
cases have probably not surfaced yet.

Besides instructions how to build from source, the commit also adds a Portfile
that allows a more easy installation. After available on the release branch,
a pull request for the Portfile in the MacPorts project is planned.

Signed-off-by: Anselm Busse <anselm.busse@outlook.com>
2022-02-26 10:18:00 +01:00
loki
7f4b9cf36c Change where keycode is mapped 2021-09-13 20:34:45 +02:00
loki
91a6e55f74 Fix segfault when connecting multiple controllers at the same ttime 2021-09-13 20:24:04 +02:00
WisdomCode
9be80c103e
Shortcut Flags need to be adjusted as well 2021-09-09 21:15:35 +02:00
WisdomCode
640f2b1c55
Syntax 2021-09-09 15:05:04 +02:00
WisdomCode
d8df57130a
Apply key rewrite also when keeping key pressed 2021-09-09 14:57:04 +02:00
loki
f08b6abc96 Make keybindings configurable 2021-08-03 15:24:04 +02:00
loki
2af179630a Switch monitors based on keyboard shortcuts 2021-07-29 16:48:03 +02:00
loki
c243e82047 Add shortcut for hiding and showing the cursor 2021-07-28 22:03:17 +02:00
loki
dad446ea41 Print request for rumble on the terminal for Linux 2021-07-21 20:24:23 +02:00
loki
1fda8f6219 Support Rumble on Windows 2021-07-18 11:05:34 +02:00
loki
d55c6ee84c Fix incorrect scaling of absolute mouse coordinates (again) 2021-07-10 23:49:04 +02:00
loki
b67600962a Fix incorrect scaling for absolute mouse coordinates 2021-06-24 20:53:19 +02:00
loki
029194cb60 Fix incorrect abs mouse coordinates on Linux when scaling to different aspect ratio 2021-06-23 14:05:09 +02:00
loki
7e3abefc2c pass session event objects through safe::mail_t 2021-06-22 22:26:11 +02:00
loki
0c5daa44a1 Fix not responding to key modifiers on moonlight-embedded 2021-06-10 22:44:56 +02:00
loki
3d8a99f541 clang-format 2021-05-17 21:21:57 +02:00
loki
5d313b509e fix resetting mouse buttons on end stream 2021-05-12 15:48:39 +02:00
loki
022b2202f6 Absolute mouse coordinates on Windows 2021-05-12 14:42:10 +02:00
loki
1d84c8f9ce Correct dimensions for touchscreen when single monitor attached 2021-05-11 23:30:56 +02:00
loki
41cc9a3e80 absolute mouse coordinate support for single monitor on Linux 2021-05-11 18:01:56 +02:00
Loki
b97c902d10 print absolute mouse movement packets 2021-05-10 15:04:41 +02:00
loki
6f428eb316 Ensure no input remains in the task_pool before resetting 2021-05-09 11:56:53 +02:00
Elia Zammuto
71b214ca43 Fix Stuck Modifiers on Disconnection 2021-05-08 13:08:07 +02:00
loki
8d735e5611 Support keyboard key repeats 2020-04-26 00:23:34 +02:00
loki
34b1ef8779 Fix blank screen when starting session 2020-03-20 20:42:11 +01:00
loki
92f51622cc Map session to gamepads 2020-03-15 21:22:42 +01:00
loki
c71d2739b1 Fixed incorrect logging type called 2020-01-31 21:17:49 +01:00
loki
b10c971374 Dynamically plug and unplug emulated gamepads 2020-01-31 20:57:34 +01:00
loki
8b7c833cd4 Multiple Gamepad support for Windows 2020-01-25 01:27:47 +01:00
loki
b4d3748d74 Multi controller support for Linux 2020-01-25 01:05:43 +01:00
loki
5ea2f30d5c Fix regression on gamepad support 2020-01-20 20:39:30 +01:00
loki
775b50a99b Remove unnecessary comments 2020-01-19 14:40:19 +01:00
loki-47-6F-64
ee067f4d8a
Merge pull request #6 from cgutman/input_fixes
Add support for X1/X2 mouse buttons and Super keys
2020-01-19 11:46:10 +01:00
Cameron Gutman
992cce946c Add support for X1/X2 mouse buttons and Super keys 2020-01-18 19:17:57 -08:00
loki
834d5cb59b Refactor in preparation of Gamepad support on Windows 2020-01-18 23:52:22 +01:00
loki
51826ea384 Plug leak 2020-01-11 01:17:57 +01:00
loki
b6fc6f2054 Proper logging instead of blindly printing to standard out 2020-01-09 22:02:01 +01:00
loki
b5fe713848 simulate release of keyboard/gamepad/mouse buttons when stopping session 2019-12-31 12:22:47 +01:00
loki
c3cba2bdad Don't display cursor when using gamepad 2019-12-25 20:57:23 +01:00
loki
29edc88294 Emulate back/select gamepad button 2019-12-22 23:34:12 +01:00
loki
0deb5433d1 Move logic away from platform dependend code 2019-12-22 21:24:50 +01:00
loki
13d9f51c67 Moved source files to seperate folder 2019-12-08 18:55:58 +01:00