Skip to content

Releases: jfedor2/hid-remapper

r2023-10-07

07 Oct 19:53
Compare
Choose a tag to compare

The Bluetooth version of HID Remapper is now compatible with the Xbox Adaptive Controller (and possibly other Bluetooth-enabled Xbox controllers).

Please note that the USB version of HID Remapper cannot currently take inputs from Xbox controllers.

r2023-10-04

04 Oct 09:39
Compare
Choose a tag to compare

This release adds Nintendo Switch compatibility to the Bluetooth version of HID Remapper.

r2023-09-27

27 Sep 21:40
Compare
Choose a tag to compare

HID Remapper can now emulate other device types in addition to regular mouse and keyboard. This release adds:

  • Absolute mouse and keyboard. With absolute cursor positioning certain behaviors are now possible. See the advanced autoclicker example.
  • Nintendo Switch compatible gamepad. Adapt any USB HID device with full remapping. See keyboard adapter example.
  • PS4/PS5 compatible arcade stick. Similar to the above, this comes with certain caveats. You will need an officially licensed PS4 arcade stick (not a DualShock 4) or a dongle like Mayflash MagicBoots PS4 v1.1 or PXN N5. Plug it into a hub along with the device you want to use. On the PS5 it's only compatible with certain games (mostly fighting games).

Remapping things like the d-pad and joystick axes currently requires the use of (very simple) expressions. I hope to make this simpler in the future.

Other changes:

  • Registers can now be mapping inputs. This way one expression can generate multiple outputs.
  • Monitor tab now works on the Bluetooth version.

Be sure to also flash the B side when you upgrade to this version on the dual Pico and custom board (v1/v2) variants.

Please note the Bluetooth version doesn't currently have the ability to switch Vendor ID/Product ID based on the emulated device type so it won't work with Nintendo Switch. It also doesn't have a USB input so it won't be able to use another device for PS4 authentication.

r2023-07-19

20 Jul 21:40
Compare
Choose a tag to compare

This release has some significant internal changes, but if you're not using expressions, you will likely not notice any difference.

Be sure to flash the B side when you upgrade to this version on the dual Pico and custom board variants.

  • USB timing improvements. Input/output USB clocks are now synchronized on the single Pico version, resulting in fixed 0.85ms latency. On the dual Pico version, latency should be between around 0.5 and 1.5ms.
  • Expression registers. You can now store values in registers and fetch them later using new store and recall expression operations. Could be used for running averages, counters, etc. See the auto-clicker example.
  • New expression operations: prev_input_state, prev_input_state_binary, sqrt, atan2, round.
  • Because all expressions are now evaluated once per millisecond, regardless of their use in mappings, using auto_repeat is no longer necessary and scaling can no longer be used for quick parametrization (they both now always return 1).
  • LED behavior of side B of dual Pico version is now consistent with side A.

r2023-07-07

07 Jul 21:10
Compare
Choose a tag to compare
  • Adds special handling for a new variant of Elecom Huge wireless trackball (056e:011c) so that Fn1, Fn2, Fn3 buttons work.
  • Makes the "unique" device names a bit more unique. This means your device name will change after flashing this release.

r2023-05-26

26 May 16:27
Compare
Choose a tag to compare
  • Input monitor. If you're not sure what inputs your device is sending for some buttons or axes, you can now check it in the "Monitor" tab. Especially useful for non-standard/vendor-specific usage codes.
  • Keyboard LEDs support. Caps Lock, Num Lock, Scroll Lock etc. should now work and you can also remap them.
  • GPIO pin inputs. Add extra buttons to your mouse or keyboard by wiring a switch directly to one of the Pico's GPIO pins.
  • Device name suffix. If you have more than one HID Remapper, it is now easier to tell which is which.
  • 32 macros. Up from 8.
  • Fix for polling interval regression. At some point we lost the logic that rounded the polling interval to the nearest power of two. This restores the previous behavior.

Please note some of the features are not present in the Bluetooth version yet.

r2023-04-26

26 Apr 18:14
Compare
Choose a tag to compare

This release is a hotfix for the Feather USB Host board build. It adds driving pin 18 high (EN pin on the 5V boost converter).

It also pulls the latest TinyUSB changes, hopefully with no changes in behavior.

r2023-04-24

24 Apr 18:02
Compare
Choose a tag to compare

This release has no functional changes, but adds a firmware build for Adafruit's Feather RP2040 with USB Type A Host board.

Use the remapper_feather.uf2 firmware file for that board.

r2023-02-17

17 Feb 21:40
Compare
Choose a tag to compare
  • Expressions! An advanced feature that lets you create complex mappings. Look for examples in the documentation.
  • New version of the single Pico variant. Should be compatible with some devices that didn't work before.
  • Web configuration interface reorganized into tabs.
  • pico-sdk and tinyusb updated to latest versions.

r2023-01-27

27 Jan 18:16
Compare
Choose a tag to compare

Tap-hold is a mechanism that lets you map a button to one function when it is clicked and another when it is held. For example you could make the middle mouse button act as middle button when it is clicked, but trigger a layer (or a modifier like Shift) when it is held.

The threshold between tap and hold is configurable (globally, not per-mapping) and is set to 200ms by default.

A mapping with the "tap" flag set can also be sticky. For example you could make one "button X->layer Y" mapping with "tap"+"sticky" flags and another "button X->layer Y" mapping with the "hold" flag. That way the layer would latch on when the button is clicked, but would only activate temporarily when it is held.