X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=TargetKeyboard.m;h=a3a0b51f764dfdc45bbf0caf91e5a4349e2cfb3a;hp=7bf9f837d726fafd0f0e22197455f84e67ea0f62;hb=03b4a589de71a49ad00450701630673631e88647;hpb=530009447c5bbd360ac5023979cffc6d32a28df3 diff --git a/TargetKeyboard.m b/TargetKeyboard.m index 7bf9f83..a3a0b51 100644 --- a/TargetKeyboard.m +++ b/TargetKeyboard.m @@ -5,32 +5,37 @@ // Created by Sam McCall on 5/05/09. // +#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 objectAtIndex:1] integerValue]]; - [target setDescr: [comps objectAtIndex: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