From 8a25a4af655f429382040aac6625ddd776f5da96 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Thu, 9 Oct 2014 22:11:12 +0200 Subject: cocoa: post keydown and keyup events without event monitor Our code worked under the assumption that the event monitor is always active and we did remove the keydown and keyup overrides from our cocoa view. --- video/out/cocoa/events_view.m | 8 ++++++++ video/out/cocoa/mpvadapter.h | 1 + video/out/cocoa_common.m | 5 +++++ 3 files changed, 14 insertions(+) (limited to 'video') diff --git a/video/out/cocoa/events_view.m b/video/out/cocoa/events_view.m index 744c3f27c7..6de24c470c 100644 --- a/video/out/cocoa/events_view.m +++ b/video/out/cocoa/events_view.m @@ -130,6 +130,14 @@ - (BOOL)becomeFirstResponder { return YES; } - (BOOL)resignFirstResponder { return YES; } +- (void)keyDown:(NSEvent *)event { + [self.adapter putKeyEvent:event]; +} + +- (void)keyUp:(NSEvent *)event { + [self.adapter putKeyEvent:event]; +} + - (BOOL)canHideCursor { return !self.hasMouseDown && [self containsMouseLocation]; diff --git a/video/out/cocoa/mpvadapter.h b/video/out/cocoa/mpvadapter.h index 205b2b1443..1355a5b345 100644 --- a/video/out/cocoa/mpvadapter.h +++ b/video/out/cocoa/mpvadapter.h @@ -23,6 +23,7 @@ - (void)unlock; - (void)setNeedsResize; - (void)signalMouseMovement:(NSPoint)point; +- (void)putKeyEvent:(NSEvent*)event; - (void)putKey:(int)mpkey withModifiers:(int)modifiers; - (void)putAxis:(int)mpkey delta:(float)delta; - (void)putCommand:(char*)cmd; diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m index d704706501..ec0a61055b 100644 --- a/video/out/cocoa_common.m +++ b/video/out/cocoa_common.m @@ -719,6 +719,11 @@ void *vo_cocoa_cgl_pixel_format(struct vo *vo) [self recalcMovableByWindowBackground:point]; } +- (void)putKeyEvent:(NSEvent*)event +{ + cocoa_put_key_event(event); +} + - (void)putKey:(int)mpkey withModifiers:(int)modifiers { cocoa_put_key_with_modifiers(mpkey, modifiers); -- cgit v1.2.3