I'm developing a front end, and have been testing it mostly with analog joysticks or a keyboard. Having tried it with an 8-way digital joystick, I immediately noticed that I often register movement along one of the axes which I didn't intend. For example, if I push the joystick up, my front end will register it as up+left or up+right unless I'm very careful to go straight up. The cause of this behavior is obvious, and I frankly should have expected this. I'm not asking how to eliminate the cause, but I'm curious how other front-ends avoid this. Do most of them make use of only one axis? If they do make use of both axes (that is, they have two separate groups of things which may be scrolled through, depending on which axis is engaged), does anybody have any idea how they would determine which axis to use when both are engaged by the joystick at the same time? I guess it would have to be with timing ("in the last half-second, the user spent 14 more milliseconds on the x-axis than the y-axis, so I'll say he meant to scroll along the x-axis"), but that seems unreliable, but at least you'd only get one axis acted upon.