You are right, analog controls are hard to do well, even the big brands screw it up all the time and I had to switch to using keyboard cursors while controller refused to change menu items. I can take a look at the code if you get stuck