Releases: jfedor2/hid-remapper
r2026-04-07
- Build for the MeisterConverter board.
- USB serial number string based on the unique flash ID.
- Quirks for 3Dconnexion SpacePilot and another Elecom HUGE variant.
r2026-01-30
- Mouse movement no longer wakes the computer from sleep, only button and key presses.
- There's now a build for the Waveshare RP2350-PiZero board.
r2026-01-20
- Wired Xbox 360 controllers should now work.
- HID Remapper can now wake your computer from sleep. Currently this works in the keyboard/mouse modes and doesn't work on the Bluetooth version.
r2025-12-19
- On custom boards v1, v2, v5, v6, v7 (dual RP2040 boards), the manual "Flash B side" step is no longer required. Please note you still have to disconnect and reconnect your HID Remapper after flashing the UF2 file on those boards.
- Per-port mappings now work for Xbox controllers on the single Pico variant.
- Mappings with the hub port set are now ignored until we start seeing inputs from a device plugged into that port (previously they were processed immediately after the device was plugged in, which could cause issues for inputs like analog sticks where the neutral state is not zero).
r2025-11-18
- Adds support for Fn1, Fn2, Fn3 buttons on the Elecom Huge Plus trackball (thanks, @shiiba-cba!).
- Fixes an issue with certain mice/trackballs where horizontal scroll would only work in one direction.
r2025-11-12
This release fixes an issue with certain devices that manifested as inputs showing up in the Monitor tab, but not working otherwise (#280, #295, #304).
The serial variant build is now compatible with the rp2040-rs232 adapter board.
r2025-06-17
This release fixes an issue where fetching input state in an expression could give an invalid value after a boot/report protocol mode switch.
(And since macOS sets the mode to report protocol after plugging a device in, even though that is the default, the issue manifested itself even without an actual mode switch.)
r2025-06-02
This release makes it so that HID Remapper works with the iOS "Full Keyboard Access" function when in mouse/keyboard mode.
(It has always worked as a keyboard for typing etc. on iOS, but now it also works with that function, which is an accessibility option that lets you navigate around the UI using a keyboard.)
r2025-05-23
Gamepad input normalization
A new option, Normalize gamepad inputs, enabled by default, makes it so that buttons on all known gamepads will show up as the same inputs, making it easier to create configurations that work with different game controllers. Because different controllers sometimes use different inputs for the same buttons, previously you had to adjust the mappings for specific controller models.
Currently PlayStation, Switch, Xbox and Stadia controllers should get the standard mapping and can therefore be used interchangeably (with some caveats, see below).
If you have a controller that uses the standard layout but doesn't get correct button mappings, please let me know.
When loading old configurations, the option is disabled to preserve existing behavior.
Please note that L2/R2 and L2 axis/R2 axis are separate inputs as far as HID Remapper is concerned. Some controllers send both, some only send the button inputs and some only send the axis inputs.
Please note that the normalization currently only occurs on the input side. Depending on which emulated device type you use, the inputs might not match the outputs, so for example if you configure your HID Remapper to work as a Stadia controller and enable unmapped inputs passthrough, you won't get a correct input mapping. You would still have to map each button separately.
Registers as outputs on a mapping
Mappings with outputs set to registers now work as expected, putting the input state value into the register, which can then be read from inside an expression. This makes is possible to create more generic expressions that use registers as parameters/placeholders, so that you can assign expression inputs using mappings, without having to modify the expression itself.
Because of the order of evaluating expressions and mappings, the values in the registers are delayed by one frame compared to if they were read directly.
r2025-03-25
This release adds builds for the Flatbox rev4 and rev8 boards. There are no other changes.