fixed: soft keyboard brought up by iOS26 system-level action

This commit is contained in:
True Zhuanjia
2026-03-23 12:22:56 +08:00
parent 37d7949304
commit ae526ecddf
2 changed files with 17 additions and 7 deletions
+14 -7
View File
@@ -76,13 +76,20 @@ import GameController
// 单一 gamepad.valueChangedHandler
gamepad.valueChangedHandler = { gamepad, element in
navigationActionTriggeredPrivate = (gamepad.dpad.up.isPressed
|| gamepad.dpad.down.isPressed
|| gamepad.dpad.left.isPressed
|| gamepad.dpad.right.isPressed
|| gamepad.rightThumbstick.xAxis.value != 0
|| gamepad.rightThumbstick.yAxis.value != 0
|| gamepad.leftThumbstick.xAxis.value != 0
|| gamepad.leftThumbstick.yAxis.value != 0)
|| gamepad.dpad.down.isPressed
|| gamepad.dpad.left.isPressed
|| gamepad.dpad.right.isPressed
|| gamepad.buttonA.isPressed
|| gamepad.buttonB.isPressed
|| gamepad.buttonX.isPressed
|| gamepad.leftShoulder.isPressed
|| gamepad.rightShoulder.isPressed
|| gamepad.leftTrigger.value != 0
|| gamepad.rightTrigger.value != 0
|| gamepad.rightThumbstick.xAxis.value != 0
|| gamepad.rightThumbstick.yAxis.value != 0
|| gamepad.leftThumbstick.xAxis.value != 0
|| gamepad.leftThumbstick.yAxis.value != 0)
if navigationActionTriggeredPrivate { navigationActionTriggered = true}
else {
DispatchQueue.global().asyncAfter(deadline: .now() + 0.02) {
+3
View File
@@ -328,6 +328,8 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5;
[self liftMetalVideoViewIfNeeded:0];
isInputingText = NO;
[keyInputField removeFromSuperview];
}
}
@@ -391,6 +393,7 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5;
[keyboardToggleTip removeFromSuperview];
} else {
Log(LOG_D, @"Opening the keyboard");
[self addSubview:keyInputField];
// Prepare the textbox used to capture keyboard events.
keyInputField.delegate = self;
keyInputField.text = @"0";