this MR depends upon !3726 (merged) (at least the implement mouse support patch), I'll remove the draft status once it's gets merged
implement mouse support