Skip to content
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

Open
uppps opened this issue Jun 21, 2017 · 135 comments
Open

Windows Version #215

uppps opened this issue Jun 21, 2017 · 135 comments

Comments

@uppps
Copy link

uppps commented Jun 21, 2017

There is a WIP Windows branch but there have not been any progress in the last month. Can I expect a release anytime soon?

@kozec
Copy link
Owner

kozec commented Jun 21, 2017

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.

@Ryochan7
Copy link
Contributor

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.

https://github.com/nefarius/ViGEm

@kozec
Copy link
Owner

kozec commented Jun 23, 2017

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:

  • libusb is not exactly reliable under Windows and pyusb is not 100% compatible with Linux version. Later is partially solved at least for wired controller
  • There is no uinput, so keyboard and mouse emulation has to be rewritten. This should be possible using winapi.
  • There is no uinput, so gamepad emualtion has to be rewritten. Most likely using ViGEm that @Ryochan7 linked post above
  • Windows uses different keycodes, button names etc, so conversion code has to be made to convert stuff like Keys.KEY_LEFTMETA to whatever numerical constant Windows uses for Winkey.
  • Reverse conversion has to be done for grabbing keys using GUI
  • And grabing keys in GUI will not work with current code at all :)
  • GUI uses unix socket to communicate with daemon. And while it's easy to just use TCP here, it opens whole can of security issues along with possibility of everything crashing when something else uses same port
  • And when we are talking about daemon, there is no such thing on Windows. Or rather, proces can act as daemon without all magic needed on Linux. This is already partially fixed by converting daemon into normal "exe", but stuff like stopping and restarting currently does nothing.
  • OSD (including on-screen keyboard) depends on X11 to create non-clickable, non-managed window. I'm not sure if same is even possible on Windows
  • Gesture recognition uses OSD. But at least drawing "blindly" should work.
  • Similarly, stuff like restricting mouse to specific area depends on X11 as well. But adding support throug winapi shouldn't be hard
  • And autoswitcher is X11-only as well.

I'll update that list if I remember anything else :)

@BanCrash
Copy link

BanCrash commented Aug 2, 2017

Well, thanks for at least having it on the todo list!!

@kozec
Copy link
Owner

kozec commented Oct 30, 2017

Absolutely nothing is happening, I'm just writing down library that may be usable as uinput replaceament.

http://vjoystick.sourceforge.net/site/index.php/dev216

@BanCrash
Copy link

Like the meme says, it's something!! Thanks for letting us know!

@uppps
Copy link
Author

uppps commented Jun 19, 2018

@kozec Any progress? There haven't been any new commits in the windows branch recently.

@elboletaire
Copy link

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!

@kozec
Copy link
Owner

kozec commented Nov 26, 2018

If someone is still watching this and feels really adventurous, there is now work-in-progress SCC that should work on Windows.

@faldor20
Copy link

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.

@kozec
Copy link
Owner

kozec commented Dec 12, 2018

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.

@faldor20
Copy link

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.

@dastious
Copy link

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.
Also i need to launch many time the daemon, because it always return serial number can't be obtain.

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.
So for now the pad is not usable.

@kozec
Copy link
Owner

kozec commented Dec 14, 2018

Win 7 user, seems to work but it only emulate ps4 pad

That's intentional, and probably will stay like that for foreseeable future :( It's better alternative than crashing entire OS.

Also i need to launch many time the daemon, because it always return serial number can't be obtain.

... 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.

Also the camera pad for ps4 don't work : relXY function is not here.

Probably good thing to prioritize, thanks for reminding me.

@kozec
Copy link
Owner

kozec commented Dec 15, 2018

New pre-release now works with XInput on Windows 10.

@pk044
Copy link

pk044 commented Dec 25, 2018

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!

@john-2000
Copy link

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
how do I activate different profiles? (if I just wanted the SC as an generic / Xbox controller, could I just overwrite the currently loaded profile with the xbox one?)

