# gamepad-manager v0.0.1

Gamepad, keyboard and mouse input for browser games behind one query and event API, with gamepads kept in stable slots and three.js controller models that follow a controller's state.

Source: https://github.com/gkjohnson/gamepad-manager

```bash
npm install github:gkjohnson/gamepad-manager#v0.0.1
```

## gamepad-manager

### Classes

- [ControllerManager](/tools/docs/gamepad-manager/ControllerManager.md): Tracks gamepads in stable slots and gives access to the keyboard and mouse. Call `update` once per frame. A reconnected gamepad returns to its old slot.
- [GamepadController](/tools/docs/gamepad-manager/GamepadController.md): A gamepad, with buttons and axes named by position. Buttons are `south`, `east`, `west`, `north`, `left-bumper`, `right-bumper`, `left-trigger`, `right-trigger`, `select`, `start`, `left-stick`, `right-stick`, `dpad-up`, `dpad-down`, `dpad-left`, `dpad-right` and `home`, plus each stick direction, like `left-stick-up`. Axes are `left-x`, `left-y`, `right-x` and `right-y`. Gamepads without the `'standard'` mapping get `button-0`, `axis-0` and so on.
- [KeyboardController](/tools/docs/gamepad-manager/KeyboardController.md): The keyboard, with buttons named by `KeyboardEvent.code`, like `KeyW`.
- [MouseController](/tools/docs/gamepad-manager/MouseController.md): The mouse, with buttons `left`, `middle`, `right`, `back` and `forward`.

### Supporting

- [Controller](/tools/docs/gamepad-manager/Controller.md): Base class for an input device with named buttons and axes.
- [EventDispatcher](/tools/docs/gamepad-manager/EventDispatcher.md): Minimal event dispatcher, following three.js's `EventDispatcher`.

## gamepad-manager/three

### Classes

- [DualShockControllerModel](/tools/docs/gamepad-manager/three/DualShockControllerModel.md): A PlayStation DualShock 4 controller model.
- [XboxControllerModel](/tools/docs/gamepad-manager/three/XboxControllerModel.md): An Xbox controller model.

### Supporting

- [ControllerModel](/tools/docs/gamepad-manager/three/ControllerModel.md): Base class for the 3D controller models.
