# ⚙️ Settings Guide (HHL Gamepad Config)

What each page of [HHL Gamepad Config](https://hoja.handheldlegend.com) does. Pages only appear when your controller has that hardware: no Battery page on a wired-only controller, no Motion page without a gyro, and so on.

Changes apply right away. Press **Save** in the top bar to keep them after unplugging.

## Input

Remap what every button, trigger and stick direction sends. Mapping is stored **per output mode** (Switch, XInput, GameCube, Wii and so on): pick the mode at the top first, then tap an input to change it.

 ![Input: what each input sends in the selected mode](https://docs.handheldlegend.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzU5ZGZiY2Y1LTNjZGEtNGY4OC1hMDAyLWViYzFkNmQ5NjMyOS8xM2RmOTI1Yy0xZjAyLTRlYWQtODk1Mi1lYTc0MjM4M2I0YzMvaG9qYS1zZXQtaW5wdXQucG5nIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTM4MTcwMDAsImV4cCI6MTc5MzkwMzQwMH0.OoNizZZj2bXOKKK_IDDsl67vIKLBn7ld0wDRrVCPUK0 " =560x434")

* **Analog inputs** (hall-effect triggers and buttons) can work as **Threshold** (counts as pressed past a set point) or **Rapid trigger** (presses again after moving back a little).
* **Motion flicks:** map a button to Flick Up, Down, Left or Right to send a quick shake, for games that ask you to shake the controller.
* **Switch 2 buttons in GameCube mode:** with current firmware, GameCube mode's mapping can also send **ZL**, **Minus**, **Home**, **Capture**, **C**, **LS** and **RS**, marked **Switch 2 only**. They're used when the controller works as the Switch 2's GameCube controller (see [Modes & Pairing](https://docs.handheldlegend.com/doc/modes-pairing-hoja-controllers-H61Dy3zPjm)); GameCube consoles and Slippi ignore them.
* **Analog calibration** (second tab): press **Start calibration**, fully press and release every analog input 3 to 4 times, then **Finish calibration**. On GameCube-style triggers with a click at the bottom, press only down to the top of the membrane; the app shows how.

 ![Analog calibration](https://docs.handheldlegend.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzU5ZGZiY2Y1LTNjZGEtNGY4OC1hMDAyLWViYzFkNmQ5NjMyOS81MzQ5ZDYxMC0yNDNiLTRiNzMtOGQ0OS0xM2M3ZTZiMmYxMTkvaG9qYS1zZXQtaW5wdXQtY2FsLnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzkzODE3MDAwLCJleHAiOjE3OTM5MDM0MDB9.fwPlVEcySZZCVBhw0oMD7Edu3mCThgEzS_9crVAj4SQ " =560x235")

## Joysticks

Calibrate the sticks and shape how they respond. Home says **Joysticks need calibration** until they've been calibrated.

 ![Calibrate your sticks](https://docs.handheldlegend.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzU5ZGZiY2Y1LTNjZGEtNGY4OC1hMDAyLWViYzFkNmQ5NjMyOS83Y2NhMjlmYS1hYmZmLTQ2OTEtOTBjNC1iMmE4OGM3ZGExZjgvaG9qYS1zZXQtam95LWNhbC5wbmciLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MzgxNzAwMCwiZXhwIjoxNzkzOTAzNDAwfQ.NaL4OAzwMU17wdOB9FVrqUcLTQFOO0i4dNjg3hPN5x8 " =560x203")

* **Calibrate:** let go of both sticks and press **Start calibration**. Then roll each stick slowly around its edge, all the way round, until its shape is complete, and press **Finish**.
* **Center deadzone** ignores small movement around the middle (raise it a little if a stick drifts). **Edge deadzone** makes the stick reach full output before the very edge.
* **Response curve** changes how quickly output grows as you push the stick.
* **Angle map:** for notched or gated sticks, set exact output angles per notch (for example perfect diagonals). Capture a notch by holding the stick in it. Output distance goes up to 3072; 2048 is full on an axis.
* **Invert axes**, where the controller allows it.

 ![The live stick view](https://docs.handheldlegend.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzU5ZGZiY2Y1LTNjZGEtNGY4OC1hMDAyLWViYzFkNmQ5NjMyOS8xYTg2MjExNy0xMzJiLTRlNGYtOTgyMS1hZTMwZDY1NDMzYjQvaG9qYS1zZXQtam95LWxlZnQucG5nIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTM4MTcwMDAsImV4cCI6MTc5MzkwMzQwMH0.K6HCtDh1iuA4q9AGS4dqvA0oGt3Q3mmbsbUcLcqQ9CM " =360x302")

## Snapback

When you let go of a stick, it can spring past center for a moment, and games may read that as an input. The **Snapback filter** removes it, per stick:

* **Low-pass** (default): smooths fast movement near center. **Filter cutoff** 30 to 150 Hz (default 60): lower removes more bounce, higher feels snappier.
* **Auto:** detects a release and holds back only the rebound.
* **Off:** raw stick output.

 ![Snapback filter](https://docs.handheldlegend.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzU5ZGZiY2Y1LTNjZGEtNGY4OC1hMDAyLWViYzFkNmQ5NjMyOS80ZTQ3ZDc4OS1hZDI0LTRhNjAtOTI1MC01NGNjZjBiYjUxODkvaG9qYS1zZXQtc25hcGJhY2sucG5nIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTM4MTcwMDAsImV4cCI6MTc5MzkwMzQwMH0.iMj0zOsceWvmMqRMyFueXwVaFev3hEzkNAFXnHNOf9c " =360x216")

Calibrate the sticks first, then tune snapback while watching the **Analyzer** on the same page.

## Motion

For controllers with a gyro: calibrate it (controller flat and still), set sensitivity per axis (0.5x to 2x), and watch the live view. **Motion (all modes)** turns motion off everywhere; switches below it turn it off in one mode only (Switch, Steam, Wii).

 ![Motion controls](https://docs.handheldlegend.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzU5ZGZiY2Y1LTNjZGEtNGY4OC1hMDAyLWViYzFkNmQ5NjMyOS8wOTgyOTBlNC1jNWY3LTQ3MTMtOGE2OC1hY2UyMTlhMDk4ZTAvaG9qYS1zZXQtbW90aW9uLnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzkzODE3MDAwLCJleHAiOjE3OTM5MDM0MDB9.H5enDs8Eb_qhs4HW3LYBY20-bVaSeWNeGeXm9Lat_nU " =560x220")

## RGB

Lighting effect, colors per LED group, brightness and speed.

 ![Lighting](https://docs.handheldlegend.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzU5ZGZiY2Y1LTNjZGEtNGY4OC1hMDAyLWViYzFkNmQ5NjMyOS83NjE2ZTllNC03ZmJhLTRjNzktYmU3Ny0yYThjMjIxMTMyNGEvaG9qYS1zZXQtcmdiLnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzkzODE3MDAwLCJleHAiOjE3OTM5MDM0MDB9.YnFi6uCa_YixwHRdi1WbrFhttuyEyrpmbcFQ_63KADU " =360x311")

* **Authentic:** face buttons light like the printed letters, following your remaps.
* **Static, Rainbow, React** (lights up on press) and **Fairy**.
* **Idle glow:** the status light shows the battery state (cyan on battery, orange charging, green full).

## Haptics

**Intensity** sets rumble strength (0 to 100%). **Test feedback** plays a pulse so you can feel it. On controllers with HD haptics, **Trigger haptics** pulses when an analog trigger passes its activation point.

 ![Rumble](https://docs.handheldlegend.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzU5ZGZiY2Y1LTNjZGEtNGY4OC1hMDAyLWViYzFkNmQ5NjMyOS8xNmNmMjNlOS1lZWU1LTQzM2YtYTNjMC00NzFhNzE0ZTAyZDIvaG9qYS1zZXQtaGFwdGljcy5wbmciLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MzgxNzAwMCwiZXhwIjoxNzkzOTAzNDAwfQ.Qk65UoDo8LQrB_wdS9aHNjJ_MyQMThAao7tRsTOE6nc " =560x308")

## Battery

Charging state, the charger chip (PMIC), fuel gauge and battery percentage, and the hardware part numbers.

 ![Battery](https://docs.handheldlegend.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzU5ZGZiY2Y1LTNjZGEtNGY4OC1hMDAyLWViYzFkNmQ5NjMyOS9jODk3ZmZiYy00NzJhLTQ4NWUtYTAyOS1mZGFmNjY4ODQ1OWQvaG9qYS1zZXQtYmF0dGVyeS5wbmciLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MzgxNzAwMCwiZXhwIjoxNzkzOTAzNDAwfQ.aTbagwmdm1Agc9wjxeDFCOjkqqF3xw6DB8USV9BchWU " =360x288")

**Active · No battery** is not an error: the charger works but no pack is attached, for example on USB power only. The battery is checked at power-up, so replug after connecting one.

## Wireless

For controllers with Bluetooth: the wireless chip, the wireless module firmware (see [Update the Wireless Module](https://docs.handheldlegend.com/doc/update-the-wireless-module-esp32-vhX2Im50kN)), the **WLAN dongle PIN** (must match the dongle's), and **Paired hosts**: the one Switch, PC and Wii the controller remembers.

 ![Paired hosts](https://docs.handheldlegend.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzU5ZGZiY2Y1LTNjZGEtNGY4OC1hMDAyLWViYzFkNmQ5NjMyOS9lNTk2NWEyYy1lZTEwLTQxNjEtYWNkZC02OWJmZjYxNGNjOTAvaG9qYS1zZXQtcGFpcmVkLnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzkzODE3MDAwLCJleHAiOjE3OTM5MDM0MDB9.88j_R1UG8yi3oRVlgcPokBspvCs_Es3YUMSkBkJ5CYA " =360x158")

## Gamepad

* **Default mode:** what the controller starts as, with separate choices for wired and for battery (see [Modes & Pairing](https://docs.handheldlegend.com/doc/modes-pairing-hoja-controllers-H61Dy3zPjm)). **How to connect** opens the mode and pairing guide for your controller.
* **Switch device colors:** the colors the Switch shows for the controller in its menus. They don't change the LEDs.

 ![Switch device colors](https://docs.handheldlegend.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzU5ZGZiY2Y1LTNjZGEtNGY4OC1hMDAyLWViYzFkNmQ5NjMyOS9hYjFlMjc5Yy03MWEyLTQyNDktYTA1Ny1kNjI1N2JiYjg5YTEvaG9qYS1zZXQtY29sb3JzLnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzkzODE3MDAwLCJleHAiOjE3OTM5MDM0MDB9.bdL3A2M8fKbyQrF8Ga_cNxGnZICrlHbLRUpuf9eByPM " =560x221")

* **MAC address base** and device info. Restarting into update mode is on **Firmware & backup**, on the **Recovery** card.

**Modes** can't be switched from the app: choose them with the button you hold at power-up (see [Modes & Pairing](https://docs.handheldlegend.com/doc/modes-pairing-hoja-controllers-H61Dy3zPjm)). The taskbar shortcuts for settings profiles 1 to 4 are still there.

## User

Your **player name**, stored on the controller.

 ![Player](https://docs.handheldlegend.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzU5ZGZiY2Y1LTNjZGEtNGY4OC1hMDAyLWViYzFkNmQ5NjMyOS9hM2Y3NWI0ZS1lYTNmLTRjYmItOTg0MS0xZTdmZTE1OGJhNzQvaG9qYS1zZXQtdXNlci5wbmciLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MzgxNzAwMCwiZXhwIjoxNzkzOTAzNDAwfQ.w0-ySRgXXVua_LLGqjQoJvgPDdBi5udS71_J-cUK7IA " =560x105")

## Firmware & backup

* **This controller:** **Update now** (or **Reinstall firmware**).
* **Backup & restore:** **Back up settings** to a file, **Restore from file**, and **Automatic backups** (the last 5 per controller, saved in the browser each time it connects; click to open the list).
* **Recovery:** restart in **Update mode (safe)** or **Boot ROM (advanced)**, **Reset settings**, **Restart from bootloader**, and manual downloads.
* **Install HOJA on a blank board**, **Dongle** and **Wireless module (ESP32)**.

See [Update Firmware](https://docs.handheldlegend.com/doc/update-firmware-hoja-controllers-KoFvPA77o1).

---

**Documents**

- [Smash Ultimate Angles](https://docs.handheldlegend.com/s/portal/doc/smash-ultimate-angles-EbZiGbULGW)