From c589da7db139bdf9a730643a271026c99dd7348c Mon Sep 17 00:00:00 2001 From: SandiyosDev <25407129+SandiyosDev@users.noreply.github.com> Date: Thu, 6 Aug 2026 20:47:33 -0500 Subject: [PATCH 1/3] send the key release too when shift is held --- OpenParsec/ParsecSDKBridge.swift | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/OpenParsec/ParsecSDKBridge.swift b/OpenParsec/ParsecSDKBridge.swift index b5d511e8..071156cc 100644 --- a/OpenParsec/ParsecSDKBridge.swift +++ b/OpenParsec/ParsecSDKBridge.swift @@ -442,7 +442,8 @@ class ParsecSDKBridge: ParsecService { } var keyboardMessagePress = ParsecMessage() keyboardMessagePress.type = MESSAGE_KEYBOARD - if !isVirtualShiftOn && useShift { + let sendShift = !isVirtualShiftOn && useShift + if sendShift { keyboardMessagePress.keyboard = ParsecKeyboardMessage(code: KEY_LSHIFT, mod: MOD_NONE, pressed: true, __pad: (0, 0, 0)) ParsecClientSendMessage(_parsec, &keyboardMessagePress) } @@ -452,10 +453,11 @@ class ParsecSDKBridge: ParsecService { // add release delay in case some games ignore instant key release DispatchQueue.global().asyncAfter(deadline: .now() + 0.02) { keyboardMessagePress.keyboard = ParsecKeyboardMessage(code: keyCode, mod: MOD_NONE, pressed: false, __pad: (0, 0, 0)) - if !self.isVirtualShiftOn && useShift { + ParsecClientSendMessage(self._parsec, &keyboardMessagePress) + if sendShift { keyboardMessagePress.keyboard = ParsecKeyboardMessage(code: KEY_LSHIFT, mod: MOD_NONE, pressed: false, __pad: (0, 0, 0)) + ParsecClientSendMessage(self._parsec, &keyboardMessagePress) } - ParsecClientSendMessage(self._parsec, &keyboardMessagePress) } } From 7c2f5483242c1d935ef9285657065c309054c4ee Mon Sep 17 00:00:00 2001 From: SandiyosDev <25407129+SandiyosDev@users.noreply.github.com> Date: Thu, 6 Aug 2026 20:58:12 -0500 Subject: [PATCH 2/3] toolbar button target --- OpenParsec/ParsecViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenParsec/ParsecViewController.swift b/OpenParsec/ParsecViewController.swift index 6185acd4..4b03de0a 100644 --- a/OpenParsec/ParsecViewController.swift +++ b/OpenParsec/ParsecViewController.swift @@ -1173,7 +1173,7 @@ extension ParsecViewController: UIKeyInput, UITextInputTraits { button.titleLabel?.contentMode = .scaleAspectFit // Set target and action for button - button.addTarget(target, action: #selector(toolbarButtonClicked(_:)), for: .touchUpInside) + button.addTarget(self, action: #selector(toolbarButtonClicked(_:)), for: .touchUpInside) return button } From 266dc2d868d3d39c512c81f237a0adf3883f9c49 Mon Sep 17 00:00:00 2001 From: SandiyosDev <25407129+SandiyosDev@users.noreply.github.com> Date: Thu, 6 Aug 2026 22:06:19 -0500 Subject: [PATCH 3/3] there is no font called System, key captions were falling back to 17pt --- OpenParsec/ParsecViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenParsec/ParsecViewController.swift b/OpenParsec/ParsecViewController.swift index 4b03de0a..fff67127 100644 --- a/OpenParsec/ParsecViewController.swift +++ b/OpenParsec/ParsecViewController.swift @@ -1161,7 +1161,7 @@ extension ParsecViewController: UIKeyInput, UITextInputTraits { // Set the image and button properties button.setTitle(displayText, for: .normal) - button.titleLabel?.font = UIFont(name: "System", size: 10.0) + button.titleLabel?.font = .systemFont(ofSize: 10) button.frame = CGRect(x: 0, y: 0, width: 36, height: 36) button.titleLabel?.frame = CGRect(x: 0, y: 0, width: 30, height: 30) if let label = button.titleLabel {