that deserves a whole separate opera. why does moving the cursor to start/end almost always place it one character off? same when trying to use touch on text for it.
Devs love the symmetry of their touch handling code and often have the finger-down, finger-moved, and finger-up callbacks from the system all call the same handleTouch function they wrote. As you can tell, however, the touch from the finger up callback is often better discarded or handled differently otherwise you get these sort of bugs