Commit Graph
20 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Opus 5.5 ebab68ac0a iOS: Remove availability checks for versions below the 15.0 minimum
Also drops what they guarded: the pre-14 UIImagePickerController and
document picker fallbacks, the psychic paper entitlement workaround
(fixed in 13.5), and the CS_EXECSEG_ALLOW_UNSIGNED JIT probe, which
returned false on everything from 14.4 on.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 16:13:29 +02:00
Henrik RydgårdandClaude Opus 5.5 cfcf8cc17c iOS: Remove the iCade support
It has done nothing since 2017. iCade input came through iCadeReaderView,
a hidden UIKeyInput view that decoded the controller's keystrokes, and
f0ba66fcd6 ("add support for smart keyboard") commented out the code
that created it. Nothing has made one since, so the view controller's
iCadeEventDelegate methods and the ICadeTracker behind them were never
called.

iCade controllers present themselves to iOS as Bluetooth keyboards, so
their keys still arrive as hardware keyboard presses, which can be
mapped like any other keys. Modern controllers go through
GameController.framework anyway.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 19:10:37 +02:00
Henrik RydgårdandClaude Opus 5.5 b4775cde07 iOS: Fix the safe area inset and touch scaling
The safe area insets were converted to pixels with UIScreen.scale, but
the display size with nativeScale. The two differ on the Plus models
and the minis, so the insets were off by up to 15% there. Both use the
window scene's nativeScale now.

Touch positions were truncated to integers before being multiplied by
the screen scale, putting them on a grid about 3 dp apart. Convert
straight from points to dp, by the view size.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 16:28:27 +02:00
Henrik RydgårdandClaude Opus 5.5 6fe0f420b1 iOS: Drop version checks for iOS 12 and older, use one deployment target
The minimum is iOS 13 (15 for the App Store build), so the iOS 10
display link fallbacks, the iOS 13 orientation check, the weak import
of GCController and the respondsToSelector checks for APIs from iOS 8
to 13 can go.

The keyboard presses checked for iOS 13.0 but used UIPress.key outside
the check, which needs 13.4, so it would crash on 13.0-13.3 if it ever
runs there. It only runs in App Store builds now. Folded the two copies
into one function with the right check.

The deployment target was 13.0 in the toolchain's compile flags but
12.0 in CMAKE_OSX_DEPLOYMENT_TARGET and 11.0 in the Xcode attribute for
non-App Store builds. All three now come from the toolchain file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 16:28:27 +02:00
Henrik Rydgård c7a7db3bbe iOS: Track controller connect/disconnect, reset controls on disconnect. 2026-01-26 11:44:30 +01:00
Henrik Rydgård 77ec5c7c50 Buildfixes 2025-12-19 16:20:30 +01:00
Henrik Rydgård 052e21b903 Increase the safe inset margins slightly 2025-10-27 19:24:08 +01:00
Henrik Rydgård 1c49ad7b29 Support screen rotation on iOS (unrestricted) 2025-10-22 15:13:21 +02:00
Henrik Rydgård 5bfaaddedb Implement iOS keyboard mappings for Ctrl/Shift/Alt/Meta 2025-08-19 09:48:58 +02:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård 584d07ea8e iOS: Implement basic physical keyboard support 2024-06-05 23:27:03 +02:00
Henrik Rydgård 338758f430 iOS: Fix "Home" button on controllers (like the PS logo button on a PS4 controller) 2024-06-05 15:01:02 +02:00
Henrik Rydgård 7b3f0aeab2 iOS: Implement accelerometer support 2024-06-04 11:51:09 +02:00
Henrik Rydgård d46a7ed228 iOS gamepad mapping: Better mapping, better defaults. Fixes the start button problem.
controller.controllerPausedHandler should not be set.
2024-05-26 11:12:13 +02:00
Henrik Rydgård 016e90f7a4 Buildfix, cleanup use of long-deprecated stuff. 2024-05-22 13:34:17 +02:00
Henrik Rydgård 98e87a78d8 Extract the iCade code to Controls.mm 2024-05-22 12:11:51 +02:00
Henrik Rydgård bf8d55c970 Finish extracting the touch tracker from the ViewController 2024-05-22 11:59:26 +02:00
Henrik Rydgård 1db11599b4 Move some more code 2024-05-22 11:36:52 +02:00
Henrik Rydgård 82573b4f82 Move controller setup to Controls.mm 2024-05-22 11:18:03 +02:00
Henrik Rydgård 09e89e9d79 Minor cleanup 2024-05-22 10:38:40 +02:00