Skip to content

Releases: lyyQwQ/KeyRemapper

Release v0.2.0 — In-Game UI Configuration

08 Aug 06:19

Choose a tag to compare

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

  1. Download KeyRemapper-0.2.0-bs1.39.1-4e385b2.zip below
  2. Extract it directly into your Beat Saber root folder (the one containing Beat Saber.exe)
  3. 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

05 May 07:39

Choose a tag to compare

What's Changed

Type Details
Added Restart action – bind any supported button to instantly restart a song.
Added Block built-in pause keyBlockBuiltIn 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”

20 Apr 05:46

Choose a tag to compare

📦 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

  1. Requires Beat Saber 1.39.1+ and BSIPA 4.

  2. Drop KeyRemapper.dll into

    Beat  Saber/Plugins/
    
  3. Launch the game once → a default KeyRemapper.json is created.

  4. Open the file and adjust the Bindings array, 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.
  • Restart action 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”

19 Apr 06:38

Choose a tag to compare

📦 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

  1. Beat Saber 1.39.1 or newer and BSIPA 4 are required.
  2. Copy KeyRemapper.dll into
    Beat Saber/Plugins/
    
    No manifest file is needed; BSIPA picks up the plugin directly.
  3. 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)”

19 Apr 05:56

Choose a tag to compare

📦 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

  1. Beat Saber 1.39.1+ with BSIPA 4 is required.

  2. Drop KeyRemapper.dll  into

    Beat Saber/Plugins/
    
  3. 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!