Skip to content

Commit

Permalink
#33 Prevent false-alarms when double-clicking trigger key
Browse files Browse the repository at this point in the history
  • Loading branch information
MrKai77 committed Sep 16, 2023
1 parent ed40079 commit 023c8d2
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions Loop/Managers/LoopManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,24 @@ class LoopManager {
private var frontmostWindow: Window?
private var screenWithMouse: NSScreen?

private var eventMonitor: NSEventMonitor?
private var flagsChangedEventMonitor: NSEventMonitor?
private var keyDownEventMonitor: NSEventMonitor?
private var triggerDelayTimer: DispatchSourceTimer?
private var lastTriggerKeyClick: Date = Date.now

func startObservingKeys() {
self.eventMonitor = NSEventMonitor(scope: .global, eventMask: .flagsChanged) { event in
self.flagsChangedEventMonitor = NSEventMonitor(scope: .global, eventMask: .flagsChanged) { event in
self.handleLoopKeypress(event)
}
self.eventMonitor!.start()
self.flagsChangedEventMonitor!.start()

self.keyDownEventMonitor = NSEventMonitor(scope: .global, eventMask: .keyDown) { _ in
if Defaults[.doubleClickToTrigger] &&
abs(self.lastTriggerKeyClick.timeIntervalSinceNow) < NSEvent.doubleClickInterval {
self.lastTriggerKeyClick = Date.distantPast
}
}
self.keyDownEventMonitor!.start()

Notification.Name.directionChanged.onRecieve { notification in
self.currentWindowDirectionChanged(notification)
Expand Down

0 comments on commit 023c8d2

Please sign in to comment.