Releases: lyyQwQ/KeyRemapper
Release v0.2.0 — In-Game UI Configuration
What's New in v0.2.0
| Type | Details |
|---|---|
| ✨ Added | In-game Settings UI – Configure button mappings directly from the Mods menu, no more manual JSON editing! |
| 🎮 Added | Dropdown Button Selection – Easy-to-use dropdown menus showing all available buttons |
| 🔄 Added | Real-time Updates – Changes take effect immediately without restarting the game |
| 🎨 Added | Visual Feedback – Clear indication of current bindings with add/delete capabilities |
UI Features
The new UI allows you to:
- Access settings from Mods → KeyRemapper in the main menu
- Add multiple button bindings for both Pause and Restart actions
- Use dropdown menus to select from available controller buttons
- Delete unwanted bindings with a single click
- See all your current mappings at a glance
Install / Update
- Download
KeyRemapper-0.2.0-bs1.39.1-4e385b2.zipbelow - Extract it directly into your Beat Saber root folder (the one containing
Beat Saber.exe) - Launch the game and configure your bindings from the Mods menu
For manual configuration, you can still edit UserData/KeyRemapper.json directly.
Compatibility
- Beat Saber: 1.39.1+
- Dependencies: BSIPA ^4.2.0, BeatSaberMarkupLanguage ^1.12.0, SiraUtil ^3.0.0
Found an issue or have an idea? Feel free to open an Issue or submit a Pull Request!
Release v0.1.0 — Compatible with Beat Saber 1.39.1 – 1.40.4
What's Changed
| Type | Details |
|---|---|
| Added | Restart action – bind any supported button to instantly restart a song. |
| Added | Block built-in pause key – BlockBuiltIn now fully disables the native ≡ menu button. |
| Changed | Simpler config – the BuiltInKeys array has been removed; only Bindings and BlockBuiltIn remain. Existing configurations are migrated automatically on first load. |
| Fixed | Entering a song in the official Multiplayer mode no longer causes a guaranteed black screen. |
| Fixed | Config hot-reload – saving KeyRemapper.json now takes effect immediately, no restart or re-pause required. |
| Fixed | Release notes generated by ChatGPT were too flamboyant—now they’re plain and down-to-earth XD |
| Refactored | Full project overhaul and dependency updates for cleaner code and improved compatibility. Thanks to @qe201020335 for PR #3. |
Install / Update
Download the release archive and extract it directly into your Beat Saber root folder (the one containing Beat Saber.exe).
To change bindings, edit UserData/KeyRemapper.json; save the file and the new settings take effect at once.
Found an issue or have an idea? Feel free to open an Issue or submit a Pull Request!
Release v0.0.3 — “Config‑Driven Pause”
📦 Release v0.0.3 — “Config‑Driven Pause”
✨ What’s New
| Feature | Details |
|---|---|
| 🗂 JSON key‑mapping | A new file UserData/KeyRemapper.json lets you bind any supported button (ABXY, Grip, Thumb‑stick click, Menu, etc.) to the Pause action. |
| 🔄 Hot‑reload & per‑button toggle | Edit the config, save it, and the mod reloads bindings on the next pause—no game restart needed. Set an empty list [] to disable a button completely. |
📥 Install / Update
-
Requires Beat Saber 1.39.1+ and BSIPA 4.
-
Drop
KeyRemapper.dllintoBeat Saber/Plugins/ -
Launch the game once → a default
KeyRemapper.jsonis created. -
Open the file and adjust the
Bindingsarray, e.g.:"Pause": { "Bindings": ["L_X", "R_A", "L_Grip"], "BuiltInKeys": [], "BlockBuiltIn": false }
Save → resume play → your new keys work immediately.
✔ Compatibility
- Quest 3 (OpenXR) verified.
- Other OpenXR controllers should work—but are untested. Feedback is appreciated!
⚠ Heads‑up / Known Limits
- Triggers also click “Continue” in the pause menu—avoid mapping them unless you want that behaviour.
BlockBuiltIn(disabling the native ≡ menu key) is not active yet.Restartaction is a stub; binding it currently has no effect.
🛠 Roadmap
| Next version | Planned work |
|---|---|
| v0.0.4 | Implement BlockBuiltIn to fully suppress the ≡ menu key. |
| v0.1.0 | BSML in‑game settings panel + configurable Restart action. |
Found a bug or tested on another headset?
Open an Issue or send a PR—contributions are always welcome!
📦 Release v0.0.2 — “ABXY Full‑Pause + Clean Resume”
📦 Release v0.0.2 — “ABXY Full‑Pause + Clean Resume”
✨ What’s new
| Feature |
|---|
| 🎮 A / B / X / Y = Pause – any face‑button on either controller now toggles the official Pause menu. |
| 🔄 Single‑key resume – press the same button again to Continue; the mod calls Beat Saber’s built‑in handler, so extra panels added by other mods disappear correctly. |
| 🧹 UI‑cleanup fix – no more leftover pause‑screen overlays. |
| ✅ Quest 3 verified – tested on Quest 3 (OpenXR); other OpenXR controllers should behave the same (feedback welcome). |
📥 Install / Update
- Beat Saber 1.39.1 or newer and BSIPA 4 are required.
- Copy
KeyRemapper.dllintoNo manifest file is needed; BSIPA picks up the plugin directly.Beat Saber/Plugins/ - Launch the game ➜ start any map ➜ press A, B, X or Y to pause / resume.
🛠 Roadmap
| Upcoming version | Planned work |
|---|---|
| v0.0.3 | JSON config to enable / disable individual buttons. |
| v0.1.x | In‑game Mod Settings UI (BSML) and option to disable the default menu ≡ key. |
Found an issue or tested on another headset?
Please open an Issue with details – contributions are welcome!
📦 Release v0.0.1 — “X‑Button Pause (Quest 3 Beta)”
📦 Release v0.0.1 — “X‑Button Pause (Quest 3 Beta)”
✨ What’s new
-
Pause with the X button (left controller)
-
Triggers the full, official Pause menu (identical to the menu ≡ button).
-
Press X again or hit Continue to resume play.
-
-
Menu ≡ button still works – the original pause key remains untouched.
-
Tested on Quest 3 (OpenXR) – other OpenXR headsets are expected to behave the same, but are not yet confirmed.
📥 How to install
-
Beat Saber 1.39.1+ with BSIPA 4 is required.
-
Drop
KeyRemapper.dllintoBeat Saber/Plugins/ -
Launch the game ➜ start any map ➜ tap the X button to pause.
🛠️ Roadmap
| Target version | Planned changes |
|---|---|
| v0.0.2 | • Support A / B / X / Y as pause triggers• Simple JSON config to enable/disable each key |
| v0.1.x | • In‑game Mod Settings UI (BSML) for key mapping• Optionally disable the original menu ≡ key |
Issues and test reports for other headsets/controllers are welcome!