// // TargetKeyboard.m // Enjoy // // Created by Sam McCall on 5/05/09. // @implementation TargetKeyboard @synthesize vk, descr; -(NSString*) stringify { return [[NSString alloc] initWithFormat: @"key~%d~%@", vk, descr]; } +(TargetKeyboard*) unstringifyImpl: (NSArray*) comps { NSParameterAssert([comps count] == 3); TargetKeyboard* target = [[TargetKeyboard alloc] init]; [target setVk: [comps[1] integerValue]]; [target setDescr: comps[2]]; return target; } -(void) trigger { CGEventRef keyDown = CGEventCreateKeyboardEvent(NULL, vk, true); CGEventPost(kCGHIDEventTap, keyDown); CFRelease(keyDown); } -(void) untrigger { CGEventRef keyUp = CGEventCreateKeyboardEvent(NULL, vk, false); CGEventPost(kCGHIDEventTap, keyUp); CFRelease(keyUp); } @end