Skip to content

Bluepad32 v3.9.0

Compare
Choose a tag to compare
@ricardoquesada ricardoquesada released this 17 Sep 06:13
· 697 commits to main since this release

[v3.9.0] - 2023-09-16

New

  • Add touchpad support for DualSense and DualShock4 controllers.
    When one of these devices connect, it creates a mouse virtual device that is controlled
    by the "gamepad" controller. So, two connections will appear.
    • Can be enabled/disable from console using virtual_device_enable
    • Default value is enabled. Can be modified from idf.py menuconfig
    • Fixes issue: Gitlab Issue #33
  • Unijoysticle A500: Virtual Device support to control Amiga mouse from DualSense and DualShock4.
    It is possible to "swap" the mouse and joystick port, and a connection from a new controller disconnects
    the virtual device (the mouse).
  • New controller button supported:
    • MISC_BUTTONS_CAPTURE. From Arduino call ctl->miscCapture()
    • This is the "share" button in the Xbox 1914 model (the "3rd" button).
    • This is the "mute" button in the DualSense controller.
    • This is the "capture" button on Switch Pro controller.
    • Fixes issue: Gitlab Issue #37

Changed

  • Merge set/get console commands into one, making it a less polluted console.
    If no arguments are passed, it behaves like a getter.
    • set_autofire_cps / get_autofire_cps -> autofire_cps
    • set_gamepad_mode / get_gamepad_mode -> gamepad_mode
    • set_bb_move_threshold / get_bb_move_threshold -> bb_move_threshold
    • set_bb_fire_threshold / get_bb_fire_threshold -> bb_fire_threshold
    • set_c64_pot_mode / get_c64_pot_mode -> c64_pot_mode
    • set_mouse_scale / get_mouse_scale -> mouse_scale
    • set_gap_security_level / get_gap_security_level -> gap_security_level
    • set_gap_periodic_inquiry / get_gap_peridic_inquiry -> gap_periodic_inquiry
    • set_ble_enabled / get_ble_enabled -> ble_enable
    • set_incoming_connections_enabled / incoming_connections_enable
  • Constants in uni_gamepad.h:
    • MISC_BUTTONS_BACK -> MISC_BUTTONS_SELECT (ctl->miscSelect())
    • MISC_BUTTONS_HOME -> MISC_BUTTONS_START (ctl->miscStart())
    • The old constants / functions are still present, but are deprecated.
    • The rationale is that these names should be easier to remember.

Fixed

  • Switch: Fix crash while parsing IMU data (Bug GH44)
  • Xbox: Maps R1/R2 to Brake/Gas (Bug GL34)
  • Xbox: on FW 5.x, "select" button is mapped (Bug GHBA07)
  • Xbox / Stadia / Steam (other BLE devices): Connection is more reliable.