Forked Enjoy, mouse movement
[enjoyable.git] / TargetMouseMove.m
diff --git a/TargetMouseMove.m b/TargetMouseMove.m
new file mode 100644 (file)
index 0000000..dd726e5
--- /dev/null
@@ -0,0 +1,46 @@
+//
+//  TargetMouseMove.m
+//  Enjoy
+//
+//  Created by Yifeng Huang on 7/26/12.
+//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#import "TargetMouseMove.h"
+
+@implementation TargetMouseMove
+
+-(void) setInputValue: (int) newIV {
+    NSPoint mouseLoc = [NSEvent mouseLocation];
+    if (dir == 0)
+        mouseLoc.x += newIV;
+    else
+        mouseLoc.y += newIV;
+    
+    CGEventRef move = CGEventCreateMouseEvent(NULL, kCGEventMouseMoved, CGPointMake(mouseLoc.x, mouseLoc.y), kCGMouseButtonLeft);
+    CGEventPost(kCGHIDEventTap, move);
+    CFRelease(move);
+}
+
+@synthesize dir;
+
+-(NSString*) stringify {
+       return [[NSString alloc] initWithFormat: @"mmove~%d", dir];
+}
+
++(TargetMouseMove*) unstringifyImpl: (NSArray*) comps {
+       NSParameterAssert([comps count] == 2);
+       TargetMouseMove* target = [[TargetMouseMove alloc] init];
+       [target setDir: [[comps objectAtIndex:1] integerValue]];
+       return target;
+}
+
+-(void) trigger {
+    return;
+}
+
+-(void) untrigger {
+    return;
+}
+
+@end