diff --git a/README.md b/README.md index 3ae9e52..2f81c5f 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,8 @@ Want to monitor disk activity instead of network activity? Check out the sister --silent, -s - Silences command-line output +--trackpad, -t - Adds trackpad haptic feedback + --version, -v - Displays the current version of netcaps --help, -h - Shows the help menu diff --git a/Sources/netcaps/netcaps.swift b/Sources/netcaps/netcaps.swift index 102eb9e..64bf7b9 100644 --- a/Sources/netcaps/netcaps.swift +++ b/Sources/netcaps/netcaps.swift @@ -156,9 +156,22 @@ class CapsLockLEDManager { } } @MainActor let ledManager = CapsLockLEDManager() + +// MARK: - Haptic Feedback +@MainActor +func performHapticFeedback() { + if trackpadHaptic { + NSHapticFeedbackManager.defaultPerformer.perform( + NSHapticFeedbackManager.FeedbackPattern.alignment, + performanceTime: NSHapticFeedbackManager.PerformanceTime.now + ) + } +} + @MainActor func blinkCapsLock(times: Int = 1, interval: TimeInterval = legitInterval) { ledManager?.blink(times: times, interval: interval) + performHapticFeedback() } // MARK: - Network Monitoring @@ -224,6 +237,7 @@ func blinkCapsLock(times: Int = 1, interval: TimeInterval = legitInterval) { // This is really goofy. let args = CommandLine.arguments let silent = args.contains("-s") || args.contains("--silent") +let trackpadHaptic = args.contains("-t") || args.contains("--trackpad") @main struct main { @@ -265,6 +279,7 @@ struct main { print("") print("Arguments:") print(" --silent, -s - silences command-line output") + print(" --trackpad, -t - adds trackpad haptic feedback") print(" --local-only, -L - only listen on loX") print(" --en-only, -E - only listen on enX") print(" --peers-only, -P - only listen on awdlX and llwX")