add mouse support, very weak keyboard support