Emulate Guitar for Rock Band VR
This page content is from 2017.
Use X360ce Instead
Rock Band VR v1.01 supports 360 guitars, it seems to not care who made it (tested with RB1 Wii guitar and a standard wireless 360 controller). In theory you don’t even need this for 360 Guitar Hero controllers unless you want to remap some buttons.
- x64 xinput1_3
- Controller > Advanced
- Pass Through off
- Device Sub Type “Guitar”
- (Unnecesary?) Game Settings > rbvr.exe > PIDVID
- Fake VID “7085” (0x1BAD)
- Fake PID “2” (0x0002)
Proxy Guitar using USB/IP
The solution above is easier and safer, but if you’re interested in what I was trying before the 1.01 update then read on.
ProxyGuitar is a C# program that emulates a USB/IP server that has a PS3 RB1 guitar - which it’ll fill in the button data from a connected USB device (such as a Wii RB1 guitar not supported by RBVR).
WIP attempt at a button mapping profile creator. Click the byte, click the bit then click the proxy button to map it to. Pressing buttons on the controller will light up the bytes/bits and any mapped proxy buttons.
I didn’t get a chance to use the profile with the server, so it’ll still be using the hard-coded Wii controller.
Source code in abandoned state
If you want to preview the code: https://github.com/Jas2o/ProxyGuitar
Includes an altered HidLibrary for faster device report reading. It has some leftover code to act as a man-in-middle with another USB/IP server (such as one running on an Android phone) in order to research how it would respond to certain USB requests.
Using
- Disable Windows 10’s driver signing enforcement and install the USB/IP 2.0 Unsigned Driver from Daniel Mitchell (the signed driver unfortunately causes blue screens when HID devices disconnect).
- Original download from: https://sourceforge.net/p/usbip/discussion/418507/thread/7ff86875/?limit=50&page=2
- You can also disable the device in Device Manager before disconnecting USB/IP to avoid the blue screen when using the signed version, I toyed with making ProxyGuitar do this automatically using devcon.
- Create a USBIP folder in the same directory and unzip the USBIP 2.0 client inside.
- Connect the USB device you want to convert
- Open ProxyGuitar
- Configure the device profile if necessary.
- Start the server, it’ll run USB/IP as well.
- Run Rock Band VR
Helpful Resources
- Yaron Shani’s Emulating USB Devices In Python With No Additional Hardware! and USB-Emulation
- Cameron Gutman’s USB/IP server for Android