TODO updates

This commit is contained in:
Ingo Ruhnke 2011-01-26 17:26:17 +01:00
parent 549dbe4674
commit 04c24bd710

85
TODO
View file

@ -42,7 +42,12 @@ $ dput my-ppa ../xboxdrv_0.7.0-1~lucid1_source.changes
Stuff to do before 0.7.0 release:
=================================
* print controller type/name in daemon
* update docu on force feedback for multi controller
* rename --list-key to --help-key?
* print controller type/name in daemon (little tricky as that is only
known after opening the USB connection)
* log levels:
@ -59,38 +64,54 @@ Stuff to do before 0.7.0 release:
* fix the FIXME's
* fix event output (have it pre-modifier or post-modifier?), don't
output on daemon use (ever?!)
* need to hide/disable the toggle button from the UIButtonmap
- maybe implement some full post-parsing option verification to
check for conflicts and necessary modifications?
* move XBOX_BTN_UNKNOWN behind XBOX_BTN_MAX, so iteration can start
from 0 instead of 1, also fix incorrect iterations all over the
place
place -> doesn't work as some code uses XBOX_BTN_UNKNOWN as 'no
button is pressed'
Daemon Related Stuff
====================
* cleanup device_id, don't manually do (slot<<16) | devid
* need to properly tear down the rumble callback to avoid calling it
before XboxGenericController gets destructed
* get rid of all std::cout stuff, redirect it somewhere else
* unplugging a controller should reset it to neutral position
* improve output on which uinput devices are created
* fix --no-uinput
* implement --on-connect and --on-disconnect for the daemon
- maybe have a more general event interface that allows to run stuff
on configuration changes, controller plug-ins, etc. (notifiy area as example)
- also supply useful information as argument
* handle multiple controllers in a sane manner (requires cloning of
modifier maps, also auto increment of "auto" device id's)
* need magic to assign controller to a slot:
what: match product/vendor-id, match device name
where: match USB path, match /dev/input/??? path
when: just assign them to the next free slot
--match RULE,... # match any of the given rules
--match-group RULE,... # match all of the given rules
Rules:
======
usbpath=005:003 (implicit vendor/product match)
usbid=045f:028f
evdev=/dev/input/event5
(no rules means it always matches)
1) search for match
2) if no match is found search slots without rules
* matching by usbpath makes very little sense, as the dev argument
gets incremented with each replug, bus alone might be usable
* match again sysname could make sense, seems somewhat constant: "5-2"
Xbox1 controller results in "5-2.1", due to being really two devices
* might need magic to give device-ids in a slot fashion:
from: 1-ABS_X (second uinput device)
to: 2.1-ABS_X (third uinput device for the second slot)
@ -99,15 +120,13 @@ Daemon Related Stuff
1.auto-BTN_MIDDLE
auto-BTN_MIDDLE
change syntax: BTN_MIDDLE@mouse, BTN_MIDDLE@2.mouse
must make sure it doesn't conflict with anything
List Output
===========
* make controller type part of the message, instead of manually
carrying around type variable:
-> doesn't really work, as some gamepads just emulate other message
types, need to restructure the whole messaging infrastructure
* do modifier/filter dump when --verbose is given, make verbose
overall more useful
@ -125,12 +144,22 @@ List Output
1 Author: Aaron Denney <wnoise@ofb.net>
1 hal daemon from Thomas Debouverie <debouverie_thomas@yahoo.fr>
1 Implemented --ui-buttonmap A=BTN_A@{device_id} ??!?!?
Stuff to do before 0.7.1 release:
=================================
* implement --on-connect and --on-disconnect for the daemon
- maybe have a more general event interface that allows to run stuff
on configuration changes, controller plug-ins, etc. (notifiy area as example)
- also supply useful information as argument
Stuff to do before 0.7.x release:
=================================
* add ABS support to macros
* -R, --rumble-test is broken for FirestormDualController (has no analog triggers)
* add ABS support to macros (need to deal with min/max)
* Playstation 3 controller support
- http://www.pabr.org/sixlinux/sixlinux.en.html
@ -187,9 +216,6 @@ Stuff to do before 0.7.x release:
* document common problems, such as lack of deadzone handling in games
* give a warning when the user uses X as axis, instead of X1 (X is the
xbox1 analog button), maybe rename X button to btn_x or xbtn ybtn
* make chatpad configurable:
--ui-chatpad a=KEY_A,green+a=SHIFT_X+KEY_B,...
@ -198,6 +224,7 @@ Stuff to do before 0.7.x release:
shifted/mode_switched in the keymap, i.e. send key combination
* can't parse:
--ui-axismap x2=2-ABS_X,y2=2-ABS_Y
only this works:
@ -206,10 +233,6 @@ Stuff to do before 0.7.x release:
implement better guessing
* have separate ControllerConfig for each controller_slot
* use pretty print to print copyright notice
* current deadzone code messes up the diagonals
* shifted axis without default mapping don't work:
@ -263,9 +286,9 @@ http://sourceforge.net/tracker/download.php?group_id=286545&atid=1214224&file_id
http://www.x.org/docs/XKB/XKBlib.pdf
* find a way to bring back --no-extra-devices, saves typing
http://www.mp3car.com/vbulletin/input-devices/108554-xbox360-chatpad-awsome-backlit-mini-keyboard-16.html#post1256444
* find a way to bring back --no-extra-devices, saves typing
* change default axis/button map depending on controller type (tricky as
type is only really known after the axis/buttonmap as already been