On Dec 30, 2013, at 6:05 PM, Ken Thomases <k...@codeweavers.com> wrote:
> Hi, > > On Dec 30, 2013, at 4:34 PM, Alex Hall wrote: > >> Anyway, the problem remains that I need to capture keystrokes (and >> eventually mouse movements) in a subclass of NSView, but nothing seems to >> happen. > > In order for a view to receive key events, it must be the first responder. > Typically, you need to override -acceptsFirstResponder to return YES to allow > a view to become the first responder. (There are other approaches, but > that's the normal one.) I have done so. In AITAudioMenu (my subclass of NSView) I now have this method: -(bool) acceptsFirstResponder{ return YES; } I assume, and the docs seem to indicate, that I never explicitly call this? It seems like something Cocoa does on its own, really a property setter more than anything. > > After that, you either want to set the window's initialFirstResponder to be > that view before the window is shown or you want to call -[NSWindow > makeFirstResponder:] to set the first responder at a later time. I've done the latter, since the mainWindow will remain as I switch out views and set different ones to handle the keyboard and mouse at different times. ViewController now has a method that takes the view and window and sets the view as the first responder. However, I still am getting no logs of keypresses. Is it possible that my use of mainWindow or some other variable or method name/signature is causing a conflict? > > Cheers, > Ken > Have a great day, Alex (msg sent from Mac Mini) mehg...@gmail.com _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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 arch...@mail-archive.com