Hacker News new | ask | show | jobs
by corysama 1841 days ago
Also, the Xbox Adaptive Controller deserves a lot of respect.

https://www.xbox.com/en-US/accessories/controllers/xbox-adap...

That’s not a token effort or a cash-in. The team behind it really gave a damn.

2 comments

Yes, it's absolutely wonderful. I hope to never need it, but I'm so happy it exists for everyone that does.

It also shows why controller compatibility between consoles might be more important than one would think: the "native" controllers might just be inaccessible. If you want to play on a Switch, you can use an adapter [0] to use the Adaptive Controller. Similar products exist for the PS4, I believe. Hopefully someone reverses the protocol DualSense speaks with PS5 sooner rather than later and can make an adapter for that as well.

[0] https://www.mayflash.com/Products/NINTENDOWiiU/MAGIC-NS.html

PSA: You can use the MAGIC-NS to connect multiple controllers at the same time while they appear to the Switch as one controller. This basically is co-pilot mode.
There’s a V1.32 note in red on that page that says it’s now compatible with the PS5, but I’m not sure what that means exactly. It’s hard to say from the product page what this thing does.
I believe it means that you can now use the adapter to connect a PS5 controller to the Switch.
> Hopefully someone reverses the protocol DualSense speaks with PS5 sooner rather than later and can make an adapter for that as well.

Sony recently[1] mainlined its DualSense 5 driver to the Linux kernel, so reversing the protocol shouldn't be difficult. There previously were a couple of open-source 3rd party drivers for older DualShock controllers - I use a DS 4 controller for all Steam on Linux games and it works very well: most games recognize it as a PlayStation controller, display the correct button symbols on help screens and QTEs

1. Dec 2020 - https://www.phoronix.com/scan.php?page=news_item&px=Sony-HID...

Unfortunately this isn't the complete story. Being able to use a DS4/DualSense with a PC or other device is a different beast from being able to emulate a DS4/DualSense for a PS4/5.

The console actually authenticates the controller using some secret [0]. I find it very doubtful that Sony has implemented this authentication in their Linux driver and released the necessary secrets.

Unless this procedure is a part of a standard that I'm unfamiliar with that it may still need to be reversed for PS5/DualSense. We also need the secrets or use the workaround with a legitimate controller I referenced in a different comment [1, 2].

[0] https://fail0verflow.com/blog/2018/ps4-ds4/

[1] https://news.ycombinator.com/item?id=27378663

[2] https://www.cronusmax.com/manual/wired_controllers_connectin...

IIRC Sony puts DRM in their controllers, there's a chip with a key on it that Sony only gives out to selected partners. I'm not sure how 3rd party companies did it without the chip but afaik the method is not open source.
This is true, unfortunately. A common way around that is that you must connect both the controller you want to use and an original PS4 controller to the adapter. The adapter will forward all DRM/handshake messages to the original controller, but forward the input from the desired one.

Unless Sony is now signing every message I see no reason why this approach couldn't be used on the PS5/DualSense. That said, my cursory search didn't reveal a working PoC.

PS4 Controllers can be connected via BT to phones and via cable to PC with almost all functionality. There's an extension port on the controller but I haven't seen anything that plugs into it. Also don't know how easy it is to connect your own controller to the PS4 but there is an "ext" port on the controller that is reportedly a USB2 port but a proprietary shape.
You absolutely can't just use a USB compatible controllers on a PS4.
You probably aren't remembering correctly: the protocol for DualShock 4 (PS4 controller) was reversed - there's a working userspace driver[1] that I have used for years to play games on Linux using a DS4 controller, connected via Bluetooth. More radically, Sony recently published an official Linux driver[2] for DualSense 5 - none of these require a "DRM chip" or additional hardware to use.

1. https://github.com/chrippa/ds4drv

2. https://www.phoronix.com/scan.php?page=news_item&px=Sony-HID...

More interesting is that whilst the original PS3 controllers had a full Bluetooth stack (meaning you can connect them to an Android device or Linux and they work perfectly fine), the bootleg clones only implemented the spec enough to get them working with the PS3. I didn't even know this until I tried to connect my old PS3 controller to my Pi running retro emulators, and all the controller would do is input to bottom right on the right analog stick. Same on Android.
Wow thanks for sharing this, I had NO idea this existed!
It was a big source of internal pride when I was at Microsoft. As far as tech companies go, Satya’s version of Microsoft really does give a damn about people, including it’s employees. Great place to work.