-
Notifications
You must be signed in to change notification settings - Fork 130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows Version #215
Comments
Nope, unless you have someone with at least some Windows coding experience :D What I was trying to do was to get at least SendInput level of "emulation", what would work badly and with no gamepad support. AFAIK, there is no way to actually emulate gamepad spare of replacing xinput.dll and/or some system libraries. |
There are two main options for emulating an Xbox 360 gamepad across the system on Windows. The old standby is using the Scp Virtual Bus Driver. That driver is not really being maintained anymore though. A newer driver that will eventually replace it is called ViGEm. One nice feature about that driver is that it will be capable of emulating more than just an Xbox 360 gamepad. It still has some stability problems so it is not ready for mass consumption yet. Hopefully those issues will be ironed out soon. |
Thanks, that sounds useful. But just to be clear, Windows support is currently somewhere at very bottom of TODO list, somewhere bellow support for non-steam controllers, i18n and probably VR integration or something :D But contributions are always welcomed. There is long list of stuff that needs to be solved in potential Windows port:
I'll update that list if I remember anything else :) |
Well, thanks for at least having it on the todo list!! |
Absolutely nothing is happening, I'm just writing down library that may be usable as uinput replaceament. |
Like the meme says, it's something!! Thanks for letting us know! |
@kozec Any progress? There haven't been any new commits in the windows branch recently. |
I know nothing about windows programming (at least at that low level), so I cannot help, but would love to see this implemented. I understand the priority of the tasks, but man, having this app on windows would be awesome. I always said that the worst thing about steam controller is... steam, and this app solves that issue and in a very, very good manner, seriously! good job @kozec and other collaborators! |
If someone is still watching this and feels really adventurous, there is now work-in-progress SCC that should work on Windows. |
I AM STILL WATCHING.... :) i have been for a long time, its awesome to see this might one day be a real thing, i would love to ditch the steam setup for my non steam games. |
It kinda works already, as long as you don't need GUI :) Main problem is this ViGEM issue that can literally freeze Windows 7, but I can make another prerelease with xinput-compatible pad emulation at least for Win10 tomorow. |
ahh i see, well considering most of the world is moving towards windows 10 anyway i think even if it never gets fixed dropping support for windows 7 while unfortunate is not totally unacceptable. |
Win 7 user, seems to work but it only emulate ps4 pad, i cannot use the mouse pad or mix desktop option with mouse or keyboard. Also Desktop mode only work outside of game, inside game it stop working. Is there a way to get mouse pad ? Or something useful ? Also the camera pad for ps4 don't work : relXY function is not here. |
That's intentional, and probably will stay like that for foreseeable future :( It's better alternative than crashing entire OS.
... but this is not. Those serials are working differently between "versions" of Steam Controller, but I thought I had it finally got it right. I'll add workaround for case when it can't be retrieved at all.
Probably good thing to prioritize, thanks for reminding me. |
New pre-release now works with XInput on Windows 10. |
i can't move in-game(seems like the left stick works like the right one), do I have to remap the keys in some config? should it be done in one of the sccprofiles? thanks for adding windows support! |
Firstly monster thanks! I have it working as a keyboard and mouse but I would like some help as I am not sure I am using it right. I have VIGEM installed and see a couple of profiles loaded when I start the daemon I gather the OSD is not working yet (? or does it require some GTK dependencies on windows? |
Thank you for the work on the Windows port. I have tried it and the daemon can interact with ViGEm but there are issues with the controller state translation.
Since exclusive access to the Steam Controller cannot be obtained yet, I have been testing playing Turok 2 from GOG Galaxy. |
Yes, until GUI is there, editing sccprofile file in text editor should work.
OSD menu should work, but I noticed it takes few seconds to load on Windows. Pressing steam button should spawn it. @Ryochan7 thanks for report, I'll check on those points. |
I recorded a short video showing some of the issues that I was having. Hopefully that will be a useful reference. |
Okay, I believe I managed to fix all of that and put it into prerelease number 3. |
I've just tried that latest version and works pretty well under windows 10. Great work @kozec 😃. Some errors were risen to the console, although the controller continued working as expected and the executable didn't exit in any of them; given that, I'd say these are more warnings than errors, as everything continues working as expected. Basically, the warnings arise when you:
The error is the same for all (
Edit: I just found an issue stopping my controller using the overlay; I powered it off, and when trying to turn it on again, the scc-daemon console started throwing a lot of Input/Output errors (without any other details). Shutting down the daemon and starting it again didn't help; neither with the controller. Restarting windows finally "fixed it", and now I can't reproduce it again. I didn't reboot after installing ViGEMBus, so it may be related. |
That's by design, only one menu should be shown at time. Menus are "locking" buttons they are using and that mechanism is used to prevent multiple menus spawning at once.
That's just means that menu is finished and closed connection, so it's expected, but I should probably silence it. |
Just tried the latest pre-release and all of those issues have been fixed. Thank you. |
here wrong mapping detection for SN30 pro, as you can see with raw data "rpad_y" is wrong ("rpad_x" is ok) and "stick_x" and "stick_y" are not centered correctly. { |
I get this error in the console and also the controller is not working as it should. It's still in desktop mode and the controller doesn't connect at all. (sc-controller:16620): GLib-GIO-WARNING **: 17:43:18.327: win32 session dbus binary not found: F:\sc-controller-0.4.9.11-win32-pre-release\gdbus.exe |
Things I found not working or crashing the UI/daemon:
Also thanks for porting this to windows, playing vr with the circular input willbe like a dream ;D |
@rusagent I have the same problem. |
I believe this also happens in the Linux build, it's like the full-press is ignoring the physical button for the triggers |
I am excited because steam input doesnt work in battle.net games and I would love more granular control of my xbox one gamepad |
I'm having the same issue as #596 Tried reinstalling vigembus, trying different usb ports. |
Sorry for asking this here but I stopped using and checking on this over a year ago because of no updates, has it been abandoned it's been about 2 years since the last update. the non-windows version seems to be still worked on though. |
What are you even asking? xD |
Looks like SC Controller cannot open any virtual device from the SC Dongle based on the report. IIRC the Dongle acts as a hub that can present 4 Steam Controller devices to the PC. I cannot remember if SC Controller tries to open controllers in Exclusive mode or not but I would assume that some other program already has an open handle on those devices so that is why SC Controller fails to open them. Devices can be opened already if you have the Dongle plugged in at Windows startup thanks to the Windows Store app service IIRC. You will likely want to check out how to use the HidHide driver with SC Controller. |
Working on a different mapper currently. Maybe it will get somewhere someday. It is working okay for me but there are many bugs to work out and there is pretty much no usable GUI atm. I also keep stumbling over my own ideas. Gotten a lot of use out of my Steam Controller over the last 3 months. https://gitlab.com/ryochan7/steam-controller-test/-/tree/action_ideas Remember Me - Steam Controller |
That did the trick, thanks for the help 👍 |
Got the code at the point where it is somewhat usable. Putting a copy of the current progress out there for people to test. Still a lot of possible binding options are not available in the GUI. All supported connection types work on my end at least. You will likely want to configure HidHide to hide the Steam Controller from Steam when you don't want to map with Steam Input. Please let me know if you are interested in further development. Might create a GitHub mirror repo if people want it. One other thing to mention. Only Windows 10 and 11 would be support mainly due to the use of ViGEmBus 1.17.333.0. I can only test on Windows 10 due to the CPU in my PC not fitting Win11 minimum requirements. Required Dependencies: Optional Tools: Source: Archive: |
Gave it a quick try with forza tonight and I found a little typo with the default config. https://gitlab.com/ryochan7/steam-controller-test/-/blob/action_ideas/SteamControllerTest/template_profiles/SteamController/XInput.json#L306 I think we should continue discussion elsewhere seeing as this is a separate project. You can make a github mirror or we can talk on gitlab if theres an 'issues' section on there. |
Set up a GitHub repo with the current code. Changed a few items since yesterday in the action_ideas branch. https://github.com/Ryochan7/SteamControllerTest Thank you for spotting the trigger binding problem in that example profile. I'll get that changed. |
Should I be altering the PATH, PYTHONPATH or other variables in order to get the GUI running after building? Could someone post me their env vars of a correctly building setup with ninja -C build sc-controller ? This is my incorrect setup
|
to get a version which can build refer to https://github.com/mKenfenheuer/sc-controller/tree/windows-steamdeck you need to install extra libraries
|
Are two steam controllers supported on the windows version? |
Hi there, I've just tried the latest prerelease (0.4.9.12) in Windows 10, and I get the following error when launching
I don't know if you prefer me to file a separate issue or want to have all of them together in the same thread. |
Do you have any accented character in [FOLDER] by a chance? Error like this is kinda hard to fix, but easy to workaround, just move [FOLDER] to some place where there are no non-ascii characters in the path. |
Only theoretically. Have you occured any issue, or it just plainly doesn't work? |
The path is english letters (A-Z, a-z, 0-9, '-', '_', '.') only, I even tried placing it in the root of a drive (D:/) and still get the same error. Maybe it is trying to access a temp or appdata folder from the user, which does have an accent in the path. |
I can also confirm 2 controllers at the same time doesn't seem to be working. The second one still acts as a mouse and keyboard, but only the first one connected is able to change modes and control the OSD when pressing the Steam button. Thank you for all the effort in any case! |
I am exploring options where it may be possible to run sc-controller on windows through WSL2. There is work on allowing USB passthrough to WSL2 via USB/IP: https://github.com/dorssel/usbipd-win . It requires a custom kernel however. |
I have still been working on a different Steam Controller mapper for Windows although changes have been less frequent lately. A new build has just been pushed. https://github.com/Ryochan7/SteamControllerTest/releases/tag/v0.0.13 |
Hi @Ryochan7! do your Steam Controller mapper work with 2 controllers at the same time? Thank you for that and for your Python 3 version of the sc-controller for Linux. |
Earlier versions of the mapper would have had issues with multiple controller support. Fixed the issue in my DS4 focused mapper and carried the list changes over to the Steam Controller mapper. Version 0.0.16 should work fine for multiple Steam Controllers. |
Is https://github.com/kozec/sc-controller/wiki/Running-SC-Controller-on-Windows missing some crucial part? Following it and having downloaded sc-controller-0.4.9.10-win32-pre-release.zip scc-daemon.exe works and also osd (virtual controller appears and works just fine with X-Box controller profile).
I even changed path in terminal window before executing sc-controller-console.exe to minimal path |
There is a WIP Windows branch but there have not been any progress in the last month. Can I expect a release anytime soon?
The text was updated successfully, but these errors were encountered: