add mouse support
long time non-use, so temp close :/