Steam Controller Driver Without Running Steam

12/24/2021by admin
Posted by2 years ago
  1. Steam Controller Outside Of Steam
  2. Steam Controller Driver Update
  3. Install Steam Controller
  4. Steam Controller Driver Without Running Steam Windows 10
Archived

If you need to add ujr.exe to steam and run it from steam, how is that 'using the controller without steam'. Even if you don't need to add anything to your steam library, running another program that interrupts inputs and emulates them is exactly the same as running steam, except you don't get all the config options that you get with steam. Steam now supports a range of gamepads without the need of third-party programs. You can even use some third-party PS4 controllers, including some HORI, MadCatz, the Emio PS4 Elite controller. The latest Steam client update added native controller support for many of today’s most used controllers, making the task of playing non-controller games much simpler. A Steam Machine or other computer capable of running Steam Big Picture Mode, in order to view, edit, save, and share Steam Controller mappings. Police Try Playing Grand Theft Auto 5 Without.

UPD, Feb. 21, 2017:

A new, more clear and more helpful version of this guide has arrived!

0. Join Steam Beta program. After that, go to Big Picture Mode -> Gear icon -> Controller settings, UNcheck support for generic controllers. Now exit Steam and proceed to step 1.

1. Plug your Dualshock 3 in. If you had any DS3 software prior to this moment (DS3Tool, Better DS3, MotionInJoy, ScpToolkit etc) - consult the web on removal of those (especially MotionInJoy and Better DS3), remove them and proceed to step 2.

2. Get PlayStation Now and install it. It should ask for a permission for driver installation in the process, allow it to, and proceed to step 3. If something went wrong and it didn't happen - follow 'Manual Driver Override' section instructions, and then proceed to step 3.

3. Re-plug your Dualshock 3, go to the Control Panel -> Devices and Printers, find your Dualshock 3 there, right-click it, choose 'Game Controller Settings', select your Dualshock 3 and press 'Properties'. You should see a testing screen, check if the buttons work. If they do, proceed to step 4. If they don't - reboot your PC, then check again. If they still don't - it's possible that your Dualshock 3 has compatibility problems with the Sony driver, and this guide won't help you.

Right now, Dualshock 3 is working in pure DirectInput mode. If that's enough for you - you can use it right now, old games, some newer ones, emulators - they'll all work fine. But if you still need XInput version of Dualshock 3 - go ahead and proceed to step 4.

4. Start Steam. Head to the Big Picture Mode -> Gear icon -> Controller Settings, you'll see your Playstation 3 controller there, navigate to it and click it. The binding screen will open, it looks like this. This screenshot shows the ACTUAL bindings you should have, if they're not the same - rebind them. When you're done, press Save, name it, upload, and now you can actually check the generic controller support checkbox.

5. Exit your Steam again, and re-plug DS3 after that. Start Steam once more, and now it should be working, utilizing all the power (and weaknesses) of Steam Controller Configurator.

Manual Driver Override.

1. With your Dualshock 3 plugged in, go to Control Panel -> Devices and printers, find your Dualshock 3 there and open it's properties, go to 'Hardware' tab.

2. You will see two devices here, find one that has something like Port_#00XX.Hub_#00XX, remember those numbers and close all the stuff.

3. Now go to Control Panel -> Device Manager, expand 'Human Interface Devices' and find one with the numbers you've seen before, open it's properties and go to the 'Driver' tab, click 'Update' button.

4. Select 'Find my drivers manually', and choose the driver path X:WindowsSystem32DriverStoreFileRepositorysixaxis.inf_WXYZ, where X is your system drive, and WXYZ is some numbers and letters.

5. Let it install the driver. You're done, close all the stuff and follow to step 3 of the main guide.

Some FAQ:

Q: Is it available for Mac/Linux?

A: No, PSNow is not, and AFAIK DS3 works great without all this commotion on those.

Q: Do I get working gyro?

A: Yes, you do. BUT you have to bind it instead of actual buttons/axes/d-pad on step 4, and if you're tired of it and want to go back to normal controls (or back to gyro again) - you'd have to uncheck generic gamepad support, restart Steam, replug DS3, rebind stuff the way you want, check generic gamepad support, restart Steam and replug DS3. Not really fast procedure, but if you actually want to use gyro - that's the way for now. Also, if you're going to use your DS3 after step 3 (DInput mode) in the games and apps that support it, then you should be able to use gyro without any problems.

UPD [Jan, 20th, 2018]:

According to /u/jbmoskow, you may need to disable Windows Driver Signature Verification to make it work on Windows 10 Home, x64. The process described here

Also, if you're having problems with connecting two Dualshock 3 controllers, you have to reset the second controller when it is plugged into computer. After that, it should be recognized.

