summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--osdep/macosx_application.m7
-rw-r--r--osdep/macosx_events.m22
2 files changed, 7 insertions, 22 deletions
diff --git a/osdep/macosx_application.m b/osdep/macosx_application.m
index 6c7748080c..047dfeab65 100644
--- a/osdep/macosx_application.m
+++ b/osdep/macosx_application.m
@@ -86,7 +86,12 @@ Application *mpv_shared_app(void)
[NSEvent addLocalMonitorForEventsMatchingMask:NSKeyDownMask|NSKeyUpMask
handler:^(NSEvent *event) {
- return [self.eventsResponder handleKey:event];
+ BOOL equivalent = [[NSApp mainMenu] performKeyEquivalent:event];
+ if (equivalent) {
+ return (NSEvent *)nil;
+ } else {
+ return [self.eventsResponder handleKey:event];
+ }
}];
NSAppleEventManager *em = [NSAppleEventManager sharedAppleEventManager];
diff --git a/osdep/macosx_events.m b/osdep/macosx_events.m
index 56f1bd5397..6a21e96bef 100644
--- a/osdep/macosx_events.m
+++ b/osdep/macosx_events.m
@@ -233,21 +233,6 @@ void cocoa_put_key_with_modifiers(int keycode, int modifiers)
});
}
-- (NSArray *) keyEquivalents
-{
- return @[@"h", @"q", @"Q", @"0", @"1", @"2"];
-}
-
-- (BOOL)isAppKeyEquivalent:(NSString *)eq withEvent:(NSEvent *)event
-{
- if ([event modifierFlags] & NSCommandKeyMask)
- for(NSString *c in [self keyEquivalents])
- if ([eq isEqualToString:c])
- return YES;
-
- return NO;
-}
-
- (BOOL)handleMediaKey:(NSEvent *)event
{
NSDictionary *keymapd = @{
@@ -349,13 +334,8 @@ void cocoa_put_key_with_modifiers(int keycode, int modifiers)
int key = convert_key([event keyCode], *[chars UTF8String]);
- if (key > -1) {
- if ([self isAppKeyEquivalent:chars withEvent:event])
- // propagate the event in case this is a menu key equivalent
- return event;
-
+ if (key > -1)
[self handleMPKey:key withMask:[self keyModifierMask:event]];
- }
return nil;
}