Forked Enjoy, mouse movement
[enjoyable.git] / TargetKeyboard.m
1 //
2 // TargetKeyboard.m
3 // Enjoy
4 //
5 // Created by Sam McCall on 5/05/09.
6 //
7
8 @implementation TargetKeyboard
9
10 @synthesize vk, descr;
11
12 -(NSString*) stringify {
13 return [[NSString alloc] initWithFormat: @"key~%d~%@", vk, descr];
14 }
15
16 +(TargetKeyboard*) unstringifyImpl: (NSArray*) comps {
17 NSParameterAssert([comps count] == 3);
18 TargetKeyboard* target = [[TargetKeyboard alloc] init];
19 [target setVk: [[comps objectAtIndex:1] integerValue]];
20 [target setDescr: [comps objectAtIndex:2]];
21 return target;
22 }
23
24 -(void) trigger {
25 CGEventRef keyDown = CGEventCreateKeyboardEvent(NULL, vk, true);
26 CGEventPost(kCGHIDEventTap, keyDown);
27 CFRelease(keyDown);
28 }
29
30 -(void) untrigger {
31 CGEventRef keyUp = CGEventCreateKeyboardEvent(NULL, vk, false);
32 CGEventPost(kCGHIDEventTap, keyUp);
33 CFRelease(keyUp);
34 }
35
36 @end