Yellow, thanks for posting the details. I am still on a road today and will have to come back again tomorrow for a more detailed reply. Just a couple of comments for now: it's been a while since I wrote the sketch, but I've glanced at it and it appears that it should "latch" the button output, i.e. if you pressed it, it would have to count all steps (microsteps, actually, see more on that below) to zero before it can respond to another button pres (in either direction). It would not be difficult to adjust it to work any which way you wanted regarding the button presses, I can do it in the next couple days, just need to know exactly which behavior you want.
Regarding the microsteps: do not count on microsteps (i.e. 1/2, 1/4, 1/8, 1/16 modes of operation of Easydriver) for positioning! Some of them are so insignificant in terms of motive power that the rotor of the stepper will not even move. The main purpose of the microsteps is to smooth the otherwise very rough and vibratory characteristics of the rotor's rotation. it just lowers vibration and wear and tear on the stepper and the attached mechanical parts. But for positioning, you can only ever count of full steps. In other words, if your stepper has 200 SPR (steps per revolution) - that's all you will get in terms of positioning - 1.8° of resolution, not 200*16 = 3200 steps = 0.1125°.
I looked at my old post and I can see where I went overboard promising crazy accurate positioning of that micro stepper. It is still impressive, but I have since done a lot of testing and figured out that no microstep provides positional accuracy. So, your angular rotation with 160 steps (as in the sketch) will be 10 angular steps of 1.8° each, not 160 . Just keep that in mind.
I gotta go, will take another look at it tomorrow.