One more try, adding listeners to canvas