Postby vputz » January 19 2009, 19:21 PM
[quote] that's quite some controller in the pic: do you work the buttons with your toes?[/quote]
Heh... good old Spacetec... they only gave us the SpaceOrb for games, preferring to keep the sexy desk-mounted devices for the CAD purists. Not any more!
[quote]I'm impressed with your rate of progress: guess I need to check in more often now- (two or three time a year used to be sufficient!).[/quote]
You think that's good; my spaceball said "hi" to me tonight.
Actually, it said "hhii", but let me tell you that's a good deal better than "hhhhhhhhiiiiiiiiiiiihhhhhhhhhhhiiiiiiiiiiiii" which is what it was doing until I figured out how to get it to STOP sending keyboard reports. Now it sends one letter with each press and release, and that's not what I think I want it to be doing.
...which, if you read that too fast, means that it can now send joystick AND keyboard events. Mouse to come soon once I figure out joystick and get a good binding interface. I'm not really sure I know why it should send keyboard events, but I think it's important that it can.
(actually, you could set up a complicated "if the X axis is pushed this far to the left, hold down the 'A' key" for WASD mappings, but really if you can't get the axis range, why use the orb--and if you CAN get the axis range, your game accepts joystick input and you shouldn't need to map keyboard events to it, but one irrational use at a time, please)
(Actually, there could very well be a use, since shortly we will be able to bind axes to mouse events, so you could use the orb for games that don't support joysticks, even though the orbness of it would be mostly for looking around).
I have another confession to make: the Arduino is probably the "wrong" hardware to use for this, because we have to hack on our own USB connector and bit-bang the USB lines. The "correct" way of doing this would be to use one of the Atmega AT90USB chips in a package like the [url=http://code.google.com/p/avropendous/]avropendous[/url] or [url=http://www.pjrc.com/teensy/teensyduino.html]teensyduino[/url]. And there's something to be said for that, because using one of those would make the board a lot simpler (half the circuit would vanish, leaving almost nothing but the MAX233 chip and the RS232 plug), it would be a bit cheaper, and the USB side of things would be more proper. Occasionally I feel guilty about using the wrong hardware and think about redesigning the whole thing.
But in the end I think Arduino is probably the right thing to do because 1) this works, and 2) the easy of programming and updating the thing will be there, and I really want folks to feel comfortable programming their orbs (instead of config files for games, you will be uploading little programs to your OrbDuino). Without that the programming user-end of things will be a bit trickier--not badly, but enough to make me concerned. If anyone is really going to be a hardware purist and want to use an AT90USB, much of the "driver" will be very portable to that.
But I should probably stop working on fun projects and get some stuff. Sleep, that's it (grin).