Hey Kas,
Hello, Mike, thanks for sharing more of your thoughts on this!
I guess I was suggesting that you build your own interface. I do a
lot of that in my work. I think an Arduino and a 3-axis accelerometer
would be pretty sick start to a sweet interface. You could even add
all the buttons that you wanted anyway.
Yes, this could make sense. I actually have a Arduino right here for testing. There's a reason for me liking off the shelf game controllers though. Over the years I played a lot of games so "my fingers are at home" with traditional joypads and arcade sticks and I find that to be a big advantage. Mass-production also does wonders for the price. Also; I'm fairly confident with woodworking and soldering irons but a Playstation joypad is really quite small for all the functionality that's in there with a ergonomic grip so I like those. Making something like that yet with better parts at home would be a major asignment.
Still; I'm starting to wonder whether the traditional joypad is the best interface for this. I like the symetry of the Playstation pads but perhaps another shape might be better.
This is a delicate issue that I don't think you can easily generalise about. To take a example from my own experience; as I wrote about before I sequence live music using a arcade stick. For this I have two large arcade sticks here, one has a Japanse (Sanwa) youstick, a very light ball-top that registers with just a light push. The other is a Korean (Fanta) stick, a bat-top that feels quite heavy and solid with a heavier spring. I found the tactile sensation changes my relation to my instrument and affects how I play it, even if both are digital 8-way sticks.
It could be very worthwhile to see how different types of parts and shapes affect this sensation for a "joypad equivalent".
Having some programability
on the microcontroller would provide some extra flexibility and power
sensing certain gestures (and distinguishing them from others). My
controllers usually speak to the computer via serial (or usb) and I
write some Python script or whatever to read those values off the
serial bus and shoot them out as OSC to Chuck. It works pretty well,
although you do have to get over some of Chuck's idiosyncratic OSC
issues. ;-)
That's interesting. Having some intelligence in the controller itself could be a good idea. The exact "shake" algorithem I described might even be straightforward to implement in analogue parts, that would give us our smoothing and interpolation for free. That's a interesting idea and definitely a field where the Arduino would shine over a ordinary HID encoder (you can order those as well).