From 14506fad3a25db51d7880886b3151af78e920260 Mon Sep 17 00:00:00 2001 From: Kai Azim <68963405+MrKai77@users.noreply.github.com> Date: Tue, 21 May 2024 21:02:53 -0600 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20#314=20Make=20more=20reliable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Loop/Managers/LoopManager.swift | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Loop/Managers/LoopManager.swift b/Loop/Managers/LoopManager.swift index b3da3fe5..e301155d 100644 --- a/Loop/Managers/LoopManager.swift +++ b/Loop/Managers/LoopManager.swift @@ -8,6 +8,7 @@ import SwiftUI import Defaults +// swiftlint:disable:next type_body_length class LoopManager: ObservableObject { // Size Adjustment static var sidesToAdjust: Edge.Set? @@ -306,10 +307,14 @@ class LoopManager: ObservableObject { let triggerKey = Defaults[.triggerKey] let wasKeyDown = (event.type == .keyDown || currentlyPressedModifiers.count > previousModifiers.count) + let keybindIsValid = ( + Defaults[.triggerKey].contains(event.keyCode) || + Defaults[.keybinds].contains { + $0.keybind.contains(event.keyCode) + } + ) - if wasKeyDown, - triggerKey.isSubset(of: currentlyPressedModifiers) { - + if wasKeyDown, keybindIsValid, triggerKey.isSubset(of: currentlyPressedModifiers) { guard !isLoopActive, currentlyPressedModifiers.count <= triggerKey.count @@ -351,10 +356,6 @@ class LoopManager: ObservableObject { for key in flags where CGKeyCode.keyToImage.contains(where: { $0.key == key }) { if !self.currentlyPressedModifiers.map({ $0.baseModifier }).contains(key) { self.currentlyPressedModifiers.insert(key) - -// if key.isOnRightSide { -// print("\(key) is on right side") -// } } } } @@ -399,8 +400,6 @@ class LoopManager: ObservableObject { self.keybindMonitor.stop() self.mouseMovedEventMonitor!.stop() - self.currentlyPressedModifiers = [] - if self.targetWindow != nil, self.screenToResizeOn != nil, forceClose == false,