implemented mouse, keyboard interaction of camera