What I made it do was to get the position of the pen down event, set it in the variables, and then clear a flag that is set by the next ADB interrupt (update). It then waits in a loop waiting for this flag to be set, meaning that the interrupt has fired, and then it registers the mouse button down, ensuring that both events happen seperately and sequentially in the right order. Hence no "sticky mouse"