diff options
Diffstat (limited to 'osdep/macosx_events.m')
-rw-r--r-- | osdep/macosx_events.m | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/osdep/macosx_events.m b/osdep/macosx_events.m index 47448fd965..6cddd40026 100644 --- a/osdep/macosx_events.m +++ b/osdep/macosx_events.m @@ -55,7 +55,6 @@ - (NSEvent *)handleKey:(NSEvent *)event; - (void)setMpvHandle:(struct mpv_handle *)ctx; - (void)readEvents; -- (void)startEventMonitor; - (void)startAppleRemote; - (void)stopAppleRemote; - (void)startMediaKeys; @@ -123,11 +122,6 @@ static int convert_key(unsigned key, unsigned charcode) return charcode; } -void cocoa_start_event_monitor(void) -{ - [[EventsResponder sharedInstance] startEventMonitor]; -} - void cocoa_init_apple_remote(void) { [[EventsResponder sharedInstance] startAppleRemote]; @@ -347,19 +341,6 @@ void cocoa_set_mpv_handle(struct mpv_handle *ctx) } } -- (void)startEventMonitor -{ - [NSEvent addLocalMonitorForEventsMatchingMask:NSEventMaskKeyDown|NSEventMaskKeyUp - handler:^(NSEvent *event) { - BOOL equivalent = [[NSApp mainMenu] performKeyEquivalent:event]; - if (equivalent) { - return (NSEvent *)nil; - } else { - return [self handleKey:event]; - } - }]; -} - - (void)startAppleRemote { @@ -527,6 +508,17 @@ void cocoa_set_mpv_handle(struct mpv_handle *ctx) return nil; } +- (bool)processKeyEvent:(NSEvent *)event +{ + if ((event.type == NSEventTypeKeyDown || event.type == NSEventTypeKeyUp) && + ![[NSApp mainMenu] performKeyEquivalent:event]) + { + [self handleKey:event]; + return true; + } + return false; +} + - (void)handleFilesArray:(NSArray *)files { enum mp_dnd_action action = [NSEvent modifierFlags] & |