aboutsummaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'TODO')
-rw-r--r--TODO69
1 files changed, 43 insertions, 26 deletions
diff --git a/TODO b/TODO
index b924514..59d6891 100644
--- a/TODO
+++ b/TODO
@@ -54,8 +54,10 @@ Darwin
(in SC_HID.c its locID and cookie)
-it should probably just store the Pd arguments
+- it should probably just store the Pd arguments
+- this will have to be dealt with when the "mouse0", "joystick2" arguments are
+ implemented
==============================================================================
@@ -69,13 +71,6 @@ it should probably just store the Pd arguments
- absolute axes should be calibrated, so that the same positions on different
devices map to the same value
-- but then, I could just create an [autocal] object in Pd, and have [hid]
- output only raw values. This would probably be best in keeping with the
- idea of having [hid] giving as low level access as possible, then using
- [mouse], [joystick], [tablet], etc. objects providing a nice, consistent
- interface to the respective devices.
-
-
==============================================================================
= pollfn for mouse-like devices
@@ -90,47 +85,69 @@ it should probably just store the Pd arguments
==============================================================================
-= make generic functions for the basic actions
-
- releaseDevices()
- buildDeviceList()
- buildElementList()
- getEvent()
+= function return values
- - make Darwin HID Manager -> Linux input event convertor functions
+- most functions probably do not need return values
+- return (1) seems to be the default on many functions
==============================================================================
-= [close( message might be totally frivolous.
+= control input messages
-- what does Max's [hi] do with that?
+- the [delay( message should be replaced by the [poll( msg
-- when would you need to close a device, yet still have the object there?
- [open( closes the previous device anyway.
+- should [poll( also start things, or should it just set polling time?
+- are [start( and [stop( needed? is 0/1 enough?
==============================================================================
-= function return values
+= ditch x_devname in hid_linux.c
-- most functions probably do not need return values
+- use sprintf(arg,"/dev/input/event%d",x_ddevice_number); instead
-- return (1) seems to be the default on many functions
==============================================================================
-= control input messages
+= consistent console output
-- the [delay( message should be replaced by the [poll( msg
+void hid_post(const char *format, const char *);
-- should [poll( also start things, or should it just set polling time?
-- are [start( and [stop( needed? is 0/1 enough?
+==============================================================================
+= if device is closed and obj is started, open device and start
+
+
+______________________________________________________________________________
+------------------------------------------------------------------------------
+BUGS
+______________________________________________________________________________
+------------------------------------------------------------------------------
+
+______________________________________________________________________________
+- BUG x->x_delay reset to default when device is opened
+
+______________________________________________________________________________
+- BUG: [mouse] and [joystick] arguments don't work to open device
+
+______________________________________________________________________________
+- BUG: [open('ing a device causes all other active [hid] objs to have their
+devices closed
+- this means only one [hid] object can have an open device at one time
+- I thought this was due to the hid_close_device() call in hid_open(), which releases
+ the device list, but this doesn't seem to be the case.
+______________________________________________________________________________
+- BUG: getting events from the queue doesn't output a 0 value event when the
+ motion stops, so when the mouse stops, the sound keeps playing.
+This is probably only a problem on relative axes.
+ This will probably have to be implemented on a platform-specific level:
+ - On Darwin/MacOSX, I think that the HIDGetEvent() loop will have to be
+ followed by one call to HIDGetElementValue()