Skip to content

feat(default-skin): Global controller overlay scale & opacity settings #2890

@github-actions

Description

@github-actions

Overview

Add a global scale slider for the on-screen controller overlay, allowing users to make the entire controller HUD larger or smaller. This directly addresses the original request in #1602 where controls are reported as too small on some iPads.

User Story

As an iPad user, I want to scale the on-screen controller overlay so that buttons are comfortably sized for my hands and device.

Implementation Notes

  • Add a controllerScale preference (Float, range 0.5–2.0, default 1.0) to PVSettings
  • Apply the scale factor to the default programmatic skin and the legacy UIKit overlay (PVControllerViewController / PVGameControllerContainerView)
  • Expose via:
    • Settings → Controller → "Overlay Scale" slider
    • Optional: in-game pinch-to-scale gesture on the overlay
  • Persist per-system or globally (start with global, per-system is a stretch goal)
  • Also add a global opacity setting (0–100%) while touching this area

Acceptance Criteria

  • Scale slider available in Settings
  • Controller overlay respects scale at launch and after live changes
  • Scale persists across app restarts
  • No visual clipping or layout breakage at min/max scale values

Part Of

Part of #2889 ([Epic] On-Screen Controller Customization)

Closes #1602

Metadata

Metadata

Assignees

No one assigned

    Labels

    controller-relatedphysical controller and inputscursor-workRoute work through Cursor lanesenhancementimprovements, enhancements, new features, additionsneeds-manual-interventionAgent workflow needs human helpui/uxrelated to user interface and experience

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions