diff --git a/VoidLink.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/VoidLink.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
index 08de0be8..54782e32 100644
--- a/VoidLink.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ b/VoidLink.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
@@ -3,6 +3,6 @@
IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded
-
+
diff --git a/VoidLink/Input/CommandManager.swift b/VoidLink/Input/CommandManager.swift
index 8e87ec30..d1baec87 100644
--- a/VoidLink/Input/CommandManager.swift
+++ b/VoidLink/Input/CommandManager.swift
@@ -132,6 +132,9 @@ import UIKit
@objc public static let functionalButtonCmds: [String] = [
"SETTINGS",
"TOOLBOX",
+ "DISCONNECT",
+ "QUITAPP",
+ "PIP",
"WIDGETTOOL",
"ABSGAMEPAD",
"WIDGETPROFILES",
diff --git a/VoidLink/Input/OnScreenWidgetView.swift b/VoidLink/Input/OnScreenWidgetView.swift
index 05168633..c4d32bf3 100644
--- a/VoidLink/Input/OnScreenWidgetView.swift
+++ b/VoidLink/Input/OnScreenWidgetView.swift
@@ -18,6 +18,7 @@ import ObjectiveC.runtime
@objc public static var mapping: [Int16:OnScreenWidgetView] = [:]
@objc public static var isRestoring: Bool = false
+ @objc public static var hasRestoredFromAutoDock: Bool = false
@objc public static func set(widget:OnScreenWidgetView, for key:Int16) {
mapping[key] = widget
}
@@ -3017,6 +3018,11 @@ import ObjectiveC.runtime
@objc private func vl_autoDock_touchesEnded(_ touches: Set, with event: UIEvent?) {
OnScreenWidgetView.autoDockOriginalTouchesEndedIMP?(self, #selector(OnScreenWidgetView.touchesEnded(_:with:)), touches, event)
guard autoDockEnabled else { return }
+ if OnScreenWidgetView.hasRestoredFromAutoDock {
+ DispatchQueue.global().asyncAfter(deadline: .now() + 0.02){
+ OnScreenWidgetView.hasRestoredFromAutoDock = false
+ }
+ }
autoDockRestartCountdownIfNeeded()
}
@@ -3194,6 +3200,7 @@ import ObjectiveC.runtime
private func autoDockRestoreWidget(animated: Bool) {
guard autoDockIsDocked, let restoreCenter = autoDockStoredCenter else { return }
+ OnScreenWidgetView.hasRestoredFromAutoDock = true
autoDockStopCountdown()
autoDockStopSettledAlphaTimer()
autoDockRestoreOriginalSize()
diff --git a/VoidLink/ViewControllers/CustomEdgeSlideGestureRecognizer.m b/VoidLink/ViewControllers/CustomEdgeSlideGestureRecognizer.m
index 702d854d..26205d72 100644
--- a/VoidLink/ViewControllers/CustomEdgeSlideGestureRecognizer.m
+++ b/VoidLink/ViewControllers/CustomEdgeSlideGestureRecognizer.m
@@ -10,6 +10,7 @@
#import "CustomEdgeSlideGestureRecognizer.h"
#import
+#import "VoidLink-Swift.h"
@implementation CustomEdgeSlideGestureRecognizer
UITouch* capturedUITouch;
@@ -52,6 +53,7 @@ CGFloat startPointX;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
// [super touchesEnded:touches withEvent:event];
if(_excludePencilEvent && touches.anyObject.type != UITouchTypeDirect) return;
+ if(OnScreenWidgetView.hasRestoredFromAutoDock) return;
if([touches containsObject:capturedUITouch]){
CGFloat _endPointX = [capturedUITouch locationInView:self.view].x;
CGFloat screenWidthInPoints = self.view.frame.size.width;
diff --git a/VoidLink/ViewControllers/SettingsViewController.m b/VoidLink/ViewControllers/SettingsViewController.m
index f6d181e5..9ab4b57a 100644
--- a/VoidLink/ViewControllers/SettingsViewController.m
+++ b/VoidLink/ViewControllers/SettingsViewController.m
@@ -900,7 +900,7 @@ BOOL isCustomResolution(int resolutionSelected) {
[self addSetting:self.softKeyboardGestureStack ofId:@"softKeyboardGestureStack" withInfoTag:YES withDynamicLabel:NO to:gesturesSection];
[self addSetting:self.slideToSettingsScreenEdgeStack ofId:@"slideToSettingsScreenEdgeStack" withInfoTag:NO withDynamicLabel:NO to:gesturesSection];
- // [self addSetting:self.slideToToolboxScreenEdgeStack ofId:@"slideToToolboxScreenEdgeStack" withInfoTag:NO withDynamicLabel:NO to:gesturesSection];
+ [self addSetting:self.slideToToolboxScreenEdgeStack ofId:@"slideToToolboxScreenEdgeStack" withInfoTag:NO withDynamicLabel:NO to:gesturesSection];
[self addSetting:self.slideToSettingsDistanceStack ofId:@"slideToSettingsDistanceStack" withInfoTag:YES withDynamicLabel:YES to:gesturesSection];
[self addSetting:self.edgeSlidingSensitivityStack ofId:@"edgeSlidingSensitivityStack" withInfoTag:YES withDynamicLabel:YES to:gesturesSection];
[gesturesSection addToParentStack:_parentStack];
diff --git a/VoidLink/ViewControllers/StreamFrameViewController.m b/VoidLink/ViewControllers/StreamFrameViewController.m
index b5a50243..a775564a 100644
--- a/VoidLink/ViewControllers/StreamFrameViewController.m
+++ b/VoidLink/ViewControllers/StreamFrameViewController.m
@@ -298,7 +298,7 @@
_slideToToolboxRecognizer.normalizedThresholdDistance = _settings.slideToSettingsDistance.floatValue;
_slideToToolboxRecognizer.delaysTouchesBegan = NO;
_slideToToolboxRecognizer.delaysTouchesEnded = NO;
- // [self.view addGestureRecognizer:_slideToToolboxRecognizer];
+ [self.view addGestureRecognizer:_slideToToolboxRecognizer];
if([self isOscLayoutToolEnabled]){
_oscLayoutTapRecoginizer = [[CustomTapGestureRecognizer alloc] initWithTarget:self action:@selector(handleWidgetLayoutGesture)];