summaryrefslogtreecommitdiffstats
path: root/osdep/macosx_events.m
diff options
context:
space:
mode:
Diffstat (limited to 'osdep/macosx_events.m')
-rw-r--r--osdep/macosx_events.m30
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] &