aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2018-10-14 18:42:14 +0200
committerTeddy Wing2018-10-14 18:42:14 +0200
commit42b2635f783019610f81dd778547ee938992a916 (patch)
treed8f715eff4ca3a2473412e5a0f1434d1b99121fe
parent0c7cfa6f86ed576876ec71c032d02fed4820c542 (diff)
downloaddome_key_event_source_simulator-42b2635f783019610f81dd778547ee938992a916.tar.bz2
Use OS-independent `NSSystemDefined` & `NSScreenChangedEventType`
Those variants are deprecated starting in Mac OS 10.12. Use the new ones for 10.12+ and the old ones otherwise.
-rw-r--r--dome_key_event_source_simulator/dome_key_event_source_simulator.m12
1 files changed, 10 insertions, 2 deletions
diff --git a/dome_key_event_source_simulator/dome_key_event_source_simulator.m b/dome_key_event_source_simulator/dome_key_event_source_simulator.m
index c7e9dcb..1bb38c7 100644
--- a/dome_key_event_source_simulator/dome_key_event_source_simulator.m
+++ b/dome_key_event_source_simulator/dome_key_event_source_simulator.m
@@ -8,6 +8,14 @@
#import "dome_key_event_source_simulator.h"
+#ifdef AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER
+ #define NSEVENT_TYPE_SYSTEM_DEFINED NSEventTypeSystemDefined
+ #define NSEVENT_SUBTYPE_SCREEN_CHANGED NSEventSubtypeScreenChanged
+#else
+ #define NSEVENT_TYPE_SYSTEM_DEFINED NSSystemDefined
+ #define NSEVENT_SUBTYPE_SCREEN_CHANGED NSScreenChangedEventType
+#endif
+
static const size_t key_down_up[][2] = {
{0xa00, 0xa}, // Down
{0xb00, 0xb} // Up
@@ -16,13 +24,13 @@ static const size_t key_down_up[][2] = {
void dkess_press_key(int key, NSEventModifierFlags modifier_flags) {
for (int i = 0; i < 2; i++) {
- NSEvent *event = [NSEvent otherEventWithType:NSSystemDefined
+ NSEvent *event = [NSEvent otherEventWithType:NSEVENT_TYPE_SYSTEM_DEFINED
location:NSZeroPoint
modifierFlags:key_down_up[i][0] | modifier_flags
timestamp:0.0
windowNumber:0
context:nil
- subtype:NSScreenChangedEventType
+ subtype:NSEVENT_SUBTYPE_SCREEN_CHANGED
data1:(key << 16) | (key_down_up[i][1] << 8)
data2:-1];