I am working on a game in Objective-C. Remote Siri works fine through GCMicroGamepad, and real MFi controllers work well through GCGamepad. However, third-party IR remote controls do not work at all in the game (as well as non-remote applications on the iPhone or the older Apple TV 3rd gen remote).
How can I recognize and distinguish these inputs?
Two days later ... I found that UITapGestureRecognizer can be used to correctly identify the Up, Down, Left, Right, and Select events when they are represented by a third-party TV remote control or iPhone Remote.app. Directional events are actually unique to these types of remotes, and also - the Siri remote does not generate directional crane events. Unfortunately, however, by pressing the Select button on Siri or a third-party or iPhone Remote.app, you will receive a Select event from my recognizer. I need to somehow distinguish the two.
The only distinguishing factor I can find is that pressing Siri remote also generates pressing the -A button on GCMicroGamepad - a third-party remote control or iPhone Remote.app does not affect GCMicroGamepad at all. But itβs very inconvenient to try to watch GCMicroGamepad for tap-release events, and then use this event to filter the corresponding Select button event. Of course, it is not recommended to use the API; this does not seem like a good long-term solution. If I could tell the remote Siri to stop generating user interface events in GCMicroGamepad mode, that would be great.
objective-c tvos gamepad siri-remote
Stilescrisis
source share