diff --git a/VoidLink/Input/StreamView.m b/VoidLink/Input/StreamView.m index 4f2f7bc4..0f086c8c 100644 --- a/VoidLink/Input/StreamView.m +++ b/VoidLink/Input/StreamView.m @@ -93,6 +93,8 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5; streamConfig:(StreamConfiguration*)streamConfig gameProfile:(OSCProfile* )profile streamFrameTopLayerView:(UIView* )topLayerView{ + if(!self.streamFrameVC) self.streamFrameVC = (StreamFrameViewController* )[GenericUtils parentViewControllerForView:self]; + self->comboKeyModifierFlags = (UIKeyModifierControl|UIKeyModifierAlternate|UIKeyModifierShift); self->_streamFrameTopLayerView = topLayerView; @@ -1055,6 +1057,8 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5; NSMutableSet* nonPencilTouches; if(pencilTouches.count>0){ [_pencilHandler touchesBegan:pencilTouches withEvent:event]; + GenericUtils.pencilInStreaming = true; + if(touchMode == AbsoluteTouch) [_streamFrameVC setMagnifierViewportInteractionEnabled:false]; nonPencilTouches = [touches mutableCopy]; [nonPencilTouches minusSet:pencilTouches]; } diff --git a/VoidLink/Localization/Localizable.xcstrings b/VoidLink/Localization/Localizable.xcstrings index e7b088a3..e7c569c5 100644 --- a/VoidLink/Localization/Localizable.xcstrings +++ b/VoidLink/Localization/Localizable.xcstrings @@ -10924,7 +10924,7 @@ }, "zh-Hant" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "您目前的網路連線似乎正在阻擋遠端工作階段。在此網路上連線時,串流可能無法運作。\n\n下列網路連接埠被封鎖:\n%s" } }, @@ -10953,13 +10953,13 @@ }, "zh-Hant" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "此網路似乎未阻擋遠端工作階段。如果您仍然無法連線,請檢查您電腦的防火牆設定。" } }, "zh-HK" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "此網路似乎未阻擋遠端工作階段。如果您仍然無法連線,請檢查您電腦的防火牆設定。" } } @@ -11086,25 +11086,25 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Purchase [%@] for:\n- Pro-level pressure curve tool.\n- Improved stroke transmission & responsiveness, and user-defined keyboard/mouse shortcut for double tap & squeeze, in the remote drawing workflow.\n- Exclusive drawing-related on-screen buttons.\n- And more …\nNote: basic remote drawing function remains available without purchasing this add-on component." + "value" : "Purchase [%@] for:\n- Pro-level pencil pressure curve tool.\n- Improved stroke transmission & responsiveness, and user-defined keyboard/mouse shortcut for double tap & squeeze, in the remote drawing workflow.\n- Exclusive drawing-related on-screen buttons.\n- And more …\nNote: basic pencil function remains available without purchasing this add-on component." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "购买 [%@] 可解锁:\n- 专业级笔压曲线工具。\n- 远程绘画笔迹传输、笔触响应性能优化。\n- 支持用户自定义的双击及捏合键盘/鼠标快捷键。\n- 专属绘图相关的屏显按钮。\n以及更多...\n未购买该套件不影响基础绘画功能。" + "value" : "基础Pencil功能之上,购买 [%@] 可解锁:\n- 专业级笔压曲线工具。\n- 远程绘画笔迹传输优化、笔触响应性能优化。\n- 支持用户自定义的双击及捏合键盘/鼠标快捷键。\n- 专属绘图相关的屏显按钮。\n..." } }, "zh-Hant" : { "stringUnit" : { "state" : "translated", - "value" : "解鎖 [%@] :\n- 專業級筆壓曲線工具。\n- 最佳化遠端繪畫的筆跡傳輸與筆觸響應效能。\n- 並支援使用者自訂的雙擊及捏合鍵盤/滑鼠快捷鍵。\n- 專屬繪圖相關的螢幕顯示按鈕。\n以及更多...\n未購買此套件不影響基礎繪畫功能。" + "value" : "在基礎Pencil功能之上,購買 [%@] 可解鎖:\n- 專業級筆壓曲線工具。\n- 最佳化遠端繪畫的筆跡傳輸與筆觸響應效能。\n- 並支援使用者自訂的雙擊及捏合鍵盤/滑鼠快捷鍵。\n- 專屬繪圖相關的螢幕顯示按鈕。\n..." } }, "zh-HK" : { "stringUnit" : { "state" : "translated", - "value" : "解鎖 [%@] :\n- 專業級筆壓曲線工具。\n- 最佳化遠端繪畫的筆跡傳輸與筆觸響應效能。\n- 並支援使用者自訂的雙擊及捏合鍵盤/滑鼠快捷鍵。\n- 專屬繪圖相關的螢幕顯示按鈕。\n以及更多...\n未購買此套件不影響基礎繪畫功能。" + "value" : "在基礎Pencil功能之上,購買 [%@] 可解鎖:\n- 專業級筆壓曲線工具。\n- 最佳化遠端繪畫的筆跡傳輸與筆觸響應效能。\n- 並支援使用者自訂的雙擊及捏合鍵盤/滑鼠快捷鍵。\n- 專屬繪圖相關的螢幕顯示按鈕。\n..." } } } diff --git a/VoidLink/Utility/GenericUtils.swift b/VoidLink/Utility/GenericUtils.swift index 09dce520..9a93cd40 100644 --- a/VoidLink/Utility/GenericUtils.swift +++ b/VoidLink/Utility/GenericUtils.swift @@ -490,6 +490,8 @@ import UIKit LocalizationHelper.localizedString(forKey: "Got it!") } + @objc static var pencilInStreaming:Bool = false + @objc static func isIPhone() -> Bool { return UIDevice.current.userInterfaceIdiom == .phone } diff --git a/VoidLink/ViewControllers/StreamFrameViewController.m b/VoidLink/ViewControllers/StreamFrameViewController.m index b7a5685b..e55be5b6 100644 --- a/VoidLink/ViewControllers/StreamFrameViewController.m +++ b/VoidLink/ViewControllers/StreamFrameViewController.m @@ -724,6 +724,8 @@ static NSString* VLTerminationHintForErrorCode(int errorCode) { [self restorePersistedStreamViewOffsetAndScaleWithProfile:_oscProfile]; + GenericUtils.pencilInStreaming = false; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateContentOffsetAndScale:) name:@"GameProfileSelectedNotification" @@ -1101,7 +1103,7 @@ static NSString* VLTerminationHintForErrorCode(int errorCode) { } - (void)setMagnifierViewportInteractionEnabled:(BOOL)enabled { - _magnifierViewportInteractionActive = enabled || (_oscProfile.touchMode == AbsoluteTouch && !_settings.passthroughGestures); + _magnifierViewportInteractionActive = enabled || (_oscProfile.touchMode == AbsoluteTouch && !_settings.passthroughGestures && !GenericUtils.pencilInStreaming); [self updateScrollViewInteractionState]; }