Credo che il problema sia che le due funzioni operano ad un livello differente, forse ti conviene usare la mouse_event anche per il movimento del mouse, come spiegato qui.