diff --git a/delegateuitask_darwin.m b/delegateuitask_darwin.m index 023cb49..09dcbfd 100644 --- a/delegateuitask_darwin.m +++ b/delegateuitask_darwin.m @@ -35,6 +35,7 @@ #import #import #import +#import extern NSRect dummyRect; @@ -74,6 +75,13 @@ extern NSRect dummyRect; { } +// see below +// TODO is this the correct signature? +- (void)helpbreaker:(NSNotification *)n +{ + [NSHelpManager setContextHelpModeActive:NO]; +} + @end id makeAppDelegate(void) @@ -94,6 +102,14 @@ BOOL initCocoa(id appDelegate) return NO; [NSApp activateIgnoringOtherApps:YES]; // TODO actually do C.NO here? Russ Cox does YES in his devdraw; the docs say the Finder does NO [NSApp setDelegate:appDelegate]; + // by default, Mac OS X intercepts Help key keyDown events + // we treat Help as Insert, so we don't want this behavior + // this will override it; see http://stackoverflow.com/a/4078542/3408572 + // TODO this doesn't send keyDown: + [[NSNotificationCenter defaultCenter] addObserver:appDelegate + selector:@selector(helpbreaker:) + name:NSContextHelpModeDidActivateNotification + object:nil]; return YES; } diff --git a/todo.md b/todo.md index 72572f5..dd8128f 100644 --- a/todo.md +++ b/todo.md @@ -3,7 +3,6 @@ MAC OS X: - asked: http://stackoverflow.com/questions/23046414/cocoa-how-do-i-get-nscombobox-indexofselecteditem-to-return-1-if-the-user-m - 10.6 also spits a bunch of NSNoAutoreleasePool() debug log messages even though I thoguht I had everything in an NSAutoreleasePool... - OS X: key up with a modifier held and our new modifiers code doesn't seem to happen? -- figure out how to bypass the window manager's Help key handling - point out that Areas get keyboard focus automatically on click on Mac OS X - make sure Areas get keyboard focus when clicking outside the actual Area space on Mac OS X