moonlight-stream / moonlight-ios

GameStream client for iOS/tvOS
GNU General Public License v3.0
1k stars 248 forks source link

Create control combination to pass Escape to host machine on TVOS | Apple TV #593

Open parrydigm opened 5 months ago

parrydigm commented 5 months ago

Is your feature request related to a problem? Please describe. Yes, this is related to a problem. I believe the latest TVOS included a ‘feature’ to allow control of the Apple TV using the Escape key on a locally-paired Bluetooth keyboard. The problem with this ‘feature’ is it stops menu navigation on the host PC (e.g., playing Elder Scrolls Online, the Escape key is pivotal for system menu navigation, including for quitting the game).

This is most likely a problem with TVOS, but since Apple are highly resistant to any kind of input, it may be up to Moonlight devs to implement a workaround for full functionality restoration.

Describe the solution you'd like The best solution would be to somehow capture the Escape key from TVOS and pass through to the host machine. Assuming this is impossible, the next best solution would be to implement a key pattern to send Escape. For example, CTRL-ALT-SHIFT-E sends an Escape.

Describe alternatives you've considered I’ve tried using the iPad Escape options (CMD-[ | CMD-., or it might be CTRL-[|CTRL-.). These don’t work on TVOS.

A current workaround for some games where escape is needed to exit is to simply alt-F4 and deep-six them that way. Some games allow this navigation through controllers, but not all (e.g., Guild Wars 2 has no controller support).

Additional context I’ve put this challenge on Reddit (where another user confirms the problem), and raised it on the Discord.