X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=TargetKeyboard.m;fp=TargetKeyboard.m;h=7bf9f837d726fafd0f0e22197455f84e67ea0f62;hp=0000000000000000000000000000000000000000;hb=530009447c5bbd360ac5023979cffc6d32a28df3;hpb=5f07baa8cb03a2f6aa06338bfeb31dad3c3ca29f diff --git a/TargetKeyboard.m b/TargetKeyboard.m new file mode 100644 index 0000000..7bf9f83 --- /dev/null +++ b/TargetKeyboard.m @@ -0,0 +1,36 @@ +// +// 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 objectAtIndex:1] integerValue]]; + [target setDescr: [comps objectAtIndex: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