Thanks to:

  1. /u/FlocoPops for bindings screenshot

  2. /u/jbmoskow for some additional info

69 comments

This project is a standalone userland driver for the steam controller to be used where the steam client can't be installed.

Two modes are already working with haptic feedback:

  • xbox360: gamepad emulator
  • desktop: mouse, keyboard mode

The final purpose is to have support for custom mapping created with a stand-alone tool or imported from steam vdf files.

The initial target is GNU/Linux, but I'll welcome any contributor that want to port input generation for other OS (OSX, Windows, *BSD, Android/Linux, ...)

This project is licensed under MIT.

Installation

  1. Install dependencies
  • for python 3.4+:
    • Install python libusb1 sudo pip install libusb1
  • for python 2.7+ (you might have to use pip2 for python2.7 or pip3 for python3):
    • Install python libusb1 sudo pip install libusb1
    • Install python enum backport sudo pip install enum34
  1. Get the project tarbal or clone it from github:
  1. wget https://github.com/ynsta/steamcontroller/archive/master.tar.gz
  2. tar xf master.tar.gz
  3. cd steamcontroller-master
  1. git clone https://github.com/ynsta/steamcontroller.git
  2. cd steamcontroller
  3. Install python modules and scripts with sudo python setup.py install
  4. Install udev rules (if not already done for steam) in /etc/udev/rules.d/99-steam-controller.rules:
  1. Reload udev sudo udevadm control --reload

Usage

  1. Exit Steam.
  2. Start:
  • sc-xbox.py start for the simple xbox360 emulator.
  • sc-desktop.py start for the desktop keyboard/mouse mode.
  1. Stop: sc-xbox.py stop or sc-desktop.py stop

Other test tools are installed:

  • sc-dump.py : Dump raw message from the controller.
  • sc-gyro-plot.py : Plot curves from gyro data (require pyqtgraph and pyside installed).
  • sc-test-cmsg.py : Permit to send control message to the contoller. For example:echo 8f07005e 015e01f4 01000000 sc-test-cmsg.py will make the controller beep.
  • vdf2json.py : Convert Steam VDF file to JSON.
  • json2vdf.py : Convert back JSON to VDF file.

TODO / Status

  1. Finish to guess each bytes/bits roles in the usb message (Done).
  2. Understand how to configure haptic feed backs (Done).
  3. Understand how to enable gyroscopes (Done).
  4. Redirect inputs to userland events via uinput (Done).
    • Xbox360 uintput device (Done)
    • Keyboard uintput device (Done)
    • Mouse uintput device with trackball model (Done)
  5. Create a simple xbox event mapper (Done)
  6. Create a configurable event mapper (Paused):
  • Create an event mapper that reads steam vdf files and maps usb inputs to uinput events.
  • Create fallback mappings for unsupported config options.
  • Get all possible configurations of steam config file.
  1. Create a haptic feedback Manager (Paused)
  2. Measure latencies.
  3. Support multiple controller in wireless mode (Done)
  4. Support multiple controller in wired mode
  5. Support correct deconnexion of controllers (with 2sec press on steam button) (Done)
  6. Add support to control light intensity
  7. Add support for gyroscopes in the event mapper:
    • Enable gyro condition (always on, or on specific button event)
    • Use gyro as mouse (add yaw, pitch, roll accell to mouse event with a scale factor).
    • Use gyro as an axis (compute yawn, pitch or roll from quaternion, normalize to -32768 32768 and use it as an axe)
  8. Optimize event mapper.
  9. Verify if pairing between a controller and a dongle is possible without steam or add a tools to do it.
  10. Add support to change 'music' for power on off.
  11. Create an tool to convert musical notes, to haptic messages.
Steam

Control Messages Capture

  1. sudo modprobe usbmon
  2. lsusb -d 28de:1142 and look at bus and device numbers (B & D)
  3. sudo cat /sys/kernel/debug/usb/usbmon/Bu grep Co:B:D:0 (B=3 and D=003 for example)

Disable auto feedback on rpad:

  • 81000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Enable Gyro

Steam Controller Driver Without Running Steam
  • 87153284 03180000 31020008 07000707 00301400 2f010000 00000000 00000000

Disable Gyro

  • 87153284 03180000 31020008 07000707 00300000 2f010000 00000000 00000000

Steam Controller Outside Of Steam

Stop Controller

Steam Controller Driver Update

  • 9f046f66 66210000 ...

Control Messages formats

Install Steam Controller

Haptic feedback format:

Steam Controller Driver Without Running Steam Windows 10

  • u8 : 8f
  • u8 : 07
  • u8 : 00 for Right 01 for Left
  • u16 : Amplitude
  • u16 : Period
  • u16 : count
  • pads the end with 00
Comments are closed.