(Starting a thread might be a bit premature, but it will make me get off my butt and work on it more.)
The goal is to come up with a rotary joystick option that's fairly cheap and easy to add, but still has a good feel to it.
I've done a rotary joystick mockup with an optical encoder, but the lack of detents took a lot away from the games IMO.
For that reason, this
attempt will use a mechanical ALPS 12 position rotary switch:
http://www.ebay.com/itm/1pcs-ALPS-1-Wafer-1-Pole-12-Position-cycling-Rotary-Switch-Made-in-JAPAN-/152296969200?hash=item23759b53f0:g:chgAAOSwxH1UKmMJ A cheaper rotary switch could be used, but I came across a couple of these, attached them to custom joystick shafts with couplers, and they had a really good feel to them.
Not too much pressure to turn, but still a good snap to the next detent. Although I have these custom made joystick shafts, they don't really fit with a cheap and easy for everyone solution, so I'll be using the original JLF shafts for this project. I'm starting with the JLF because it's what's in my cab and I have a spare. I also have a JLW on the parts pile and it shouldn't be too much trouble to modify the design for that.
Part 1 is the coupler. This will join the joystick and potentiometer shafts. Since there isn't any extra shaft there to work with, my plan is for the coupler to incorporate the actuator and be held in place with the original e-clip. To do that though, it will need to have a slot cut in the side and enough of an opening to be able to remove the e-clip if needed. That leaves a weak spot in the setup. The easiest way for me to tell if it will be strong enough is to build and test it.
The other problem is that the joystick shaft can still spin freely. As said previously, I am trying to make this an easy mod, so I don't want people to have to drill a hole through the joystick shaft. Hopefully it won't come to that. The only keyed thing on the original joystick shaft though is the 1mm notch in the bottom for tightening the balltop. The rotary switch also has a 1mm slot. I can't imagine a 1mm bump of plastic holding up very long. I didn't think a metal key that small would either, but then I tried the side of a large picture hanging hook and it felt pretty solid.
I figure these are easy to find and most people have dremels, so people could cut their own key out of them. I might have to find something larger, but it will still be something readily available.
Here is what I'm currently printing to test (is upside down):
This should tell me if the sizing for the shafts is correct, if the slot is large enough to get the e-clip on there, if the opening on the slot is large enough to get the e-clip off, etc.
If all that works out, I'll also see how much twisting force it takes to break it. (printing in PLA for now)
When the coupler is done, we'll have the yoke that attaches to the potentiometer and the post that will keep the yoke oriented.
I'm somewhat reluctant to 3D print the post. A metal one would me much smoother.
After the mechanical stuff is done, we have the problem of converting input from a 12 position switch into two key presses for Turn Left and Turn Right in MAME.
GroovyGameGear's GPWiz has this feature built in, but I already have an encoder. There is KADE firmware out there (and I do have a couple AVRs left), but KADEs and compatible AVRs are getting harder to find. I don't really want any more devices showing up on my PC, not even another keyboard. So my plan is to use an Arduino Nano knock-off to determine which way the joystick is being turned, then have it pull an input on my keyboard encoder to ground. That way nothing in my setup changes. I'll just have to map those 4 extra keys (2 per player) in MAME. Once I have the Arduino sketch, it shouldn't be hard to incorporate it into other sketches that use the arduino as a keyboard encoder.