Closed cstraw2022 closed 1 year ago
This controller has been requested at least a couple of times now. Both times the users have stopped responding. Please don't be the third 😅
Here's the existing issue and a new build that whitelists the controller on version 0.9.0. Basically, I need either confirmation that the controller works with the new build with existing steelseries mapping, or in the case that the mappings are wrong, I'll need you to use the hid_report_viewer application posted in the original issue to record the incoming controller states for each button press so I can create a new handler for this controller. Let me know if you have any further questions.
Hello! Sorry for taking so long for the response. Using the files you've provided me, the controller connects but the mappings are wrong. Here's what I got for from the hid_report_viewer:
For minus and home, whenever I held down or tapped either, the input would rapidly fluctuate (and spam going to home) so I wasn't entirely sure, but I got screenshots of the most common values I saw for both:
neutral:
home:
minus:
Hope this helps
Looks good. It's getting late here so I won't be able to make any changes until tomorrow.
Regarding the buttons you had problems with, you should be able to use hid report viewer with the regular release version of Mission Control to avoid the problem of them mapping to something they shouldn't. The build I posted previously was just to check whether the existing mappings would work.
Try this one for a start. It looks like the button layout is the same as some of the other controllers, just at a different offset. I didn't map the buttons you weren't totally sure on for now, in case they're also located at the expected locations. Let me know what works and what doesn't from this one and I'll update it if necessary.
I swear this is the fucking bermuda triangle of controllers. Everyone who requests support for it disappears under mysterious circumstances 💀
It's the ninjas!
Yea Sorry ðŸ˜ðŸ˜ By the time you sent the updated files I went back to college and I have the controller with me but I don't have access to a modded switch right now. I won't be going home until summer so hopefully someone else can test those new files sooner.
Heh, it's ok. I was hoping to include it in the upcoming release is all. It can wait until the next one.
Try this one for a start. It looks like the button layout is the same as some of the other controllers, just at a different offset. I didn't map the buttons you weren't totally sure on for now, in case they're also located at the expected locations. Let me know what works and what doesn't from this one and I'll update it if necessary.
Hi @ndeadly, I just tested your build and it looks like the d-pad works, however the XYBA buttons, the L1 and the joystick don't seems to work very well (like pushing down the left joystick on seems to emulate to A button and pushing up emulate the START button.) I didn't find any app to test the inputs (test it out in the main screen), however if you have one, I can test it out for your you. Let me know if you need anything else. Thanks.
@quoije the console has a built-in button testing utility under Controllers and Sensors
in the system menu. You can also test the analog sticks using the calibration option in the same menu. Knowing exactly which buttons are correct and which are not would be useful. You could also try and map out the input data yourself using my hid_report_viewer app like karawsr did above to either prove the previously reported values are correct, or that there are potentially different layouts for different controller firmwares.
@quoije the console has a built-in button testing utility under
Controllers and Sensors
in the system menu. You can also test the analog sticks using the calibration option in the same menu. Knowing exactly which buttons are correct and which are not would be useful. You could also try and map out the input data yourself using my hid_report_viewer app like karawsr did above to either prove the previously reported values are correct, or that there are potentially different layouts for different controller firmwares.
@ndeadly I was able to map all the inputs using HID viewer, however there are some values that I wasn't able to capture since it looks like it was random (the XX value in the text file). I attached this file in this comment. I also wrote what input did work and didn't work using the built-in tool.
Neutral value:
01 0f 00 00 00 00 00 00 00 00 00 00 XX 04 00 00
@quoije thanks! Try this one out and see what's working now.
@quoije thanks! Try this one out and see what's working now.
Seems to be the same, L1 L2 R1 R2 XYAB, the right joystick and R3L3 doesn't work. However, the dpad, the select button and the home button work.
The left joystick spam a series of random inputs (XYAB L1L2R1R2) when I pull the joystick up or down.
Hope that helps.
Thanks.
Ahh, I see the problem. The stick values for this controller are actually signed 16-bit integers. I had them as 8-bit like the other controllers. I'm using the report size to differentiate between this and other controllers, so this was causing the wrong mapping function to be called. Hopefully this one is working now.
Ahh, I see the problem. The stick values for this controller are actually signed 16-bit integers. I had them as 8-bit like the other controllers. I'm using the report size to differentiate between this and other controllers, so this was causing the wrong mapping function to be called. Hopefully this one is working now.
Yup you fixed most of the issues. L1,L2 XABY now works. However, the L2 and R2 don't work. Also, both joysticks look like they don't register any inputs (R3 and L3). For example, I tested it in Zelda and the camera was all up I was able to move the camera a little by going up left with the right joystick. It seems to be the same with the left one also.
Also, both joysticks look like they don't register any inputs (R3 and L3)
What do you mean by this? The L3/R3 (stick presses) don't work, or the analog stick input isn't working properly? If the latter, please check the sticks using the stick calibration feature and describe the movement of the marker relative to what you would expect. I may have messed up the conversion to the unsigned 12-bit values used by the Switch.
Also, both joysticks look like they don't register any inputs (R3 and L3)
What do you mean by this? The L3/R3 (stick presses) don't work, or the analog stick input isn't working properly? If the latter, please check the sticks using the stick calibration feature and describe the movement of the marker relative to what you would expect. I may have messed up the conversion to the unsigned 12-bit values used by the Switch.
Ah yeah, that wasn't very clear haha
I meant that both of the axis and the buttons (R3 and L3) doesn't work properly.
The R3 and L3 doesn't work and it seems that both joysticks are stuck at the bottom left position, like this:
I try using the stick calibration feature but I got stuck at the "Tilt the Stick that you want to calibrate." screen and couldn't go further since I don't think it recognize when I tilt the stick.
I made a series of dumb mistakes when copying the existing steelseries format which I thought was near identical. Turns out I wasn't even mapping the buttons you said didn't work, and the stick scaling correction factor was incorrect.
Hopefully this one gets everything right now MissionControl-0.9.2-steelseries-stratus-xl-5c4aad5.zip
I made a series of dumb mistakes when copying the existing steelseries format which I thought was near identical. Turns out I wasn't even mapping the buttons you said didn't work, and the stick scaling correction factor was incorrect.
Hopefully this one gets everything right now MissionControl-0.9.2-steelseries-stratus-xl-5c4aad5.zip
Ah don't worry about it, i'm just glad to get this controller working :)
For the newest build, R3 and L3 are now working. Both joysticks axis also work. However everything is reversed.
(Pushing bottom right input top left and pushing bottom left input top right)
This is happening for both joysticks.
L2 and R2 still don't work and it seems that the start button now doesn't work also.
So I'd accidentally inverted the stick x-axis instead of y, so that explains the sticks being the way they are. And it turns out there is only analog data for the triggers L2/R2. I could have sworn there was also a digital value for it too.
There is definitely something cursed about this controller. Normally I get this stuff first or second try and it takes all of 15 minutes or so...
Anyways, I think this should be the final revision. MissionControl-0.9.2-steelseries-stratus-xl-e49fb6f.zip
So I'd accidentally inverted the stick x-axis instead of y, so that explains the sticks being the way they are. And it turns out there is only analog data for the triggers L2/R2. I could have sworn there was also a digital value for it too.
There is definitely something cursed about this controller. Normally I get this stuff first or second try and it takes all of 15 minutes or so...
Anyways, I think this should be the final revision. MissionControl-0.9.2-steelseries-stratus-xl-e49fb6f.zip
Oh perfect, the start button and the axis is now fixed. The only thing that needs to be fixed is that L2 and R2 are swapped, L2 = ZR and R2 = ZL. Beside this, everything is fine.
Haha, I really can't get this one right 😅 One moment...
@quoije MissionControl-0.9.2-steelseries-stratus-xl-51be9e7.zip
Yes, everything is gucci. Thanks for all your work, I appreciate it :)
Great, I can finally merge this one. Thanks for your help!
Hello @ndeadly are you going to publish a release for this fix? I'm another Stratus XL user and can confirm the test release is working for me!
@sunyatasattva this will be included in the next release I make. For now the build in this thread is as good as a release. The only difference from that and an official release is that there might be more recent commits I have made to other aspects of the project that haven't been included.
@ndeadly Thanks for the answer! I just wanted to give further confirmation and didn't mean to push. I thought a new controller supported was worth a release, but I don't know your release process 😊
No drama, I didn't see it like that at all. Just wanted to say that the build in here is as good as a release. Making a proper release requires effort (writing up release notes/changelog, making announcements on various social media platforms etc). I typically only make a new release when either a new firmware version comes along that forces my hand, a critical bug needs fixing, or I feel I've accumulated enough changes since the last one to make it worth the trouble.
Controller Name
Steelseries Stratus XL
Current Controller Behaviour
Controller successfully pairs with the console but doesn't respond to inputs
Controller vendor and product ID
No response
Supported Features
Input Report Format
No response
Additional Details
No response