mirror of
https://github.com/ddeverill/SteamlessController.git
synced 2026-10-21 22:22:16 -05:00
PlayStation mode now emits DS4_REPORT_EX on every frame: - Raw gyro and accelerometer forwarded from SC IMU (enabled via SETTING_IMU_MODE when PS4 mode is active; disabled on teardown) - SC right/left trackpads mapped to DS4 touchpad contacts 1/2, with correct 12-bit XY packing and per-gesture contact IDs; pads claimed for mouse use are suppressed from the touchpad report - Battery level and charge state forwarded from REPORT_BATTERY_STATUS (0x43) reports received in the read loop - DS4 output moved from deprecated notification callback to a polling thread using vigem_target_ds4_await_output_report_timeout() Enhanced haptics applied to both Xbox and PlayStation modes: - Power curve (value^0.68) and cross-channel mixing (large motor bleeds into both haptic actuators; small motor weighted toward right) - Short attack boost on rising motor edges to replicate ERM punch - Trackpad touch and click fire one-shot haptic pulses via new OUT_HAPTIC_PULSE (0x81) and OUT_HAPTIC_COMMAND (0x82) output reports Additional fixes: - REPORT_SECONDARY = 0x43 renamed to REPORT_BATTERY_STATUS - ViGEMClient upgraded from 1.16.18.0 to b66d02d snapshot which exposes DS4_REPORT_EX, vigem_target_ds4_update_ex(), and vigem_target_ds4_await_output_report_timeout() Co-authored-by: david419kr <david419kr@users.noreply.github.com> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>