1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-22 14:52:43 +00:00
mpv/osdep/macosx_events_objc.h
Akemi 9cb7f87b86 osx: fix media keys input when other Apps steal the priority
other Apps do the same as mpv and tap into the global event chain.
events that are handled are not being propagated down the event chain.
that can lead to mpv not getting any media key events anymore when they
are held back by other Apps. we will just move mpv back to the top of
the event list when mpv is refocused and is not at the top of the list
any more.

Fixes #4834
2017-09-07 20:42:26 +02:00

50 lines
1.3 KiB
Objective-C

/*
* Cocoa Application Event Handling
*
* This file is part of mpv.
*
* mpv is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* mpv is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with mpv. If not, see <http://www.gnu.org/licenses/>.
*/
#import <Cocoa/Cocoa.h>
#import "ar/HIDRemote.h"
#include "osdep/macosx_events.h"
struct input_ctx;
@interface EventsResponder : NSObject <HIDRemoteDelegate>
+ (EventsResponder *)sharedInstance;
- (void)setInputContext:(struct input_ctx *)ctx;
- (void)setIsApplication:(BOOL)isApplication;
/// Blocks until inputContext is present.
- (void)waitForInputContext;
- (void)wakeup;
- (bool)queueCommand:(char *)cmd;
- (void)putKey:(int)keycode;
- (void)setHighestPriotityMediaKeysTap;
- (void)handleFilesArray:(NSArray *)files;
- (bool)processKeyEvent:(NSEvent *)event;
@end