Back to Provenance

3352

.changelog/3352.md

3.3.12.2 KB
Original Source

Added

  • DualSense / DualShock touchpad → mouse — polling touchpadPrimary each frame in the thin libretro core forwards swipe gestures as relative mouse movement when the current system supports a mouse (iOS/tvOS 14.5+)

Fixed

  • SNES Mouse (PVRetroArch) — virtual trackpad overlay now appears for SNES games; supportBySystemIdentifier entry upgraded from keyboard-only to keyboard+mouse
  • DS touchscreen (PVRetroArch)RETRO_DEVICE_POINTER now receives touch input; leftMouseDown/Up manage apple->touch_count and mouseMovedAt: writes apple->touches[0].screen_x/y so cocoa_input_poll can convert to libretro pointer coordinates
  • DS touchscreen (thin libretro)mouseMoved(atPoint:) now routes DS through setPointerX with proper [-0x7fff, 0x7fff] normalisation and tracks the pressed state during drags
  • Thin libretro relative-mouse deltamouseMoved(atPoint:) was treating the incoming normalised [0, 1] cursor position directly as an Int16 delta (always ~0). Now computes per-event delta from the previous normalised position, scaled by 300 (matching the RetroArch Atari ST / Doom implementation)
  • Saturn / PSX mouse (PVRetroArch) — added to supportBySystemIdentifier so the virtual trackpad activates for Shuttle Mouse and PlayStation Mouse games
  • tvOS Siri Remote mouse panmouseMoved(atPoint:) now uses #if os(tvOS) to forward Siri Remote pan deltas directly; iOS uses the normalised-position differencing path; eliminates the fragile unit-square + magnitude heuristic that mis-classified top-left corner touches as relative deltas
  • DualSense / DualShock touchpad on DS — DS sessions are excluded from the touchpad-to-mouse-delta path since DS uses RETRO_DEVICE_POINTER (absolute coordinates), not RETRO_DEVICE_MOUSE (relative deltas)
  • DualSense / DualShock touchpad cursor jumps — previous-sample is now always refreshed each poll frame; only the delta send is gated by the deadzone, preventing sub-deadzone micro-movements from accumulating into a large jump
  • DS right-mouse forwardingrightMouseDown/Up are now no-ops for DS since DS uses RETRO_DEVICE_POINTER and forwarding right-mouse events to a pointer-only core produced unintended input