sc-controller icon indicating copy to clipboard operation
sc-controller copied to clipboard

Where would I learn what I need to know in order to contribute to this project?

Open DScottArch opened this issue 1 year ago • 5 comments

I'd love to contribute to the Windows version of sc-controller, but I'm not even sure where I'd go to learn about drivers, specifically the steam controller drivers, and anything else I'd need to know. What are good resources to learn this type of thing?

DScottArch avatar Jul 01 '22 19:07 DScottArch

I'm sorry, but I can't be much help with this. I'm actually doing almost everything on Linux and Windows port just emulates what Linux would do, using combination of ViGem and SendInput.

I probably wouldn't be able to make real Windows driver to save my life.

kozec avatar Jul 02 '22 05:07 kozec

Check out either my fork winosd-only or mKenfenheuer/sc-controller/tree/windows-steamdeck for something that can partially build on windows (they have meson fixes). I'm actually trying to use the existing c lib to write (the SC-equivalent of) driver on windows which can handle sc over bluetooth. Just scc-daemon is working right now but that's all the emulated driver stuff already running.

sc-controller\src\daemon\drivers\sc\by_bt.c

needs to be created

using

sc-controller\scc\drivers\sc_by_bt.c

as a reference

pattontim avatar Jul 15 '22 23:07 pattontim

Check out the changes I just pushed for the BT driver for Windows! These are the kinds of changes to need to implement a driver. PR to main c branch soon

https://github.com/pattontim/sc-controller-kbm/commit/5b9b94349b30934848d9f807b2732627fc384822

pattontim avatar Aug 13 '22 15:08 pattontim

Check out the changes I just pushed for the BT driver for Windows! These are the kinds of changes to need to implement a driver. PR to main c branch soon

pattontim@5b9b943

Looks way over my head. Where do you learn how to do stuff like this? Do you just study the Steam Controller's source code from Valve?

DScottArch avatar Aug 17 '22 10:08 DScottArch

Check out either my fork winosd-only or mKenfenheuer/sc-controller/tree/windows-steamdeck for something that can partially build on windows (they have meson fixes). I'm actually trying to use the existing c lib to write (the SC-equivalent of) driver on windows which can handle sc over bluetooth. Just scc-daemon is working right now but that's all the emulated driver stuff already running.

sc-controller\src\daemon\drivers\sc\by_bt.c

needs to be created

using

sc-controller\scc\drivers\sc_by_bt.c

as a reference

Where do I find that fork? I'm not seeing it on your repositories page. Not as familiar with github as I should be. I appreciate what you guys can do, but I'm probably pretty far behind in the game before I can actually start contributing. Where could be a good place to learn? Is it just C programming in general? Or would the Windows site have any tutorials?

DScottArch avatar Aug 17 '22 11:08 DScottArch