ecspresso
    Preparing search index...

    Function createInputPlugin

    • Create an input plugin for ECSpresso.

      This plugin provides:

      • Frame-accurate keyboard state (isDown, justPressed, justReleased)
      • Pointer position/delta and button state (mouse + touch via PointerEvent)
      • Named action mapping with runtime remapping
      • Automatic listener cleanup on detach

      Type Parameters

      • A extends string = string
      • G extends string = "input"

      Parameters

      Returns Plugin<
          WorldConfigFrom<{}, {}, InputResourceTypes<A>>,
          EmptyConfig,
          "input-state",
          G,
      >

      const ecs = ECSpresso.create()
      .withPlugin(createInputPlugin({
      actions: {
      jump: { keys: [' ', 'ArrowUp'] },
      shoot: { keys: ['z'], buttons: [0] },
      },
      }))
      .build();

      // In a system:
      const input = ecs.getResource('inputState');
      if (input.actions.justActivated('jump')) { ... }
      if (input.keyboard.isDown('ArrowRight')) { ... }