BetterJoy Config File Guide: BetterJoyForCemu.exe.config Explained

Next to BetterJoyForCemu.exe sits a plain-text settings file: BetterJoyForCemu.exe.config. Most day-to-day options are set inside the BetterJoy window, but several documented behaviours live only in this file — whether paired Joy-Cons rejoin automatically, calibration values for third-party controllers, the inactivity timeout, and legacy driver toggles that troubleshooting threads keep mentioning. This guide explains what the file is, how to edit it safely, and which settings the project actually documents.

Fun fact that underlines why this file matters: the single official fix in BetterJoy v7.1 — the current release — was that config reading did not work on systems whose locale uses a comma as the decimal separator. The file is small, but the program genuinely depends on reading it correctly.

Before you edit anything: the safety rules

  1. Close BetterJoy first. Edit only while the program is not running, so your changes are not overwritten or half-read.
  2. Back up the file. Copy BetterJoyForCemu.exe.config to BetterJoyForCemu.exe.config.bak in the same folder. Every fix for a bad edit is “put the backup back” — but only if you made one.
  3. Use a plain text editor such as Notepad. The file is an XML-style settings file: change values only, never the surrounding tags or key names, and save it as plain text.
  4. Change one thing at a time, then launch BetterJoy and test. If you change five values and something breaks, you will not know which one did it.
  5. Know the factory reset: the original .config ships inside the v7.1 ZIP (available from the download page). Re-extracting a fresh copy of the file restores default settings — another reason to keep your own backup, which preserves your settings instead.

The documented settings

These are the keys the project itself documents in its release notes and wiki-era material. Treat anything else you find in the file as hands-off unless a specific troubleshooting source names it.

DoNotRejoinJoycons

Controls BetterJoy’s habit of joining a pair of Joy-Cons back into one controller. Set it when you want two Joy-Cons to stay as two separate controllers in vertical mode — two-player sessions where each person holds one Joy-Con. It is the setting behind our joining and splitting guide and the single Joy-Con guide.

acc_sensiti, gyr_sensiti (third-party controller calibration)

Version 7 added support for third-party controllers via its Add Controllers button, and the release notes explain that you can change the default calibration for a third-party controller in the config file — the acc_sensiti… and gyr_sensiti… values govern accelerometer and gyroscope sensitivity. These exist because clone controllers report motion differently from Nintendo’s own hardware; if a third-party pad’s gyro feels wildly too fast or too slow, these are the documented knobs. Adjust in small steps. Our walkthrough for adding such controllers is here.

Inactivity timeout (default: 30 minutes)

BetterJoy can time out an idle controller connection, and the period is configurable — the documented default is 30 minutes (this option arrived in v6.3). If your controller seems to “give up” during long cutscenes or while a game is paused, this is the value to lengthen; if you prefer controllers to disconnect sooner and save battery, shorten it.

UseHIDG (legacy, troubleshooting only)

A legacy toggle related to the bundled HIDGuardian hiding layer. It surfaces in real issue reports — for example, a known workaround for repeated low-battery notifications interfering with an emulator involved changing this config value together with a specific start order. Do not flip it casually: hiding-layer changes affect how Windows sees the physical controller everywhere. Change it only when a troubleshooting source for your exact symptom names it, and note your original value first.

PurgeWhitelist (legacy, troubleshooting only)

Another legacy name from the HIDGuardian era that appears in issue reports — the whitelist is the list of devices the hiding layer affects. As with UseHIDG: documented here so you can recognise it, not as an invitation to experiment. Mishandled whitelist changes are how people end up with a controller that no program can see at all.

Version discipline: read values against your version

Not every key exists in every version, because features arrived over time: DS4 emulation in v6.1, the inactivity timeout in v6.3, and the third-party calibration keys and DoNotRejoinJoycons in v7. If you are still running an older build, a missing key is normal — it is a sign to update, not to paste keys in and hope. Our update guide covers moving to v7.1 while keeping this very file. And note the fork boundary: the community-maintained fork of BetterJoy uses a newer runtime and its own settings evolution, so do not copy config advice across between the original and the fork without checking which one a guide is about.

Frequently asked questions

I edited the file and BetterJoy will not start. What now?

Restore your .bak backup (or a fresh .config from the ZIP) and start again, changing one value at a time. A malformed settings file is the usual cause — most often a tag or quote damaged while editing.

My numbers use commas. Is that a problem?

It was — that is exactly the v7.1 fix. If your Windows locale writes decimals as 1,5 instead of 1.5, make sure you are on v7.1, where config reading was fixed for comma-decimal locales.

Can I copy my config to another PC?

Yes — the file is portable plain text. Copy it next to the executable on the other machine (same version recommended) and your settings travel with it.

Where are the other guides?

Everything is indexed on the BetterJoy tutorials hub.

Similar Posts