make keyboard input remappable