summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorStefano Pigozzi <stefano.pigozzi@gmail.com>2014-10-09 22:11:12 +0200
committerStefano Pigozzi <stefano.pigozzi@gmail.com>2014-10-09 22:14:41 +0200
commit8a25a4af655f429382040aac6625ddd776f5da96 (patch)
tree5c8a6a3b78989e20981884cb1f77396a933a0552 /video
parente99a37f635ae1ddf933ce4a21634946b3fca3330 (diff)
downloadmpv-8a25a4af655f429382040aac6625ddd776f5da96.tar.bz2
mpv-8a25a4af655f429382040aac6625ddd776f5da96.tar.xz
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.
Diffstat (limited to 'video')
-rw-r--r--video/out/cocoa/events_view.m8
-rw-r--r--video/out/cocoa/mpvadapter.h1
-rw-r--r--video/out/cocoa_common.m5
3 files changed, 14 insertions, 0 deletions
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);