kozec / sc-controller

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

Diferent Rumble "sensations" #354

Open cualquiercosa327 opened 6 years ago

cualquiercosa327 commented 6 years ago

Hi,i would love suggest if you could add the option than we could use external "rumble" files on the steam controller which let us "simulate" new sensations using its linear actuator (not only use it with the default "trackball simulator" on the right trackpad which could be configurate only its intensity).

This is no a issue,but how could i extract the "trackball simulator file" ? I think it is on the steam controller fimware but i am unable to extract it.I know the format is Haptic feedback format:

u8 : 8f
u8 : 07
u8 : 00 for Right 01 for Left
u16 : Amplitude
u16 : Period
u16 : count
pads the end with 00

but i am unable to find it on the fimware.

An example than i suggest about use other rumble formats are the .bnvib/.jcvib file formats from Nintendo Switch joycons

https://gbatemp.net/threads/tool-joy-con-toolkit-v1-0.478560/

kozec commented 6 years ago

I don't really think steam controller has feedback "sensations" stored in firmware, all of them are very simple and reproducible just by sending HID commands.

Using rumble files sounds like interesting option, but I'll have to check that format first.

cualquiercosa327 commented 6 years ago

Hello,first thanks for answering .

I am new with the Steam Controller and also i have no many time because i am preparing some exam for a job .

I thought than it could be on the fimware because i was unable to found some rumble data on the vdf files which i have seen: i only found some values to make the rumble higher or slower but nothing as the format :

Haptic feedback format:

(As i said on the post , i wanna found the touchwheel rumble file/s which i would love to transform to the format than joycon can understand :.jcvib or/and.bnvib ).

.bnvib is the official format and keeps the vibration into 4 uint8.

.jcvib is CTCaer coined format and it's raw. 4 uint8 that the controller can understand right away.

About joycons format you can found all information on this links :

https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/blob/master/USB-HID-Notes.m

https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/blob/master/USB-HID-Notes.md

https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/blob/master/bluetooth_hid_notes.mdhttps://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/blob/master/bluetooth_hid_notes.md

and

https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/blob/master/rumble_data_table.md

i think than could convert and could use on the two controllers would be nice.

I know than the only difference is what raw commands each controller understand and the frequency bandwidth of these but as i said before i know very little about steam controller and now i have no time to investigate more :/

Also both can be used to "play sounds" (which really is the same in fact) they are a app which let convert midi to be played on the steam controller

https://steamcommunity.com/app/353370/discussions/0/494632506573267894/

and CTCaer created some files at hand without a converter to test his program (mario_theme.jcvib and other which is on his source code based on mario oddisey,well to see correct both files are on tune.h ,but mario_theme cames also on a separate jcvib file.)

(You can also see the thread than CTCaer create where he coments his discovers reverse enginering the joycons what he implements on his program:

https://gbatemp.net/threads/tool-joy-con-toolkit-v1-0.478560/

I attach you some joycon vibration files : they are from two games i own (but i have no ripped myself because i have no the fimware which let me dump): puyo puyo tetris and 1 2 Switch (this latest as game is no good but it has the best demostration of what can be done with linear actuators on the mini game "kazuate" where you can felt they are some balls inside the controller.

Thanks for all

yours

Dani


De: kozec notifications@github.com Enviado: martes, 3 de abril de 2018 15:10 Para: kozec/sc-controller Cc: cualquiercosa327; Manual Asunto: Re: [kozec/sc-controller] Diferent Rumble "sensations" (#354)

I don't really think steam controller has feedback "sensations" stored in firmware, all of them are very simple and reproducible just by sending HID commands.

Using rumble files sounds like interesting option, but I'll have to check that format first.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/kozec/sc-controller/issues/354#issuecomment-378284818, or mute the threadhttps://github.com/notifications/unsubscribe-auth/APjYNGIEhVcoVasQvZrQVsYpuKRoJLC0ks5tk5DkgaJpZM4S_fJv.