5 // Created by Sam McCall on 5/05/09.
8 #import "NJOutputKeyPress.h"
10 #import "NJKeyInputField.h"
12 @implementation NJOutputKeyPress
14 + (NSString *)serializationCode {
18 - (NSDictionary *)serialize {
19 return _keyCode != NJKeyInputFieldEmpty
20 ? @{ @"type": self.class.serializationCode, @"key": @(_keyCode) }
24 + (NJOutput *)outputDeserialize:(NSDictionary *)serialization {
25 NJOutputKeyPress *output = [[NJOutputKeyPress alloc] init];
26 output.keyCode = [serialization[@"key"] intValue];
31 if (_keyCode != NJKeyInputFieldEmpty) {
32 CGEventRef keyDown = CGEventCreateKeyboardEvent(NULL, _keyCode, YES);
33 CGEventPost(kCGHIDEventTap, keyDown);
39 if (_keyCode != NJKeyInputFieldEmpty) {
40 CGEventRef keyUp = CGEventCreateKeyboardEvent(NULL, _keyCode, NO);
41 CGEventPost(kCGHIDEventTap, keyUp);