- Fix LaunchAgent packaging/docs to avoid
$HOMEinStandardOutPath/StandardErrorPath. - Add
scripts/install-launchagentandscripts/uninstall-launchagent. - Keep recommended defaults at
--block-ms 300 --grace-ms 45 --lock-cursor. - Clarify that optional resilience helpers are separate from the core TypeShield agent.
- Add optional
--lock-cursormode. - Saves cursor position at the beginning of suppression and repeatedly warps the cursor back until the block window expires.
- Intended for systems where the visible cursor still moves even while pointer events are blocked.
- Can be used alone or with
--freeze-cursor.
- Add optional
--freeze-cursormode. - During suppression, cursor association is disabled with
CGAssociateMouseAndMouseCursorPosition(false). - Cursor association is restored automatically after the block window expires and during shutdown.
- Intended for systems where
CGEventTapreturnsnilfor movement events but the visible cursor still moves.
Reliability/correctness fixes:
- Use
.cghidEventTapfor both keyboard and pointer taps. - Capture keypress timestamps immediately and write synchronously.
- Use only
keyDownfor typing suppression timing. - Replace
passRetainedwithpassUnretainedin event tap callbacks. - Update watchdog so it only re-enables taps when they are disabled.
- Added tap re-enable handling and a watchdog for disabled event taps.
- Added optional resilience helpers for auto-restart and wake recovery.