if the tap is explicitly disabled by code or by another program, let it remain disabled! this is different than the automatic "event tap was too slow therefore we stopped processing it" timeout which we want to re-enable after.
diff --git a/src/video/cocoa/SDL_cocoamousetap.m b/src/video/cocoa/SDL_cocoamousetap.m
index 4f116de..0b5b730 100644
--- a/src/video/cocoa/SDL_cocoamousetap.m
+++ b/src/video/cocoa/SDL_cocoamousetap.m
@@ -69,11 +69,11 @@ Cocoa_MouseTapCallback(CGEventTapProxy proxy, CGEventType type, CGEventRef event
switch (type) {
case kCGEventTapDisabledByTimeout:
- case kCGEventTapDisabledByUserInput:
{
CGEventTapEnable(tapdata->tap, true);
return NULL;
}
+ case kCGEventTapDisabledByUserInput:
default:
break;
}