aboutsummaryrefslogtreecommitdiffstats
path: root/Framework/MASKeyMasks.h
blob: 6f874c9f67d913ed2cc8435efce117b811fb2359 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#import <Availability.h>

// https://github.com/shpakovski/MASShortcut/issues/99
//
// Long story short: NSControlKeyMask and friends were replaced with NSEventModifierFlagControl
// and similar in macOS Sierra. The project builds fine & clean, but including MASShortcut in
// a project with deployment target set to 10.12 results in several deprecation warnings because
// of the control masks. Simply replacing the old symbols with the new ones isn’t an option,
// since it breaks the build on older SDKs – in Travis, for example.
//
// It should be safe to remove this whole thing once the 10.12 SDK is ubiquitous.

#if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_12
#define NSEventModifierFlagCommand  NSCommandKeyMask
#define NSEventModifierFlagControl  NSControlKeyMask
#define NSEventModifierFlagOption   NSAlternateKeyMask
#define NSEventModifierFlagShift    NSShiftKeyMask
#endif