X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=TargetKeyboard.m;h=a3a0b51f764dfdc45bbf0caf91e5a4349e2cfb3a;hp=e7bd8e761694dc0459f17ea10c472d37464beb3a;hb=03b4a589de71a49ad00450701630673631e88647;hpb=c6fb77859e508aaef686b7a5a6a12abe29178708 diff --git a/TargetKeyboard.m b/TargetKeyboard.m index e7bd8e7..a3a0b51 100644 --- a/TargetKeyboard.m +++ b/TargetKeyboard.m @@ -7,32 +7,35 @@ #import "TargetKeyboard.h" +#import "KeyInputTextView.h" + @implementation TargetKeyboard -@synthesize vk, descr; ++ (NSString *)serializationCode { + return @"key"; +} --(NSString*) stringify { - return [[NSString alloc] initWithFormat: @"key~%d~%@", vk, descr]; +- (NSDictionary *)serialize { + return @{ @"type": @"key", @"key": @(_vk) }; } -+(TargetKeyboard*) unstringifyImpl: (NSArray*) comps { - NSParameterAssert([comps count] == 3); - TargetKeyboard* target = [[TargetKeyboard alloc] init]; - [target setVk: [comps[1] integerValue]]; - [target setDescr: comps[2]]; - return target; ++ (Target *)targetDeserialize:(NSDictionary *)serialization + withConfigs:(NSArray *)configs { + TargetKeyboard *target = [[TargetKeyboard alloc] init]; + target.vk = [serialization[@"key"] intValue]; + return target; } --(void) trigger { - CGEventRef keyDown = CGEventCreateKeyboardEvent(NULL, vk, true); - CGEventPost(kCGHIDEventTap, keyDown); - CFRelease(keyDown); +- (void)trigger { + CGEventRef keyDown = CGEventCreateKeyboardEvent(NULL, _vk, YES); + CGEventPost(kCGHIDEventTap, keyDown); + CFRelease(keyDown); } --(void) untrigger { - CGEventRef keyUp = CGEventCreateKeyboardEvent(NULL, vk, false); - CGEventPost(kCGHIDEventTap, keyUp); - CFRelease(keyUp); +- (void)untrigger { + CGEventRef keyUp = CGEventCreateKeyboardEvent(NULL, _vk, NO); + CGEventPost(kCGHIDEventTap, keyUp); + CFRelease(keyUp); } @end