Ryochan7 / sc-controller

User-mode driver and GTK3 based GUI for Steam Controller
GNU General Public License v2.0
176 stars 23 forks source link

[Feature request] Dualsense output #70

Closed IDeathByte closed 1 year ago

IDeathByte commented 2 years ago

It possible to realize? As i know, in supported titles, dualsense/shock support their features like touch panel/haptic events (mostly in wired mode) out of box. Idea is translate events from sony to steam controller/deck api for realize many native functions, like reactions for surfaces, events, actions with touchpanels (through layer shifts) etc.

DominikNovosel commented 1 year ago

https://github.com/Ryochan7/sc-controller/issues/10#issuecomment-750911949

https://github.com/kozec/sc-controller/issues/624

DominikNovosel commented 1 year ago

Also take a look at this branch: https://github.com/Ryochan7/sc-controller/tree/theY4Kman-dualsense

IDeathByte commented 1 year ago

I mean not exactly this. Idea is make possible for gamepads with haptic feedback(steam/nintendo/8bdo etc.) can emulate part of dualsense features by create virtual controller and recieve haptics commands. For now we has only virtual x360 emulation option.

DominikNovosel commented 1 year ago

That's a good idea, but the problem is that neither the Dualsense nor the Steam Deck's controller hardware have been sufficiently documented to enable them to fully work with third-party software.

IDeathByte commented 1 year ago

How about workaround? Recently, i seen this project https://github.com/Mutcholoko/Haptic-Feedback-Linux As i understand principle, we make udev rule for create new sound device in dualsense connection, and it just speaker. Not sure how it works inside gamepad, but as input we receive some sound data. As i see, in sc-controller we can regulate force and freq of haptics feedback, what's in theory getting us possibility to separation feedback data for dualsense, and with some function layer, translate this data to features, what's we has now (also we can try to look at this project with singing controller https://gitlab.com/Pilatomic/SteamControllerSinger , maybe it has something usable for this ) Also i seem some projects, whats getting us to manualy configure haptic feedback of dualsense, but without receiving data https://github.com/Paliverse/DualSenseX , what's we also can use in theory for conversion. And in the raw end, we only haven't data, whats dualsense receive from game(maybe it just wav heh). Idk how it really works inside and how hard to realize that, but i think if it possible, it will be bomb. Thx for your time :)

FZXizzbKv7jg commented 1 year ago

Work together with yoyossef. Try to convince him. I think sc-controller > ds360

Ryochan7 commented 1 year ago

Generic audio haptics is pretty much pointless. Didn't like it with Voicemeeter on Windows either. Need something with more context for what is happening in game rather than focusing on the bass in the audio. AFAIK, DSX uses the haptic functions provided in the output report for haptics rather than using the raw audio interface; DSX does provide an option to use the audio interface (USB only) to replace the use of Voicemeeter. DSX relies on mods for each game to transmit formatted feedback data to send back to DSX via UDP to enable any force feedback outside of rumble emulation.

Very few games natively support the DualSense in any capacity with even fewer actually supporting haptic feedback; Metro: Exodus is the only one I can recall that does. It might be better to allow controller emulation options outside of Xbox 360 emulation to have proper button glyphs in game. I don't see it happening with this project though.