Apos.Input

Polling input library for MonoGame.

Discord

Documentation

Build

NuGetNuGet

Features

  • Manages the input states for you every frame
  • Mouse, Keyboard, and GamePad buttons abstractions
  • Tracking mode so that you don’t accidentally consume the same input multiple times
  • Static or instanced usage

Usage samples

In your game’s LoadContent(), pass the game class to InputHelper.Setup():

protected override void LoadContent() {
    InputHelper.Setup(this);
}

In your game’s Update(GameTime gameTime), call the two functions:

protected override void Update(GameTime gametime) {
    // Call UpdateSetup at the start.
    InputHelper.UpdateSetup();

    // ...

    // Call UpdateCleanup at the end.
    InputHelper.UpdateCleanup();
}
// Create a condition to jump.
// It should work on space, the first gamepad's A button, or the mouse's left button.
ICondition jump =
    new AnyCondition(
        new KeyboardCondition(Keys.Space),
        new GamePadCondition(GamePadButton.A, 0),
        new MouseCondition(MouseButton.LeftButton)
    );
// To check if the jump is triggered:
if (jump.Pressed()) {
    // Do the jump change.
}

Other projects you might like

Edit this page on GitHub