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