I gather the OSD is not working yet (? or does it require some GTK dependencies on windows?

@Ryochan7
Copy link
Contributor

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.

  1. ABS_RY is inverted.
  2. LS mapped to ABS_LX and ABS_LY causes some erratic behavior especially when the stick is moved almost due north. ABS_LY will get inverted only for a small region of the stick.
  3. ABS_RZ seems to get stuck at about 3/4 pull sometimes.
  4. The gamepad state seems to reset when there is no new activity on the Steam Controller. Buttons will not stay held down if there is no axis activity.

Since exclusive access to the Steam Controller cannot be obtained yet, I have been testing playing Turok 2 from GOG Galaxy.

@kozec
Copy link
Owner

kozec commented Dec 28, 2018

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?

Yes, until GUI is there, editing sccprofile file in text editor should work.

I start the daemon
how do I activate different profiles? (if I just wanted the SC as an generic / Xbox controller, could I just overwrite the currently loaded profile with the xbox one?)

I gather the OSD is not working yet (? or does it require some GTK dependencies on windows?

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.

@Ryochan7
Copy link
Contributor

I recorded a short video showing some of the issues that I was having. Hopefully that will be a useful reference.

https://www.youtube.com/watch?v=j_V0lwKFlTc

@kozec
Copy link
Owner

kozec commented Dec 29, 2018

Okay, I believe I managed to fix all of that and put it into prerelease number 3.

@elboletaire
Copy link

elboletaire commented Dec 29, 2018

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:

  • Press the steam button when the overlay is already open.
  • Every time you select any of the overlay options.

The error is the same for all (Error 10054; dropping client), although, when you try to open the overlay again there's a different message before that error:

[E] OSD          Failed to lock controller

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.

@kozec
Copy link
Owner

kozec commented Dec 29, 2018

Basically, the warnings arise when you:

  • Press the steam button when the overlay is already open.

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.

  • Every time you select any of the overlay options.

The error is the same for all (Error 10054; dropping client),

That's just means that menu is finished and closed connection, so it's expected, but I should probably silence it.

@Ryochan7
Copy link
Contributor

Just tried the latest pre-release and all of those issues have been fixed. Thank you.

@babasior
Copy link

babasior commented Dec 27, 2020

Hi,

First of all, many thanks for this amazing work !

I made different kind of test with Windows version 4.9.12 and i have some issues

    1. OSD Menu has a bug (from after release 4.9.9), i can't exit from submenu with B button (it was working previously).
    1. I can't record second controller (first controller is Steam Controller - Working fine) 8bitdo SN30 Pro : i can select it but after button mapping window dialog box if i click on next nothing happen .... Perhaps developpement of this part is not finished yet ?
      In fact it's strange, because it working with sc-controller-console.exe but there is a problem with right stick mapping only X axis working and stick click doesn't work ... Wrong Y axis Value are detected ...
      And i can't delete the device from the list (-) button is gray. So my Steam controller doesn't work anymore :-(
    1. Import/export menu doesn't work.

Questions
do you know if rumble feedback is supported on games with steam controller (and how to select it ?) ?

Here my OSD menu script modification for 4.9.12 Default.menu file

[{
"separator": true,
"name": "Select profiles"
}, {
"generator" : "profiles"
}, {
"separator": true,
"id": "separator-after-profile-list",
"name": "Options"
}, {
"action": "turnoff()",
"id": "turnoff_item",
"icon": "system/turn-off",
"name": "Turn Controller OFF",
"osd": true
}]

  • Could you launch scc-daemon.exe at the same time than scc-controller.exe please ?
    I made a batch script for that and it's working very well.
  • Could you made an optional feature (check box ?) for application icon on system tray please ?
  • By default, it will be usefull to have application minimized on system tray at launch.
  • Could you made an option to unload scc-daemon at sc-controller closed please ?
  • About autoswitcher, is there any developpement release available soon ? because it could be interresting to close emulation at steam launch (or not), a checkbox to do that will be nice. because, sometime, your steam controller driver working better than steam itself for specific Xbox emulation gamepad used by some games.
  • It could be nice to have a profile management with application exe path association for automatic switching.
  • one last thing is to add in the menu behind import/export the capability to launch external application exe of our choice to launch for specific profiler controller for example.

@babasior
Copy link

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.

{
"axes": {
"72": {
"axis": "ltrig",
"max": 32767,
"min": -32768
},
"73": {
"axis": "rtrig",
"max": 32767,
"min": -32768
},
"1048576": {
"axis": "stick_x",
"deadzone": 3586,
"max": 65535,
"min": 0
},
"1048577": {
"axis": "stick_y",
"deadzone": 17688,
"max": 0,
"min": 65535
},
"1048578": {
"axis": "rpad_x",
"deadzone": 65538,
"max": 65535,
"min": 0
},
"1048579": {
"axis": "rpad_y",
"deadzone": 4,
"max": 32767,
"min": -32768
}
},
"buttons": {
"64": "B",
"65": "A",
"66": "C",
"67": "Y",
"68": "X",
"70": "LB",
"71": "RB",
"74": "BACK",
"75": "START",
"77": "STICKPRESS",
"78": "RPADPRESS"
},
"dpads": {},
"emulate_c": false,
"gui": {
"background": "x360",
"buttons": [
"A",
"B",
"X",
"Y",
"BACK",
"C",
"START",
"LB",
"RB",
"LT",
"RT",
"LG",
"RG"
]
}
}

@rusagent
Copy link

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.

image

(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
W UDataManager enumerate_children_async returned no files
[d] SCCC Connecting to 'C:\Users\flori\AppData\Roaming\scc\daemon.socket'...

@DFOXpro
Copy link

DFOXpro commented May 11, 2021

Things I found not working or crashing the UI/daemon:

  • Import/Export Modal is not working
  • Circular input on trackpad do nothing
  • Actions with None params (like empty buttons on dpad) crash the UI on profile select via the dropdown or with daemon on the overlay default menu

Also thanks for porting this to windows, playing vr with the circular input willbe like a dream ;D

@gelatinbomb
Copy link

@rusagent I have the same problem.
Also haptic feedback is not working correctly. It appears it works but when I try to adjust the haptics it stop working and after that I can't fix the haptics again on this profile.
I found when I change the haptics the value gets corrupted. Lets say I choose 4000, when I click ok the value gets changed to 4000000.
Another problem is when you apply a button to the fully press trigger it gets applied to the semi-pressed trigger.
Sadly for these problems the sc-controller console didn't show me anything.
I'm happy to see sc-controller on Windows. I just got my first steam controller so If you need help testing stuff I'm here!

@gelatinbomb
Copy link

I found that using values from 1 to 9 you can get the feedback working since the program will always add three zeros extras on the configuration file.
I find this on the code. Could this be the part causing the problem? It would explain why every number I add have like three extra zeros.
image
The dpad settings can't get any haptics values btw. No matter what I try the haptics get lost.
There is a lot of weird stuff happening actually. If I manage to get good at coding I could give you a hand. But for now I'm bare-bones at coding, drivers, and windows stuff.

@DFOXpro
Copy link

DFOXpro commented Jul 11, 2021

Another problem is when you apply a button to the fully press trigger it gets applied to the semi-pressed trigger.

I believe this also happens in the Linux build, it's like the full-press is ignoring the physical button for the triggers

@14142000
Copy link

If someone is still watching this and feels really adventurous, there is now work-in-progress SCC that should work on Windows.

I am excited because steam input doesnt work in battle.net games and I would love more granular control of my xbox one gamepad

@axm2
Copy link

axm2 commented May 26, 2022

I'm having the same issue as #596 Tried reinstalling vigembus, trying different usb ports.

@Catcher40
Copy link

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.

@rusagent
Copy link

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

@Ryochan7
Copy link
Contributor

I'm having the same issue as #596 Tried reinstalling vigembus, trying different usb ports.

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.

https://vigem.org/projects/HidHide/

@Ryochan7
Copy link
Contributor

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.

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
https://www.youtube.com/watch?v=-QvJoQMGupg

@axm2
Copy link

axm2 commented May 26, 2022

I'm having the same issue as #596 Tried reinstalling vigembus, trying different usb ports.

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.

https://vigem.org/projects/HidHide/

That did the trick, thanks for the help 👍

@Ryochan7
Copy link
Contributor

Ryochan7 commented Jun 5, 2022

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:
.NET 5 Runtime x64 - https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-5.0.17-windows-x64-installer
ViGEmBus 1.17.333.0 - https://github.com/ViGEm/ViGEmBus/releases/download/setup-v1.17.333/ViGEmBusSetup_x64.msi
FakerInput - https://github.com/Ryochan7/FakerInput/releases/download/v0.1.0/FakerInput_0.1.0_x64.msi

Optional Tools:
HidHide - https://vigem.org/projects/HidHide/

Source:
https://gitlab.com/ryochan7/steam-controller-test/-/tree/action_ideas

Archive:
https://drive.google.com/file/d/1yf2noIjkwnS3sbpbJqxHSdWK3i7b4bR8/view?usp=sharing

example_mapper_screen_20220605

example_mapper_profile_overview_20220605

@axm2
Copy link

axm2 commented Jun 6, 2022

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.

@Ryochan7
Copy link
Contributor

Ryochan7 commented Jun 6, 2022

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.

@pattontim
Copy link
Contributor

pattontim commented Jun 15, 2022

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

Python path configuration:
  PYTHONHOME = (not set)
  PYTHONPATH = 'C:\Python27\Lib'
  program name = 'C:\msys64\mingw32\bin\python.exe'
  isolated = 0
  environment = 1
  user site = 1
  import site = 1
  sys._base_executable = 'C:/msys64/mingw32/bin/python.exe'
  sys.base_prefix = 'C:/msys64/mingw32'
  sys.base_exec_prefix = 'C:/msys64/mingw32'
  sys.platlibdir = 'lib'
  sys.executable = 'C:/msys64/mingw32/bin/python.exe'
  sys.prefix = 'C:/msys64/mingw32'
  sys.exec_prefix = 'C:/msys64/mingw32'
  sys.path = [
    'C:\\Python27\\Lib',
    'C:/msys64/mingw32/lib/python39.zip',
    'C:/msys64/mingw32/lib/python3.9',
    'C:/msys64/mingw32/lib/python3.9/lib-dynload',
    '',
  ]
/c/Users/mat/bin:/mingw32/bin:/usr/local/bin:/usr/bin:/bin:/c/Python27:/c/Python27/Scripts:/c/Windows/system32:/c/Windows:/c/Windows/System32/ ...```

@pattontim
Copy link
Contributor

pattontim commented Jun 16, 2022

src/daemon/meson.build:120:0: ERROR: run_target got unknown keyword arguments "dependencies"

to get a version which can build refer to https://github.com/mKenfenheuer/sc-controller/tree/windows-steamdeck

you need to install extra libraries

pacman -S mingw-w64-i686-gtk3 mingw-w64-i686-python2-gobject2

@eric-akira
Copy link

Are two steam controllers supported on the windows version?
I'm running pre-release 4.9.12. Tried 2 controllers + 2 dongles, 2 controllers + 1 dongle, 1 controller with cable + 1 controller with dongle.
Don´t know how to provide more info, but I will be glad to help =)

@kauron
Copy link

kauron commented Oct 15, 2022

Hi there, I've just tried the latest prerelease (0.4.9.12) in Windows 10, and I get the following error when launching sc-controller-console.exe:

[I] GUI          Starting SC Controller GUI (forced console) v0.4.5...
[D] GUI          Initializing python...
[d] GUI          Python home: [FOLDER]\sc-controller-0.4.9.12-win32-pre-release
[d] GUI          Python path: [FOLDER]\sc-controller-0.4.9.12-win32-pre-release\python;[FOLDER]\sc-controller-0.4.9.12-win32-pre-release\python\scc\lib;[FOLDER]\sc-controller-0.4.9.12-win32-pre-release\lib\python2.7[FOLDER]\sc-controller-0.4.9.12-win32-pre-release\lib\python2.7\lib-dynload;[FOLDER]\sc-controller-0.4.9.12-win32-pre-release\lib\python2.7\site-packages
[E] GUI          Failed to initialize gui_loader.py:
Traceback (most recent call last):
  File "[FOLDER]\sc-controller-0.4.9.12-win32-pre-release\python/gui_loader.py", line 19, in <module>
    glades = os.path.join(get_share_path(), "glade")
  File "[FOLDER]\sc-controller-0.4.9.12-win32-pre-release\python/scc/paths.py", line 117, in get_share_path
    return lib_bindings.scc_get_share_path().decode("utf-8")
  File "[FOLDER]\sc-controller-0.4.9.12-win32-pre-release\lib\python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xed in position 14: invalid continuation byte

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.

@kozec
Copy link
Owner

kozec commented Oct 22, 2022

UnicodeDecodeError: 'utf8' codec can't decode byte 0xed in position 14: invalid continuation byte

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.

@kozec
Copy link
Owner

kozec commented Oct 22, 2022

Are two steam controllers supported on the windows version?

Only theoretically. Have you occured any issue, or it just plainly doesn't work?

@kauron
Copy link

kauron commented Oct 22, 2022

UnicodeDecodeError: 'utf8' codec can't decode byte 0xed in position 14: invalid continuation byte

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.

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.

@smvicente
Copy link

Are two steam controllers supported on the windows version?

Only theoretically. Have you occured any issue, or it just plainly doesn't work?

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!

@pattontim
Copy link
Contributor

pattontim commented Feb 28, 2023

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.

@Ryochan7
Copy link
Contributor

Ryochan7 commented Mar 1, 2023

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

@smvicente
Copy link

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.

@Ryochan7
Copy link
Contributor

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.

@virgoparna
Copy link

virgoparna commented Nov 17, 2023

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).
But sc-controller.exe fails to launch. And sc-controller-console.exe shows:

[E] GUI          Failed to initialize gui_loader.py:
Traceback (most recent call last):
  File "C:\bin\scc\python/gui_loader.py", line 4, in <module>
    gi.require_version('Gtk', '3.0')
  File "C:\bin\scc\lib\python2.7\site-packages/gi/__init__.py", line 129, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Gtk not available

I even changed path in terminal window before executing sc-controller-console.exe to minimal path
C:\Windows\System32;C:\Windows;C:\Windows\System32\wbem
to exclude local Python 3.11 install from path.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests