better mouse/keyboard input support