try to deal with mouse input, on the half way