diff options
| author | Teddy Wing | 2018-10-14 13:45:34 +0200 |
|---|---|---|
| committer | Teddy Wing | 2018-10-14 13:45:34 +0200 |
| commit | 289639a636881d79b76d260b775b7a6cf0b51f7b (patch) | |
| tree | 9f9af86ad4b5cf77ef0ac83798749d6d4e4296f8 | |
| parent | d5f7ca0e39fb965f392a0dfebd0bb7044b9dc5a6 (diff) | |
| download | dome_key_event_source_simulator-289639a636881d79b76d260b775b7a6cf0b51f7b.tar.bz2 | |
Remove repetition in key down and key up events
| -rw-r--r-- | dome_key_event_source_simulator/dome_key_event_source_simulator.m | 49 |
1 files changed, 24 insertions, 25 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 c1fa3cc..4ce1244 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 @@ -12,30 +12,29 @@ @end +const int key_down[] = {0xa00, 0xa}; +const int key_up[] = {0xb00, 0xb}; + +// #define KEY_DOWN {0xa00, 0xa} +// #define KEY_UP {0xb00, 0xb} + + void dkess_press_key(int key, NSEventModifierFlags modifier_flags) { - NSEvent *event1 = [NSEvent otherEventWithType:NSSystemDefined - location:NSZeroPoint - modifierFlags:0xa00 - timestamp:0.0 - windowNumber:0 - context:nil - subtype:NSScreenChangedEventType - data1:(NX_KEYTYPE_PLAY << 16) | (0xa << 8) - data2:-1]; - CGEventRef cg_event1 = [event1 CGEvent]; - CGEventPost(kCGHIDEventTap, cg_event1); - CFRelease(cg_event1); - - NSEvent *event2 = [NSEvent otherEventWithType:NSSystemDefined - location:NSZeroPoint - modifierFlags:0xb00 - timestamp:0.0 - windowNumber:0 - context:nil - subtype:NSScreenChangedEventType - data1:(NX_KEYTYPE_PLAY << 16) | (0xb << 8) - data2:-1]; - CGEventRef cg_event2 = [event2 CGEvent]; - CGEventPost(kCGHIDEventTap, cg_event2); - CFRelease(cg_event2); + const int flags[2][2] = {key_down, key_up}; + + for (int i = 0; i < 2; i++) { + NSEvent *event = [NSEvent otherEventWithType:NSSystemDefined + location:NSZeroPoint + modifierFlags:flags[i][0] + timestamp:0.0 + windowNumber:0 + context:nil + subtype:NSScreenChangedEventType + data1:(NX_KEYTYPE_PLAY << 16) | (flags[i][1] << 8) + data2:-1]; + + CGEventRef cg_event = [event CGEvent]; + CGEventPost(kCGHIDEventTap, cg_event); + CFRelease(cg_event); + } } |
