it's hard because the way mouse event be processed: they (mouse events) be
collected into g_Mouse and finally trade as one action handled by
CApplication::ProcessMouse(), a 'mouse position' will break the 'mouse
motion' tracing, that's not necessary. to add a mouse motion before tap is
not really needed but we had to add it for the focus be rendered before the
click action, that's a workaround, so there's no need for the 'mouse
position' type of event, it's just a special case of the workaround should
not be applied where no gui control need the mouse motion to focus before
click, we just need to give them tap action (translated to left click
action) directly.
if we don't see what's the difference between 'mouse position' and 'mouse
motion' we should not do that, since there's no difference, mouse position
is mouse motion, the position changed, it's a motion, we can not split them
at least from I see.