xboxdrv/TODO
2008-04-15 18:09:16 +02:00

133 lines
3.2 KiB
Text

* Guitar Hero Controller:
- lsusb -v output looks like a XBox360 controller
- usbcat looks like an XBox360 controller
- it doesn't report events
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
* add jstest, evtest into the source
* 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)
* 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
--dpad-first
Dpad becomes first and second axis, instead of last, useful for 2D
jump'n run
--stick2-as-throttle
Makes the second stick act as throttle control
* add support to remap keys
* 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?
* ...
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
needs dpad first
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")
...
)
;; -- Pingus Input Configuration --
(pingus-controller
(standard-pointer
(usbmouse:pointer (device "/dev/input/mx500")))
(standard-scroller
(usbmouse:scroller (device "/dev/input/marblemouse")))
(primary-button
(usbmouse:button (device "/dev/input/mx500") (button 0)))
(secondary-button
(usbmouse:button (device "/dev/input/mx500") (button 1)))
(pause-button
(usbmouse:button (device "/dev/input/mx500") (button 4)))
(fast-forward-button
(usbmouse:button (device "/dev/input/mx500") (button 3)))
;; (armageddon-button
;; (usbmouse:button (device "/dev/input/mx500") (button 4)))
(escape-button
(sdl:keyboard-button (key "escape")))
(action-up-button
(usbmouse:button (device "/dev/input/mx500") (button 6)))
(action-down-button
(usbmouse:button (device "/dev/input/mx500") (button 5)))
)
;; EOF ;;
# EOF #