Switched input subsystem to portable library