Updated Input Options (markdown)

Jannik Vogel 2015-07-29 10:03:51 +02:00
parent 3ee7748d94
commit a15747db3c
1 changed files with 7 additions and 5 deletions

@ -3,10 +3,10 @@
The Xbox uses so called Xbox Input Devices (XID). The Xbox uses so called Xbox Input Devices (XID).
The hardware side is USB with a different plug while the software side is USB without HID-descriptors. The hardware side is USB with a different plug while the software side is USB without HID-descriptors.
Technicly a XID is a USB-hub for the Memory-Units and the XBL Communicator. Technicly a XID is a USB-hub for the Memory-Units and the XBL Communicator.
The XID Gamepad USB-Device is internally connected to that hub. The XID gamepad USB device is internally connected to that hub.
To connect a device you must specify the driver for the emulated USB device and the port the device should connect to. To connect a device to the virtual Xbox you must specify the driver for the emulated USB device and the port the device should connect to.
You also need to specify "-usb" on the command line to add usb functionality. You also need to specify `-usb` on the command line to add usb functionality.
The ports which can be used in XQEMU are: The ports which can be used in XQEMU are:
@ -22,6 +22,8 @@ So if you have a hub for Player 1 at `bus=usb-bus.0,port=3`, your gamepad-device
To connect multiple gamepads you can simply specify multiple `-device`. To connect multiple gamepads you can simply specify multiple `-device`.
To find out more about QEMU USB emulation you can read [the QEMU User Documentation](http://qemu.weilnetz.de/qemu-doc.html#pcsys_005fusb) (Note that XQEMU is based on QEMU 1.7 at this time while the Documentation is for the more recent QEMU 2.4.0+)
## Emulated XID ## Emulated XID
There is XID emulation in XQEMU which emulates a very basic Duke Xbox Controller [VID: 0x045e, PID: 0x0202]. There is XID emulation in XQEMU which emulates a very basic Duke Xbox Controller [VID: 0x045e, PID: 0x0202].
@ -67,7 +69,7 @@ To be able to forward any of the host devices you must take the following steps:
3. Find the VID:PID (Vendor and Product ID) of the XID-Hub and/or the internal Gamepad device 3. Find the VID:PID (Vendor and Product ID) of the XID-Hub and/or the internal Gamepad device
4. Make sure that libusb has the necessary permissions 4. Make sure that libusb has the necessary permissions
<sup>\* Please do not destroy original Controllers. Instead buy a cheap break-away or extension cable. By cutting it in half you can create 2 USB Adapters: 1. USB to Xbox + 2. Xbox to USB. You can still use your adapters as an extension cable for most XIDs (not working with Lightguns).</sup> <sup>\* Please do not destroy original controllers. Instead buy a cheap break-away or extension cable. By cutting it in half you can create 2 USB adapters: 1. USB to Xbox + 2. Xbox to USB. You can still use your adapters as an extension cable for most XIDs (not working with lightguns).</sup>
On Linux you can use "lsusb" for step 2. Step 3 involves adding a udev rule on most linux distributions. On Linux you can use "lsusb" for step 2. Step 3 involves adding a udev rule on most linux distributions.
The udev rule (/etc/udev/rules.d/999-xbox-gamepad.rules) for a Controller-S could look like this: The udev rule (/etc/udev/rules.d/999-xbox-gamepad.rules) for a Controller-S could look like this:
@ -97,4 +99,4 @@ For Gamepad forwarding we create a virtual hub using QEMU and connect the XID ga
# Contribute # Contribute
If you are a developer you can also check out the [XID emulation source code](../blob/xbox/hw/xbox/xid.c). If you are a developer you can also check out the [XID emulation source code](../blob/xbox/hw/xbox/xid.c).
You could write a new driver to turn connected Xbox 360 Gamepads into original Xbox XIDs for example. You could write a new driver to turn connected Xbox 360 gamepads into original Xbox XIDs for example.