x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

AppleTV Gamepad Mapped Incorrectly

I'm using UE 4.12.4 built from source on a Mac. I'm working on an AppleTV project.

When I deploy to the AppleTV, the gamepad (SteelSeries Nimbus, nicest bluetooth AppleTV gamepad I could find) has some of its inputs mapped incorrectly:

  • Right Trigger Axis: COMPLETELY IGNORED

  • Left Shoulder: INCORRECTLY interpreted as Gamepad Special Left This part was due to an error in my project input mappings

I would appreciate and help/advice/pointers to documentation/pointers to source code so that I can get this gamepad working properly.

Product Version: UE 4.12
Tags:
more ▼

asked Jul 01 '16 at 02:15 PM in Packaging & Deployment

avatar image

CleanCut
2.1k 66 84 77

avatar image CleanCut Jul 07 '16 at 03:02 AM

I bought a second controller: Horipad Ultimate. Officially listed as an AppleTV controller - bought through Apple.com (just like the Nimbus). It behaves identically to the Nimbus. That is to say, it works perfectly in anything except Unreal Engine.

I have searched through the codebase for awhile but I haven't been able to find the place that devices on AppleTV are handled.

Help, please!

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

2 answers: sort voted first

I fixed it! The attached patch (click here) will add mappings for the analog triggers, which were being ignored. Now my analog trigger input works properly.

By far the most difficult part of this fix was finding the correct file, which took a very, very, very long time: Engine/Source/Runtime/Core/Private/IOS/IOSInputInterface.cpp

What is the best way for me to submit a patch and get it accepted? I have submitted patches before, which have not yet been accepted. What is the best way for me to get a patch actually accepted? Should the patch be against the master branch? Are there some process steps I should go through? Silence doesn't help me here, which is all I have gotten so far every time I have asked.

The left shoulder button problem was a red herring. I had accidentally added the left shoulder button mapping to one of my inputs in my project (along-side the left special button).

more ▼

answered Jul 11 '16 at 03:39 PM

avatar image

CleanCut
2.1k 66 84 77

avatar image CleanCut Jul 12 '16 at 12:36 AM

I made pull request 2594 with the fix.

avatar image Samantha Sutton ♦♦ STAFF Jul 12 '16 at 09:24 PM

CleanCut,

I have added this to the Jira and the Developers should see this. Thank you so much for sharing your fix! :)

-Samantha

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

CleanCut,

UE-30544 has been entered into Jira, it seems that tvOS remote doesn't map to gamepad inputs correctly. We're hoping to resolve this as soon as we can, but we can't make any promises on when it'll be released.

Thank you!

more ▼

answered Jul 07 '16 at 06:30 PM

avatar image CleanCut Jul 07 '16 at 06:57 PM

If you (or a developer who knows) could point me to where in the engine code that is handled, I would be willing to try to fix it myself and submit a patch. This seems like a pretty big show-stopper for tvOS, given that the gamepad is the only "usable" input device on an AppleTV.

avatar image Samantha Sutton ♦♦ STAFF Jul 07 '16 at 09:39 PM

BaseInput.ini is where you can edit the control settings/player input. Have you already modified that file?

avatar image CleanCut Jul 07 '16 at 09:50 PM

BaseInput.ini is a settings file. The problem is that the gamepad on AppleTV doesn't map triggers to triggers and shoulder buttons to shoulder buttons. I mean I need to know where in the actual C++ code that an event from a gamepad would be assigned to, for example, a shoulder button. I would guess that there would be platform-specific code for translating inputs on Windows vs. Playstation vs. AppleTV (for example) to the standard inputs presented to the developer.

avatar image CleanCut Jul 27 '16 at 08:36 PM

Samantha, UE-30544 has not yet been made public on JIRA. Can we make that one public?

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question