Re: cancelOperation: does not work for trapping the escape key
Re: cancelOperation: does not work for trapping the escape key
- Subject: Re: cancelOperation: does not work for trapping the escape key
- From: Kenny Leung <email@hidden>
- Date: Tue, 18 Dec 2007 08:11:45 -0800
Hi Hank.
The problem is that keyDown: is never called when you hit the escape
key. If it was, I would just handle it there.
From the documentation, it sounds like keyDown: is not part of the
sequence:
This method is bound to the Escape and Command-. (period) keys. The
key window first searches the view hierarchy for a view whose key
equivalent is Escape or Command-., whichever was entered. If none of
these views handles the key equivalent, the window sends a default
action message of cancelOperation: to the first responder and from
there the message travels up the responder chain.
If no responder in the responder chain implements cancelOperation:,
the key window searches the view hierarchy for a view whose key
equivalent is Escape (note that this may be redundant if the original
key equivalent was Escape). If no such responder is found, then a
cancel: action message is sent to the first responder in the
responder chain that implements it.
NSResponder declares but does not implement this method.
-Kenny
On Dec 18, 2007, at 7:51 AM, Hank Heijink wrote:
Are you calling interpretKeyEvents: in your keyDown: method? If
not, there's your problem. See 'Overriding the keyDown: Method' in
the Cocoa Event-Handling Guide.
http://developer.apple.com/documentation/Cocoa/Conceptual/
EventOverview/Introduction/
Good luck,
Hank
On Dec 18, 2007, at 10:28 AM, Kenny Leung wrote:
Hi All.
I would like to trap the escape key for my window. I dug through
the mail archives and found references to cancelOpeation:. This is
exactly what I want. So I implemented cancelOperation: in my
windowController, and get nothing. I just get the alert sound when
I hit escape. Just to be sure, I also implemented keyDown: in my
windowController, and those are getting through all right.
Has anyone out there bumped into this? It is so frustrating when
simple things won't work!
Thanks!
-Kenny
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
40runbox.com
This email sent to email@hidden
Hank Heijink
email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden