X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Classes%2FNJOutputKeyPress.m;h=1cc7e654a572bdeaa161e1ff26b9ace2ff43ef60;hp=622cf41083d21d58195099567e0e5d81c777459d;hb=7438479aa735a56f22645c226d5f1db6ba8ef0a2;hpb=6dddafbcf505939751ddb2d66ffb586d150aaaa8 diff --git a/Classes/NJOutputKeyPress.m b/Classes/NJOutputKeyPress.m index 622cf41..1cc7e65 100644 --- a/Classes/NJOutputKeyPress.m +++ b/Classes/NJOutputKeyPress.m @@ -16,28 +16,32 @@ } - (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 { 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