i think that the GP2X joystick was 12 microswitchs... allowing 24 diferent directions...
perhaps i am confused...
- You are confused. The joystick definitely only has 8 possible directions. Retail units may support using two of these 8-way directions to support 16, as the article clearly states.
- Joystick: 8 directions, possible to detect two neighbors at the same time
- GP2X: Following the SDL_Joystick_mapping the GP2X can detect two buttons at the same time. The device can handle 16 different directions.
- The new GP2X-Mk2 will have a 45 deg. rotated stick, which is sloving the software problem by hardware. (And makes me angry. Can't GPH see that it is a software problem? There will be two different joystick configs, can developers detect them and support both types in their software?)
old article content
There has been much discussion regarding the GP2X joystick. It has been rumored for having everything between eight and sixteen directions. As of yet no definitive information is available (some development boards only support 8-way, whereas others support 16-way as they allow two 8-way directions to be set at once).
It is however confirmed that it uses eight microswitches. A microswitch is just what it sounds like, a tiny button. These are depressed in various combinations that represent different directions. The type used does not click when pressed.
The SDL library will only report back the 8 different directions - to get the possible 16 directions you need to talk to the hardware directly (see the technical articles Joystick PCB Layout and GPIO Reference)
A joystick using eight microswitches could work in one of these two ways (a blue dot represents a microswitch):
Figure 1 is the most effective use of the microswitches. Each switch depressed on it's own represents a direction and in addition to that depressing two switches gives and intermediate direction, thus resulting in sixteen possible directions using 8 microswitches.
Figure 2 also uses eight microswitches but does not allow for intermediate directions.