question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Fix iNNEXT SNES Controller Input

See original GitHub issue

Summary

The iNNEXT SNES Controller only works partially in Duality / OpenTK. Investigate the cause and fix this.

How to reproduce

  • Connect the controller and run the input sample project. The issue should be apparent immediately.
  • Most key / axis mappings on the controller seem to be messed up, some of it stuck at -0.71f. inputbug

Workaround

  • The SDL2 backend seems to correctly map this input, so placing an SDL2.dll in the Duality folder fixes this in the launcher at least.
  • Comparison between SDL2 and OpenTK backend results. Note how SDL2 detects more axes than OpenTK: inputbug2

Analysis

  • Investigate input mappings. They are up-to-date with the latest OpenTK version, but the SDL2 source seems to have a lot more of them.
  • Extend OpenTK and Duality API to retrieve more in-depth information on what’s happening. Expose controller GUIDs and mapping info in both logfiles and input sample.
  • Investigate the full diff for duality-master vs. the most recent develop and 4.0 to cherry-pick improvements and fixes. Look into changes in Input and Platform folders.
  • Investigate potential underlying bugs in OpenTK input handling that result in missing two axes.

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:19 (19 by maintainers)

github_iconTop GitHub Comments

1reaction
SirePicommented, Sep 24, 2018

Without SDL

PS4 DualShock 4 controller 03000000-4c05-0000-cc09-000000000000; PS4 Controller Right analog’s Y axis mapped as L2 trigger (mapped 0…1, 0.5 at rest) R2 trigger mapped as Right analog’s Y axis (mapped -1…1) L2 trigger is seen as R2 trigger

XBox 360 wired controller 78696e70-7574-0000-0000-000000000000; XInput Controller Working ok

With SDL 2.0.8 x64

PS4 DualShock 4 controller 03000000-4c05-0000-cc09-000000000000; PS4 Controller Working “ok” (see below)

XBox 360 wired controller 03000000-5e04-0000-8e02-000000007801; XInput Controller Working “ok” (see below)

In both cases, with SDL, the Left and Right triggers start at 0.5 - once pressed they report correctly from 0 in rest position to 1 fully pressed

0reactions
ilexpcommented, Oct 13, 2018

Progress

  • Opened a new issue in the OpenTK repo for discussing a potential manual merge of the previous fixes.
  • Opened a new issue for tackling the remaining PS4 controller problems.

Closing this.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Fix for iNNEXT SNES/SFC controller mistakenly appearing ...
In RetroArch's UI, go to Main Menu > Quick Menu > Controls > Port 1 Controls. You'll now have to go back and...
Read more >
Generic SNES controller issues :: Help and Tips
Bought some INNext snes controllers and immediately had issues trying to map the buttons. The d-pad inputs would NOT register, ...
Read more >
Gamepad not working in games (mapping works!)
I have generic noname USB gamepad. It works in windows (win7 64) and in other games that support gamepad. It even works when...
Read more >
Certain games not accepting control input - Super Nintendo
I've fixed many controllers by just cleaning them a little bit. You don't need a special screwdriver or anything. Yup, or something like...
Read more >
USB SNES Controller Input Problem (D-Pad)
Hi, I have a problem with Retroarch on my Android tablet. I use two original SNES controllers via an USB adapter to play...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found