Provides abstract input by mapping physical device inputs (mouse, keyboard and controllers) to abstract commands that are relevant to a particular game.