Merge branch 'DavidNg_Local'
Optimize mouse control

1. Optimize mouse control
2. Detect error
3. Caching op perform result
4. Minor bug fix
Merge branch 'master' into DavidNg_Local