refine the digital axis handling

And make GetUserInput handle directional repeat more sanely.