changeset 22:ddc7cc16c48c

added 'quasimodeKey:' parameter to QuasimodalEventTap's init selector.
author Atul Varma <avarma@mozilla.com>
date Mon, 12 Apr 2010 00:56:03 -0700
parents cdc615772d43
children 0e91c6d2a547
files QuasimodalEventTap.h QuasimodalEventTap.m TestQuasimodalEventTap.m
diffstat 3 files changed, 9 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/QuasimodalEventTap.h	Mon Apr 12 00:43:20 2010 -0700
+++ b/QuasimodalEventTap.h	Mon Apr 12 00:56:03 2010 -0700
@@ -9,10 +9,12 @@
   CFRunLoopSourceRef rlSrcRef;
   CFMachPortRef portRef;
   CGKeyCode lastQuasimodalKeyCode;
+  CGEventFlags quasimodeKey;
   CGEventFlags lastQuasimodalKeyFlags;
   int numQuasimodalKeyDowns;
   BOOL inQuasimode;
 }
-- (id)initWithName:(NSString *)objectName;
+- (id)initWithName:(NSString *)objectName
+  quasimodeKey:(CGEventFlags)key;
 - (void)finalize;
 @end
--- a/QuasimodalEventTap.m	Mon Apr 12 00:43:20 2010 -0700
+++ b/QuasimodalEventTap.m	Mon Apr 12 00:56:03 2010 -0700
@@ -6,7 +6,6 @@
 
 #import "QuasimodalEventTap.h"
 
-#define QUASIMODE_KEY kCGEventFlagMaskAlternate
 #define MAX_STR_LEN 10
 
 #ifdef DEBUG
@@ -36,7 +35,7 @@
     CGEventFlags flags = CGEventGetFlags(event);
 
     if (inQuasimode) {
-      if (!(flags & QUASIMODE_KEY)) {
+      if (!(flags & quasimodeKey)) {
         NSArray *keys = [NSArray arrayWithObjects: @"type", nil];
         NSArray *values = [NSArray arrayWithObjects: @"quasimodeEnd", nil];
         NSDictionary *dict = [NSDictionary dictionaryWithObjects: values
@@ -76,7 +75,7 @@
         DEBUG_MSG("Exit quasimode\n");
       }
     } else {
-      if (flags & QUASIMODE_KEY) {
+      if (flags & quasimodeKey) {
         NSArray *keys = [NSArray arrayWithObjects: @"type", nil];
         NSArray *values = [NSArray arrayWithObjects: @"quasimodeStart", nil];
         NSDictionary *dict = [NSDictionary dictionaryWithObjects: values
@@ -148,8 +147,9 @@
     return NULL;
 }
 
-- (id)initWithName:(NSString *)objectName {
+- (id)initWithName:(NSString *)objectName quasimodeKey:(CGEventFlags)key {
   if (self = [super init]) {
+    quasimodeKey = key;
     numQuasimodalKeyDowns = 0;
     inQuasimode = NO;
 
--- a/TestQuasimodalEventTap.m	Mon Apr 12 00:43:20 2010 -0700
+++ b/TestQuasimodalEventTap.m	Mon Apr 12 00:56:03 2010 -0700
@@ -21,7 +21,8 @@
   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
 
   QuasimodalEventTap *eventTap = [[QuasimodalEventTap alloc]
-                                   initWithName: @"test"];
+                                   initWithName: @"test"
+                                   quasimodeKey: kCGEventFlagMaskAlternate];
 
   TestObserver *observer = [[TestObserver alloc] init];