X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Classes%2FNJOutputKeyPress.m;h=a69d8f3e3ba2fc14528576bea618ed3e35cc31a6;hp=622cf41083d21d58195099567e0e5d81c777459d;hb=281e575060f936fd9483d1cf6416851b3783fe42;hpb=0064c1fbff36795885a9724081af2a17d83c20a3 diff --git a/Classes/NJOutputKeyPress.m b/Classes/NJOutputKeyPress.m index 622cf41..a69d8f3 100644 --- a/Classes/NJOutputKeyPress.m +++ b/Classes/NJOutputKeyPress.m @@ -16,28 +16,31 @@ } - (NSDictionary *)serialize { - return _vk != NJKeyInputFieldEmpty - ? @{ @"type": self.class.serializationCode, @"key": @(_vk) } + return _keyCode != NJKeyInputFieldEmpty + ? @{ @"type": self.class.serializationCode, @"key": @(_keyCode) } : nil; } -+ (NJOutput *)outputDeserialize:(NSDictionary *)serialization - withMappings:(NSArray *)mappings { ++ (NJOutput *)outputWithSerialization:(NSDictionary *)serialization { NJOutputKeyPress *output = [[NJOutputKeyPress alloc] init]; - output.vk = [serialization[@"key"] intValue]; + output.keyCode = [serialization[@"key"] intValue]; return output; } - (void)trigger { - CGEventRef keyDown = CGEventCreateKeyboardEvent(NULL, _vk, YES); - CGEventPost(kCGHIDEventTap, keyDown); - CFRelease(keyDown); + if (_keyCode != NJKeyInputFieldEmpty) { + CGEventRef keyDown = CGEventCreateKeyboardEvent(NULL, _keyCode, YES); + CGEventPost(kCGHIDEventTap, keyDown); + CFRelease(keyDown); + } } - (void)untrigger { - CGEventRef keyUp = CGEventCreateKeyboardEvent(NULL, _vk, NO); - CGEventPost(kCGHIDEventTap, keyUp); - CFRelease(keyUp); + if (_keyCode != NJKeyInputFieldEmpty) { + CGEventRef keyUp = CGEventCreateKeyboardEvent(NULL, _keyCode, NO); + CGEventPost(kCGHIDEventTap, keyUp); + CFRelease(keyUp); + } } @end