Got my steam controller to work with the switch 2. Really easy used a hid remapper with the adafruit feather rp2040 with usb type a host loaded the firmware super easy and just selected to emulate a switch controller if anyone else wants to use their steam controller for their switch 2. Only cons is x is y, y is x, a is b, and b is a but if you can just remember a switch controller your fine. Highly recommend took me 3 mins to set up. You’ll need a usb C male to usb C male to connect the hid remapper to the switch Thumbpad not working. I haven’t tried Gyro
|Pros: lot less latency then bluetooth doesn’t feel any delay due to the puck. An awesome controller layout . Inexpensive method to get steam controller working on switch 2
Are you able to customize back buttons or remap anything on the controller before you connect to the switch? I’m getting my controller today and I’m about to order a board to start doing this.
Yes! You can easily remap the buttons.
Is this something you do through the firmware or through steam?
You do it through HID Remapper’s configuration website.
Hey, anyone know about gyro controls? I saw in a different forum that the controller the remapper emulates doesn’t support gyro. Is there a way to emulate a different controller like a switch pro controller?
Not at this time.
postmustbeatleast20characters
Aww bummer. Any idea of a time frame on when this could be a possibility?
I also setup the new steam controller to the switch 2 with an adafruit feather rp2040, works great!
I can’t figure out how to get the joystick deadzones to work with the switch 2 though. I read up on the expressions and looked through the examples but nothing so far will add a deadzone that works on the switch 2.
I can write up the different things i’ve tried if needed, just curious if anyone has already got this working.
There are expression operations that make deadzones fairly easy.
DEADZONE example expression (inner deadzone radius 16):
0x00010030 input_state_scaled
0x00010031 input_state_scaled
16 deadzone
2 store
1 store
DEADZONE2 example expression (inner deadzone 16, outer deadzone 32):
0x00010030 input_state_scaled
0x00010031 input_state_scaled
16 32 deadzone2
2 store
1 store
In both cases create mappings as follows:
Register 1 → Left stick X
Register 2 → Left stick Y
Thanks for the quick reply jfedor! Below are the expressions I used for steam controller joysticks → switch 2. Works great!
Expression 1:
0x00010030 input_state_scaled
0x00010031 input_state_scaled
16 deadzone
2 store
1 store
Expression 2:
0x00010032 input_state_scaled
0x00010035 input_state_scaled
16 deadzone
4 store
3 store
Mappings:
Register 1 -> Left stick X
Register 2 -> Left stick Y
Register 3 -> Right stick X
Register 4 -> Right stick Y
Can anyone confirm that this works with the steam controller puck? Or do I have to use it wired. I tried it last night with a kb2040 (with the correct firmware) and I was able to see the controller in monitor and had it set to emulate switch but when I plugged it in I was not able to connect a controller on the switch 2. Im not sure what I’m doing wrong. I just took apart a project to try it with a feather to see if the kb2040 was causing some sort of an issue?
Yes, it works with the puck.