mirror of
https://github.com/mpv-player/mpv
synced 2024-12-26 09:02:38 +00:00
063ca8f0fe
for a reason i can just assume some key events can vanish from the event chain and mpv seems unresponsive. after quite some testing i could confirm that the events are present at the first entry point of the event chain, the sendEvent method of the Application, and that they vanish at a point afterwards. now we use that entry point to grab keyDown and keyUp events. we also stop propagating those key events to prevent the no key input' error sound. if we ever need the key events somewhere down the event chain we need to start propagating them again. though this is not necessary currently.
53 lines
2.1 KiB
Objective-C
53 lines
2.1 KiB
Objective-C
/*
|
|
* 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 General Public License as published by
|
|
* the Free Software Foundation; either version 2 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 General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with mpv. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
|
|
#ifndef MPV_MACOSX_COMPAT
|
|
#define MPV_MACOSX_COMPAT
|
|
|
|
#import <Cocoa/Cocoa.h>
|
|
#include "osdep/macosx_versions.h"
|
|
|
|
#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12)
|
|
typedef NSUInteger NSWindowStyleMask;
|
|
static const NSWindowStyleMask NSWindowStyleMaskClosable = NSClosableWindowMask;
|
|
static const NSWindowStyleMask NSWindowStyleMaskTitled = NSTitledWindowMask;
|
|
static const NSWindowStyleMask NSWindowStyleMaskMiniaturizable = NSMiniaturizableWindowMask;
|
|
static const NSWindowStyleMask NSWindowStyleMaskResizable = NSResizableWindowMask;
|
|
static const NSWindowStyleMask NSWindowStyleMaskBorderless = NSBorderlessWindowMask;
|
|
static const NSWindowStyleMask NSWindowStyleMaskFullScreen = NSFullScreenWindowMask;
|
|
|
|
static const NSEventType NSEventTypeSystemDefined = NSSystemDefined;
|
|
static const NSEventType NSEventTypeKeyDown = NSKeyDown;
|
|
static const NSEventType NSEventTypeKeyUp = NSKeyUp;
|
|
|
|
static const NSEventMask NSEventMaskLeftMouseUp = NSLeftMouseUpMask;
|
|
|
|
#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10)
|
|
typedef NSUInteger NSEventModifierFlags;
|
|
#endif
|
|
|
|
static const NSEventModifierFlags NSEventModifierFlagShift = NSShiftKeyMask;
|
|
static const NSEventModifierFlags NSEventModifierFlagControl = NSControlKeyMask;
|
|
static const NSEventModifierFlags NSEventModifierFlagCommand = NSCommandKeyMask;
|
|
static const NSEventModifierFlags NSEventModifierFlagOption = NSAlternateKeyMask;
|
|
#endif
|
|
|
|
#endif /* MPV_MACOSX_COMPAT */
|