From 51b401d418671b1261d240b8ef08bf5993b4c2e2 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 21 Oct 2025 15:45:02 -0700
Subject: [PATCH] Fixed OTP text entry on iOS (thanks @pipiwoaini!)
Fixes https://github.com/libsdl-org/SDL/issues/13717
---
src/video/uikit/SDL_uikitviewcontroller.m | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/video/uikit/SDL_uikitviewcontroller.m b/src/video/uikit/SDL_uikitviewcontroller.m
index fadca557491e2..6bdefae955493 100644
--- a/src/video/uikit/SDL_uikitviewcontroller.m
+++ b/src/video/uikit/SDL_uikitviewcontroller.m
@@ -575,6 +575,10 @@ - (void)keyboardDidHide:(NSNotification *)notification
- (void)textFieldTextDidChange:(NSNotification *)notification
{
if (textField.markedTextRange == nil) {
+ if (isOTPMode && labs((NSInteger)textField.text.length - (NSInteger)committedText.length) != 1) {
+ return;
+ }
+
NSUInteger compareLength = SDL_min(textField.text.length, committedText.length);
NSUInteger matchLength;