Skip to content

v0.1.28

Choose a tag to compare

@github-actions github-actions released this 12 Sep 21:57
· 1 commit to main since this release
fe324c1

Face buttons: X and Y now use the codes SDL expects for non-Sony controllers

X emits BTN_NORTH (0x133) and Y emits BTN_WEST (0x134) whenever the [output]
vendor id is not Sony (0x054c); Sony identities keep X = BTN_WEST.

Affected shipped configs: 8bitdo ultimate, flydigi vader4-pro and its
04b4:2412 variant, hori horipad-steam, lenovo legion-go, microsoft xbox-elite,
valve steam-deck. Affected presets: xbox-360 and xbox-elite2.

To keep the previous behaviour, declare X = "BTN_WEST" and Y = "BTN_NORTH"
in your own config. If you compensated with a Steam Input layout or an
in-game rebinding, undo it, otherwise X and Y swap a second time.
Old-style configs still load; padctl logs one warning.

Other changes

  • A dpad hat-switch field now reaches the output d-pad and takes part in
    remap, layers, arrows mode and suppress_gamepad like button-bit d-pads.
    Declaring both a dpad field and DPad* button bits is rejected.
  • bits fields accept a transform chain; scale uses the declared bit
    width as full scale, so a 10-bit trigger can be declared as
    rt = { bits = [4, 6, 10], transform = "scale(0, 255)" }.

Changelog — v0.1.28

fe324c1 chore(release): bump version to 0.1.28 (#518)
a5a5943 fix(output): emit X/Y with the SDL face-button codes for non-Sony identities (#515)
2a566eb feat(config): allow transform chains on bit-field inputs (#516)
6b88b50 fix(dpad): derive dpad output from hat-decoded DPad button bits (#517)