I am diving back into working on [hid], I am porting it to Windows
thanks to sponsorship from http://vibrez.net. There is a lingering
question which I would like to address, so I am looking for feedback
from this list.
Right now, [hid] basically outputs events in response to the OS. It
polls the event queue at a given frequency and processes everything in
the queue on each cycle. This means that the data stream is a bit
erratic.
Here's how I am currently thinking of handling this:
for buttons/keys, process all events in the queue
For absolute axes, output the most recent event per poll, since
absolute axes are position, and its not really necessary to know how
many events there were between [hid] polls, just the position where it
ended up. Then it would output one event per poll cycle.
effect the velocity. A mouse tells you how many units it has travelled
per refresh cycle. But when the mouse stops moving, it doesn't not
send a "0" velocity. it could be made more like velocity and have it
polled for the current velocity. This would give a steady stream of
data, but then it would not give accurate info about how far the mouse
as travelled. Perhaps, [hid] would just output everything it finds in
the queue, then I write a separate object which gives the average
velocity per poll period, based on the distance in all events it
receives.
The first two apply directly to sensor data, I think, I am not sure how
relative axes with sensors compare to mice.
.hc
"Computer science is no more related to the computer than astronomy is
related to the telescope."
-Edsger
Dykstra