On Oct 22, 2012, at 9:09 AM, Kyle Sluder wrote:

> On Oct 21, 2012, at 11:05 PM, Daiwei Li <[email protected]> wrote:
> 
>> 
>> You might try a Quartz event tap at kCGSessionEventTap.  I suspect that
>>> -addGlobalMonitorForEventsMatchingMask:... is equivalent to
>>> kCGAnnotatedSessionEventTap, and maybe that's the wrong place for Mission
>>> Control.  (Although I would hope that its events would be routed in the
>>> usual manner. *shrug*)
>> 
>> 
>> I haven't tried this. I suspect it would be the same as the Cocoa API, and
>> in any case, requires my application to be accessibility enabled.
>> 
>>> I'm not sure why you're looking to treat Mission Control differently than
>>> all Mac apps have treated the application switcher for its entire history –
>>> which is to say, ignored it.
>> 
>> 
>> It doesn't pose a problem to most applications because in most
>> applications, there's not much damage you can do by having a mouse button
>> held down indefinitely. The application I'm working on uses a mouse to
>> drive a robot. Having it held down when the user doesn't intend it to is a
>> safety hazard.
> 
> Rather than a global event tap, try installing a local event monitor using 
> +[NSEvent addLocalMonitorForEventsMatchingMask:handler:] and watching out for 
> events of type NSSystemDefined. Local monitors, unlike global ones or global 
> CGEvent taps, do not require assistive access enabled.
> 
> Have your handler abort your mouse-tracking loop if it gets an event that 
> looks like Mission Control. I cant recall specifically what such an event 
> looks like. We had to do this to work around some mouse-tracking bugs with 
> Spaces in 10.7.
> 
> Alternatively, if you're running the mouse tracking loop yourself, you can 
> just check the return value of -[NSApplication nextEventMatchingMask::::]. 
> But I'm kind of partial to the idea of installing the handler once and 
> signalling to all possible mouse tracking loops that could be running that 
> they should abort. 

In Mountain Lion I don't see any interesting events, but when my app is in 
Mission Control none of my windows return YES to isKeyWindow.
_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to