Skip to main content

Overview

The [controller] section allows you to configure gamepad support for Halo, including custom button mappings and axis configurations.

Enable Controller Support

boolean
default:"0"
Enable controller support. Must be set to 1 to use gamepad features.

Button Mappings

You can customize button and axis labels for your controller. The format follows these patterns:

Button Format

string
Label for button N, where N is the button number.

Axis Format

string
Label for axis N positive direction, where N is the axis number.
string
Label for axis N negative direction, where N is the axis number.

POV Hat Format

string
Label for POV hat N in the specified direction (n, e, s, w for north, east, south, west).

Example Configuration

Here’s an example configuration with various button types:

Premade Controller Configs

Chimera provides premade controller configurations for popular controllers. You can find them at:github.com/SnowyMouse/chimera/tree/master/controller_config
Instead of manually configuring buttons, you can:
  1. Download a premade config for your controller
  2. Copy the settings from that config into your chimera.ini
  3. Adjust as needed

Common Controller Types

Xbox Controller

PlayStation Controller

Testing Your Configuration

  1. Enable controller support: enabled=1
  2. Add your button mappings
  3. Save chimera.ini
  4. Launch Halo
  5. Test buttons in-game to verify mappings
  6. Adjust as needed
If you’re unsure about button numbers, start with a premade config from the Chimera repository and modify it to match your preferences.

Troubleshooting

Controller Not Detected

  • Ensure enabled=1 is set in the [controller] section
  • Verify your controller is connected before launching Halo
  • Try a premade config from the Chimera repository

Wrong Button Mappings

  • Button numbers may vary between controllers
  • Use a controller testing tool to identify button numbers
  • Reference premade configs for your controller type

Axis Inversion

  • If an axis is inverted, swap the _p and _n labels
  • For example, swap axis_2_p with axis_2_n