xboxdrv/TODO

248 lines
7.2 KiB
Text
Raw Normal View History

2008-11-06 07:41:12 -07:00
- using rumble in scripts doesn't work, since you can't reset rumble back to 0,0
- locate a USB device with a string or two
- thread away on all endpoints
- read from stdin on the main thread
- send output to file or so
usb -d 005:006 -c 5:in,5:out,6:in,7:in,8:out -o /tmp/out, else stdin
2008-11-06 07:41:12 -07:00
- print version number on normal use
More general button map support:
% ./xboxdrv --buttonmap B=BTN_A,X=BTN_A,Y=KEY_B
So pressing B sends out BTN_A uinput event
2008-05-06 04:30:23 -06:00
Daemon Mode:
SYSFS{idVendor}=="045e", SYSFS{idProduct}=="028e", RUN+="/home/ingo/projects/xboxdrv/trunk/xboxdrv --daemon"
2008-05-03 03:58:50 -06:00
2008-05-06 04:30:23 -06:00
Unpluging doesn't work and causes xboxdrv processing running amok
Pictures of Xbox360 and controller:
http://g-prime.net/x360/
--stick2-as-throttle
Makes the second stick act as throttle control
2008-05-03 04:26:38 -06:00
Add examples to Readme for specific games
Use cases:
==========
* flightsim:
expects: X/Y Rudder Throttle
XBox: Left-Stick LT+RT Right-Stick(rel)
* FPS:
expects: Mouse-X/Y Walk-X/Y Trigger
XBox: Left-Stick RickStick Trigger(btn)
* 2D Jump Run (done)
needs dpad first
2008-05-01 08:40:10 -06:00
FIX:
2008-05-01 03:05:02 -06:00
=====
filter auto known unknown messages
2008-05-03 03:58:50 -06:00
uinput name should be configurable
uinput busid/devid shouldn't be hardcoded
2008-05-01 08:40:10 -06:00
Battery warning: LEDs 1,4 then 2,3 over and over ~10 times rapidly
2008-05-01 03:05:02 -06:00
2008-04-29 07:55:16 -06:00
* a way to send keyboard combination sequences or more general event sequences
* abs input must be normalized to min/max
* rel input must be scaleable
2008-04-26 02:20:09 -06:00
* Cleanup naming conventions
sending rumble is slow and delayed, gets buffered up
2008-04-24 15:47:40 -06:00
* examples in doc for --dpad as buttons and other options
2008-04-23 15:56:16 -06:00
2008-04-20 19:00:51 -06:00
Figure out:
===========
Unknown data: bytes: 3 Data: 0x01 0x03 0x0e
Unknown data: bytes: 3 Data: 0x02 0x03 0x00
Unknown data: bytes: 3 Data: 0x03 0x03 0x03
Unknown data: bytes: 3 Data: 0x08 0x03 0x00
Unknown data: bytes: 3 Data: 0x01 0x03 0x00
Different Computer/Pad:
Unknown data: bytes: 3 Data: 0x01 0x03 0x0e
Unknown data: bytes: 3 Data: 0x02 0x03 0x00
Unknown data: bytes: 3 Data: 0x03 0x03 0x03
Unknown data: bytes: 3 Data: 0x08 0x03 0x00
Unknown data: bytes: 3 Data: 0x01 0x03 0x00
/* Happens with XBox360 Controller sometimes
Unknown data: bytes: 3 Data: 0x01 0x03 0x0e
Unknown data: bytes: 3 Data: 0x02 0x03 0x00
Unknown data: bytes: 3 Data: 0x03 0x03 0x03
Unknown data: bytes: 3 Data: 0x08 0x03 0x00
-- different session:
Unknown data: bytes: 3 Data: 0x01 0x03 0x0e
Unknown data: bytes: 3 Data: 0x02 0x03 0x00
Unknown data: bytes: 3 Data: 0x03 0x03 0x03
Unknown data: bytes: 3 Data: 0x08 0x03 0x00
Unknown data: bytes: 3 Data: 0x01 0x03 0x06
*/
2008-04-19 22:58:20 -06:00
-----
Guitar:
2008-04-19 22:58:20 -06:00
Tilt Sensor: is mapped to the second axis of S2, to LT and RT (three parts)
- Range for 2nd axis of S2 : -32768 when guitar is straight down and 32767 when she is straight up.
- Range for LT : ~200 not very precise and ~60 at min.
- Range for RT : ~190 not very precise and ~55 at min.
dummy should stay mostly 0, except the position five and six, which
are the LT/RT trigger. We can either just ignore them or you can try
to find out if they have any meaning.
They control guitar rotation, hmm hard to explain, it's when I rotate the guitar in front of me, it detects if the guitar is in the correct position.
-----
2008-04-17 12:31:50 -06:00
* Question: Firestorm Dual Power: How to get rumble to work when there is no endpoint to send data to?
2008-04-15 10:09:16 -06:00
* Guitar Hero Controller:
- lsusb -v output looks like a XBox360 controller
- usbcat looks like an XBox360 controller
- it doesn't report events
2008-04-15 08:06:48 -06:00
http://forums.gentoo.org/viewtopic-p-5061825.html
http://gentoo-wiki.com/HOWTO_Xbox_360_controller_on_Linux
http://happypenguin.org/show?xboxdrv
http://ubuntuforums.org/showthread.php?t=404577&page=16
2008-04-17 12:31:50 -06:00
http://tattiebogle.net/index.php/ProjectRoot/Xbox360Controller/OsxDriver
2008-04-15 08:06:48 -06:00
2008-04-20 19:00:51 -06:00
WirelessHIDDevice::receivedMessage(IOMemoryDescriptor *data)
* wireless reports battery level
2008-04-14 07:47:15 -06:00
* disconnecting the pad in use will just let the driver wait forever
for new data, any way we can catch a disconnect?
* a way to configure the deadzone for axis (might be needed for some games)
2008-04-13 14:21:19 -06:00
* Add support for dancepad/mats (should just mean cleanup up the
buttons/axis not provided by the dancepad/mat)
New Command Line Options:
--button-map BTN
BTN is a list of integers, where each integer corresponds to the
event that gets send
A,B,X,Y,LB,RB,SL,SR,LT,RT,Start,Mode,Back,DPAD-UP,DPAD-DOWN,DPAD-LEFT,DPAD-RIGHT
A,B,X,Y,TL2,TR2,TL,TR,
#define BTN_A 0x130
#define BTN_B 0x131
#define BTN_C 0x132
#define BTN_X 0x133
#define BTN_Y 0x134
#define BTN_Z 0x135
#define BTN_TL 0x136
#define BTN_TR 0x137
#define BTN_TL2 0x138
#define BTN_TR2 0x139
#define BTN_SELECT 0x13a
#define BTN_START 0x13b
#define BTN_MODE 0x13c
#define BTN_THUMBL 0x13d
#define BTN_THUMBR 0x13e
2008-04-11 05:59:07 -06:00
* add support to remap keys
2008-04-11 05:59:07 -06:00
* allow mouse emulation
* allow swapping of dpad and analog axis, so that dpad is first instead of last
* merge this thing with Pingus Input handling to get a very flexible framework?
2008-04-11 05:59:07 -06:00
* ...
[[ InputDrv ]]
==============
Needed features:
================
* stick to mouse
* relative-axis (throttle doesn't flip back, a stick does, need to handle that)
* trigger to button
* dpad to axis
* dpad to button
* inversal of axis
* soft-axis for dpad
(controller
(button (name "BTN_X") ;; X and Y send out BTN_X events
(device (xbox360-button "Y")
(xbox360-button "X")))
(button (name "BTN_A")
(device (inverse (xbox360-button "Y"))))
(axis (name "ABS_X")
...
)
2008-05-03 04:26:38 -06:00
Controls:
=========
* invert button
* toggle button
* autofire button
* invert axis
* deadzone axis
* split axis (gas/break)
* join axis (trigger -> zaxis)
* non-linear axis (gamma or so)
[[ Xorg Input Hotplug ]]
========================
Not available in Ubuntu and still rough, would work via Dbus, see:
http://www.x.org/wiki/XInputHotplug
d-feet is a Dbus debuging/viewing tool.
Example Dbus stuff:
-------------------
dbus-send --system --type=method_call --print-reply --dest=org.x.config.display0 /org/x/config/0 org.x.config.input.remove uint32:5
Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.x.config.display0 was not provi
Doing polling seems to lose some events
dbus-send --dest=org.gnome.ScreenSaver
/
dbus-send --dest=org.freedesktop.ExampleName \
/org/freedesktop/sample/object/name
org.freedesktop.ExampleInterface.ExampleMethod \
int32:47 string:'hello world' double:65.32 \
array:string:"1st item","next item","last item" \
dict:string:int32:"one",1,"two",2,"three",3 \
variant:int32:-8 \
objpath:/org/freedesktop/sample/object/name
dbus-send --dest=org.x.config.display0 \
/org/x/config/0
org.x.config.input.add
dbus-send --dest=org.x.config.display0 /org/x/config/0 org.x.config.input.remove int32:5
dbus-send \
--dest=org.x.config.display0 \
org.freedesktop.DBus.Introspectable \
org.freedesktop.DBus.Introspectable.Introspect \
2008-04-11 05:59:07 -06:00
# EOF #