Binary files ../org/uControl1.3.0/.DS_Store and uControl1.3.0/.DS_Store differ
diff --unified --recursive --new-file ../org/uControl1.3.0/include/uControl.h uControl1.3.0/include/uControl.h
--- ../org/uControl1.3.0/include/uControl.h	Wed Feb 12 07:38:18 2003
+++ uControl1.3.0/include/uControl.h	Wed Mar  5 22:30:07 2003
@@ -44,6 +44,23 @@
 #define CMD_FLAG   0x100000
 #define FN_FLAG    0x800000
 
+// Kernel.framework/Versions/A/Headers/IOKit/hidsystem/ev_keymap.h
+// seems to indicate, there are at most 16 modifier bits
+// (NX_NUMMODIFIERS, NX_MODMASK) of which 8 are currently in use:
+// ALPHALOCK, SHIFT, CONTROL, ALTERNATE, COMMAND, NUMERICPAD,
+// HELP, SECONDARYFN, NUMLOCK
+// looking at IOKit.framework/Versions/A/Headers/hidsystem/IOLLEvent.h,
+// it seems ok to define the following (even though no app will know, what it means)
+// this flag will NOT be handed out to applications - just used internally !
+#define META_FLAG  0x01000000
+
+// since uControl currently only allows for 8bits of modifiers to be passed thru
+// the parameters, i need to abuse another flag (i use HELP here) for passing
+// the 'please use the META_FLAG' info thru the config
+#define HELP_FLAG   0x400000
+#define META_PARAM_FLAG HELP_FLAG
+#define UNPATCH_META(flags) ((flags)==((flags)|META_PARAM_FLAG)?(((flags)&(~META_PARAM_FLAG))|META_FLAG):(flags))
+
 // key codes
 #define SPACE_KEY     49
 #define BACKSPACE_KEY 51
@@ -58,6 +75,9 @@
 // special caps key for TiBook (and probably other models)
 #define SP_CAPS_KEY   127
 
+// context menu key on wintel USB keyboards
+#define WINMEN_KEY    110
+
 // key events
 #define KEY_DOWN 10
 #define KEY_UP   11
@@ -82,7 +102,7 @@
  **/
 
 // number of parameters
-#define PARAM_COUNT     4
+#define PARAM_COUNT     5
 
 // XXX should these be dynamic, OID_AUTO, and just recorded somewhere?
 #define UCONTROL_OID    314
@@ -95,11 +115,15 @@
 #define PARAM4_OID      104
 #define CAPSLOCK_OID    105
 #define ENTER_OID       106
+
 // ABH scroll OID
 #define SCROLLKEY_OID   107
 #define SCROLLSCALE_OID 108
 
 #define KBTYPE_OID      109
+
+// ??? do i need param5_oid ?
+#define PARAM5_OID	110
 
 // parameter op codes (another candidate for enumeration)
 #define SWAP    0x01
Binary files ../org/uControl1.3.0/kext/.DS_Store and uControl1.3.0/kext/.DS_Store differ
diff --unified --recursive --new-file ../org/uControl1.3.0/kext/ODHIDHack.cpp uControl1.3.0/kext/ODHIDHack.cpp
--- ../org/uControl1.3.0/kext/ODHIDHack.cpp	Tue Feb 18 01:09:21 2003
+++ uControl1.3.0/kext/ODHIDHack.cpp	Thu Mar  6 21:30:38 2003
@@ -108,18 +108,17 @@
 
 // swap flagsA and flagsB
 // XXX currently not taking into account the keys, just the flags
+// hh, 2003.03.06: new version handles the 'both pressed' case correctly
 inline void swapKeys(unsigned *flags, 
                      //unsigned *key,
                      keyflagpair src, 
                      keyflagpair dest) {
-    unsigned resultFlags = *flags;
-    if (*flags & src.flag) {
-        resultFlags &= ~src.flag;
-        resultFlags |= dest.flag;
+    unsigned resultFlags = *flags & ~ (UNPATCH_META(src.flag) | UNPATCH_META(dest.flag)) ;
+    if (*flags & UNPATCH_META(src.flag)) {
+        resultFlags |= UNPATCH_META(dest.flag);
     } 
-    if (*flags & dest.flag) {
-        resultFlags &= ~dest.flag;
-        resultFlags |= src.flag;
+    if (*flags & UNPATCH_META(dest.flag)) {
+        resultFlags |= UNPATCH_META(src.flag);
     }
     *flags = resultFlags;
 }
@@ -129,9 +128,9 @@
                         //unsigned *key,
                         keyflagpair src, 
                         keyflagpair dest) {
-    if (*flags & src.flag) {
-        *flags &= ~src.flag;
-        *flags |= dest.flag;
+    if (*flags & UNPATCH_META(src.flag)) {
+        *flags &= UNPATCH_META(~src.flag);
+        *flags |= UNPATCH_META(dest.flag);
 //         if (*key == src.key)
 //             *key = dest.key;
     } 
@@ -504,11 +503,28 @@
         }
     }
 #endif
+    // hh: only modification has been setting/clearing of the META_FLAG?
+    unsigned silentlySwallow = (eventType == KEY_MOD) && ((cachedFlags & META_FLAG) != (flags & META_FLAG)) ;
     cachedFlags = flags;
-    IOHIDSystem::keyboardEvent(eventType, flags, key, charCode, charSet, 
-                               origCharCode, origCharSet, keyboardType, 
-                               repeat, ts);
+        
+    if(flags & META_FLAG && eventType==KEY_DOWN) {
+        // hh: send unmodified esc down/up
 
+         if (config & OD_DEBUG) printf("faking META\n") ;
+         IOHIDSystem::keyboardEvent(KEY_DOWN, 0, 53, 27, 0, 27, 0, keyboardType, 0, ts);
+         IOHIDSystem::keyboardEvent(KEY_UP, 0, 53, 27, 0, 27, 0, keyboardType, 0, ts);
+     }
+    // hh: make sure the META_FLAG is never exported to userland:
+    flags &= ~META_FLAG ;
+
+    // hh: omit events that only signal META down/up (it's masked out anyway)
+    if(silentlySwallow) {
+        if (config & OD_DEBUG) printf("silently swallow the event\n") ;
+    } else {
+      IOHIDSystem::keyboardEvent(eventType, flags, key, charCode, charSet, 
+                                 origCharCode, origCharSet, keyboardType, 
+                                repeat, ts);
+    }
 #ifdef OD_DEBUG
     if (config & OD_DEBUG) 
         printf("THROW hid event type %d flags 0x%x key %d kbdType %d\n", 
diff --unified --recursive --new-file ../org/uControl1.3.0/kext/uControl.c uControl1.3.0/kext/uControl.c
--- ../org/uControl1.3.0/kext/uControl.c	Wed Feb 12 07:38:18 2003
+++ uControl1.3.0/kext/uControl.c	Fri Feb 28 22:42:24 2003
@@ -58,6 +58,8 @@
               &(params[2]), _parameter, "Parameter 3");
 SYSCTL_STRUCT(_ucontrol, PARAM4_OID, param4, CTLFLAG_RW|CTLFLAG_ANYBODY, 
               &(params[3]), _parameter, "Parameter 4");
+SYSCTL_STRUCT(_ucontrol, PARAM5_OID, param5, CTLFLAG_RW|CTLFLAG_ANYBODY,
+              &(params[4]), _parameter, "Parameter 5");
 
 SYSCTL_STRUCT(_ucontrol, CAPSLOCK_OID, capslock,
               CTLFLAG_RW|CTLFLAG_ANYBODY,
@@ -87,6 +89,7 @@
     sysctl_register_oid(&sysctl__ucontrol_param2);
     sysctl_register_oid(&sysctl__ucontrol_param3);
     sysctl_register_oid(&sysctl__ucontrol_param4);
+    sysctl_register_oid(&sysctl__ucontrol_param5);
     sysctl_register_oid(&sysctl__ucontrol_capslock);
     sysctl_register_oid(&sysctl__ucontrol_enter);
     sysctl_register_oid(&sysctl__ucontrol_scrollkey);
@@ -104,6 +107,7 @@
     sysctl_unregister_oid(&sysctl__ucontrol_param2);
     sysctl_unregister_oid(&sysctl__ucontrol_param3);
     sysctl_unregister_oid(&sysctl__ucontrol_param4);
+    sysctl_unregister_oid(&sysctl__ucontrol_param5);
     sysctl_unregister_oid(&sysctl__ucontrol_capslock);
     sysctl_unregister_oid(&sysctl__ucontrol_enter);
     sysctl_unregister_oid(&sysctl__ucontrol_scrollkey);
diff --unified --recursive --new-file ../org/uControl1.3.0/kext/uControl.pbproj/hh.pbxuser uControl1.3.0/kext/uControl.pbproj/hh.pbxuser
--- ../org/uControl1.3.0/kext/uControl.pbproj/hh.pbxuser	Thu Jan  1 01:00:00 1970
+++ uControl1.3.0/kext/uControl.pbproj/hh.pbxuser	Thu Mar  6 21:08:39 2003
@@ -0,0 +1,993 @@
+// !$*UTF8*$!
+{
+	089C1669FE841209C02AAC07 = {
+		activeBuildStyle = 06AA1262FFB20DD611CA28AA;
+		activeTarget = 089C1673FE841209C02AAC07;
+		perUserDictionary = {
+			PBXPerProjectTemplateStateSaveDate = 68592496;
+			"PBXTemplateGeometry-F5314676015831810DCA290F" = {
+				ContentSize = "{685, 434}";
+				LeftSlideOut = {
+					Collapsed = NO;
+					Frame = "{{0, 23}, {685, 411}}";
+					Split0 = {
+						ActiveTab = 2;
+						ActiveTabName = PBXBuildResultsModule;
+						Collapsed = NO;
+						Frame = "{{0, 0}, {685, 411}}";
+						Split0 = {
+							Frame = "{{0, 301}, {685, 110}}";
+						};
+						SplitCount = 1;
+						Tab0 = {
+							Frame = "{{0, 0}, {952, 321}}";
+						};
+						Tab1 = {
+							Debugger = {
+								Collapsed = NO;
+								Frame = "{{0, 0}, {781, 452}}";
+								Split0 = {
+									Frame = "{{0, 24}, {781, 428}}";
+									Split0 = {
+										Frame = "{{0, 0}, {383, 428}}";
+									};
+									Split1 = {
+										DebugVariablesTableConfiguration = (
+											Name,
+											123,
+											Value,
+											85,
+											Summary,
+											155.123,
+										);
+										Frame = "{{392, 0}, {389, 428}}";
+									};
+									SplitCount = 2;
+								};
+								SplitCount = 1;
+								Tab0 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								Tab1 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								TabCount = 2;
+								TabsVisible = YES;
+							};
+							Frame = "{{0, 0}, {781, 452}}";
+							LauncherConfigVersion = 7;
+						};
+						Tab2 = {
+							Frame = "{{0, 0}, {685, 215}}";
+							LauncherConfigVersion = 3;
+							Runner = {
+								Frame = "{{0, 0}, {685, 215}}";
+							};
+						};
+						Tab3 = {
+							BuildMessageFrame = "{{0, 0}, {687, 262}}";
+							BuildTranscriptFrame = "{{0, 271}, {687, 2}}";
+							BuildTranscriptFrameExpanded = YES;
+							Frame = "{{0, 0}, {685, 295}}";
+						};
+						Tab4 = {
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						TabCount = 5;
+						TabsVisible = NO;
+					};
+					SplitCount = 1;
+					Tab0 = {
+						Frame = "{{0, 0}, {300, 533}}";
+						GroupTreeTableConfiguration = (
+							TargetStatusColumn,
+							18,
+							MainColumn,
+							267,
+						);
+					};
+					Tab1 = {
+						ClassesFrame = "{{0, 0}, {280, 398}}";
+						ClassesTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXClassColumnIdentifier,
+							237,
+						);
+						Frame = "{{0, 0}, {278, 659}}";
+						MembersFrame = "{{0, 407}, {280, 252}}";
+						MembersTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXMethodColumnIdentifier,
+							236,
+						);
+					};
+					Tab2 = {
+						Frame = "{{0, 0}, {200, 100}}";
+					};
+					Tab3 = {
+						Frame = "{{0, 0}, {200, 100}}";
+						TargetTableConfiguration = (
+							ActiveObject,
+							16,
+							ObjectNames,
+							202.296,
+						);
+					};
+					Tab4 = {
+						BreakpointsTreeTableConfiguration = (
+							breakpointColumn,
+							197,
+							enabledColumn,
+							31,
+						);
+						Frame = "{{0, 0}, {250, 100}}";
+					};
+					TabCount = 5;
+					TabsVisible = NO;
+				};
+				NavBarShownByDefault = YES;
+				StatusViewVisible = YES;
+				Template = F5314676015831810DCA290F;
+				ToolbarVisible = YES;
+				WindowLocation = "{91, 243}";
+			};
+			PBXWorkspaceContents = (
+				{
+					LeftSlideOut = {
+						Split0 = {
+							Split0 = {
+								NavContent0 = {
+									bookmark = E76626020416A33500A80260;
+									history = (
+										E7F7B068040F865D00128B3F,
+										E7F7B069040F865D00128B3F,
+										E7F7B06A040F865D00128B3F,
+										E7F7B06B040F865D00128B3F,
+										E76625FC0416A33500A80260,
+										E76625FD0416A33500A80260,
+										E76625FE0416A33500A80260,
+									);
+									prevStack = (
+										E7F7B06F040F865D00128B3F,
+										E7F7B070040F865D00128B3F,
+										E7F7B071040F865D00128B3F,
+										E7F7B072040F865D00128B3F,
+										E7F7B073040F865D00128B3F,
+										E7F7B074040F865D00128B3F,
+										E7F7B075040F865D00128B3F,
+										E7F7B076040F865D00128B3F,
+										E7F7B077040F865D00128B3F,
+										E7F7B078040F865D00128B3F,
+										E7F7B079040F865D00128B3F,
+										E7F7B07A040F865D00128B3F,
+										E7F7B07B040F865D00128B3F,
+										E7F7B07C040F865D00128B3F,
+										E7F7B07D040F865D00128B3F,
+										E7F7B07E040F865D00128B3F,
+										E7F7B07F040F865D00128B3F,
+										E7F7B080040F865D00128B3F,
+										E7F7B081040F865D00128B3F,
+										E7F7B082040F865D00128B3F,
+										E7F7B083040F865D00128B3F,
+										E7F7B084040F865D00128B3F,
+										E7F7B09B0410B7F500128B3F,
+										E76625FF0416A33500A80260,
+										E76626000416A33500A80260,
+										E76626010416A33500A80260,
+									);
+								};
+								NavCount = 1;
+								NavGeometry0 = {
+									Frame = "{{0, 0}, {704, 562}}";
+									NavBarVisible = YES;
+								};
+								NavSplitVertical = NO;
+							};
+							SplitCount = 1;
+							Tab1 = {
+								Debugger = {
+									Split0 = {
+										SplitCount = 2;
+									};
+									SplitCount = 1;
+									TabCount = 2;
+								};
+								LauncherConfigVersion = 7;
+							};
+							Tab2 = {
+								LauncherConfigVersion = 3;
+								Runner = {
+								};
+							};
+							TabCount = 5;
+						};
+						SplitCount = 1;
+						Tab1 = {
+							OptionsSetName = "Hierarchy, all classes";
+						};
+						TabCount = 5;
+					};
+				},
+				{
+					LeftSlideOut = {
+						Split0 = {
+							Split0 = {
+								NavContent0 = {
+									bookmark = E76626040416A33600A80260;
+									history = (
+										E76626030416A33600A80260,
+									);
+								};
+								NavCount = 1;
+								NavGeometry0 = {
+									Frame = "{{0, 0}, {685, 150}}";
+									NavBarVisible = YES;
+								};
+								NavSplitVertical = NO;
+							};
+							SplitCount = 1;
+							Tab1 = {
+								Debugger = {
+									Split0 = {
+										SplitCount = 2;
+									};
+									SplitCount = 1;
+									TabCount = 2;
+								};
+								LauncherConfigVersion = 7;
+							};
+							Tab2 = {
+								LauncherConfigVersion = 3;
+								Runner = {
+								};
+							};
+							TabCount = 5;
+						};
+						SplitCount = 1;
+						Tab1 = {
+							OptionsSetName = "Hierarchy, all classes";
+						};
+						TabCount = 5;
+					};
+				},
+			);
+			PBXWorkspaceGeometries = (
+				{
+					ContentSize = "{988, 585}";
+					LeftSlideOut = {
+						ActiveTab = 0;
+						ActiveTabName = PBXGroupTreeModule;
+						Collapsed = NO;
+						Frame = "{{0, 23}, {988, 562}}";
+						Split0 = {
+							Collapsed = NO;
+							Frame = "{{284, 0}, {704, 562}}";
+							Split0 = {
+								Frame = "{{0, 0}, {704, 562}}";
+							};
+							SplitCount = 1;
+							Tab0 = {
+								Frame = "{{0, 0}, {681, 289}}";
+							};
+							Tab1 = {
+								Debugger = {
+									Collapsed = NO;
+									Frame = "{{0, 0}, {681, 150}}";
+									Split0 = {
+										Frame = "{{0, 24}, {681, 126}}";
+										Split0 = {
+											Frame = "{{0, 0}, {333, 126}}";
+										};
+										Split1 = {
+											DebugVariablesTableConfiguration = (
+												Name,
+												123,
+												Value,
+												85,
+												Summary,
+												105.123,
+											);
+											Frame = "{{342, 0}, {339, 126}}";
+										};
+										SplitCount = 2;
+									};
+									SplitCount = 1;
+									Tab0 = {
+										Frame = "{{0, 0}, {100, 50}}";
+									};
+									Tab1 = {
+										Frame = "{{0, 0}, {100, 50}}";
+									};
+									TabCount = 2;
+									TabsVisible = YES;
+								};
+								Frame = "{{0, 0}, {681, 120}}";
+								LauncherConfigVersion = 7;
+							};
+							Tab2 = {
+								Frame = "{{0, 0}, {681, 234}}";
+								LauncherConfigVersion = 3;
+								Runner = {
+									Frame = "{{0, 0}, {681, 234}}";
+								};
+							};
+							Tab3 = {
+								BuildMessageFrame = "{{0, 0}, {683, 205}}";
+								BuildTranscriptFrame = "{{0, 214}, {683, 2}}";
+								BuildTranscriptFrameExpanded = YES;
+								Frame = "{{0, 0}, {681, 238}}";
+							};
+							Tab4 = {
+								Frame = "{{0, 0}, {612, 295}}";
+							};
+							TabCount = 5;
+							TabsVisible = NO;
+						};
+						SplitCount = 1;
+						Tab0 = {
+							Frame = "{{0, 0}, {260, 562}}";
+							GroupTreeTableConfiguration = (
+								TargetStatusColumn,
+								18,
+								MainColumn,
+								227,
+							);
+						};
+						Tab1 = {
+							ClassesFrame = "{{0, 0}, {250, 333}}";
+							ClassesTreeTableConfiguration = (
+								PBXBookColumnIdentifier,
+								20,
+								PBXClassColumnIdentifier,
+								207,
+							);
+							Frame = "{{0, 0}, {248, 554}}";
+							MembersFrame = "{{0, 342}, {250, 212}}";
+							MembersTreeTableConfiguration = (
+								PBXBookColumnIdentifier,
+								20,
+								PBXMethodColumnIdentifier,
+								206,
+							);
+						};
+						Tab2 = {
+							Frame = "{{0, 0}, {217, 554}}";
+						};
+						Tab3 = {
+							Frame = "{{0, 0}, {239, 554}}";
+							TargetTableConfiguration = (
+								ActiveObject,
+								16,
+								ObjectNames,
+								206.296,
+							);
+						};
+						Tab4 = {
+							BreakpointsTreeTableConfiguration = (
+								breakpointColumn,
+								197,
+								enabledColumn,
+								31,
+							);
+							Frame = "{{0, 0}, {250, 554}}";
+						};
+						TabCount = 5;
+						TabsVisible = YES;
+					};
+					NavBarShownByDefault = YES;
+					StatusViewVisible = YES;
+					Template = 64ABBB4501FA494900185B06;
+					ToolbarVisible = YES;
+					WindowLocation = "{5, 99}";
+				},
+				{
+					ContentSize = "{685, 434}";
+					LeftSlideOut = {
+						Collapsed = NO;
+						Frame = "{{0, 23}, {685, 411}}";
+						Split0 = {
+							ActiveTab = 2;
+							ActiveTabName = PBXBuildResultsModule;
+							Collapsed = NO;
+							Frame = "{{0, 0}, {685, 411}}";
+							Split0 = {
+								Frame = "{{0, 301}, {685, 110}}";
+							};
+							SplitCount = 1;
+							Tab0 = {
+								Frame = "{{0, 0}, {952, 321}}";
+							};
+							Tab1 = {
+								Debugger = {
+									Collapsed = NO;
+									Frame = "{{0, 0}, {781, 452}}";
+									Split0 = {
+										Frame = "{{0, 24}, {781, 428}}";
+										Split0 = {
+											Frame = "{{0, 0}, {383, 428}}";
+										};
+										Split1 = {
+											DebugVariablesTableConfiguration = (
+												Name,
+												123,
+												Value,
+												85,
+												Summary,
+												155.123,
+											);
+											Frame = "{{392, 0}, {389, 428}}";
+										};
+										SplitCount = 2;
+									};
+									SplitCount = 1;
+									Tab0 = {
+										Frame = "{{0, 0}, {100, 50}}";
+									};
+									Tab1 = {
+										Frame = "{{0, 0}, {100, 50}}";
+									};
+									TabCount = 2;
+									TabsVisible = YES;
+								};
+								Frame = "{{0, 0}, {781, 452}}";
+								LauncherConfigVersion = 7;
+							};
+							Tab2 = {
+								Frame = "{{0, 0}, {685, 215}}";
+								LauncherConfigVersion = 3;
+								Runner = {
+									Frame = "{{0, 0}, {685, 215}}";
+								};
+							};
+							Tab3 = {
+								BuildMessageFrame = "{{0, 0}, {687, 262}}";
+								BuildTranscriptFrame = "{{0, 271}, {687, 2}}";
+								BuildTranscriptFrameExpanded = YES;
+								Frame = "{{0, 0}, {685, 295}}";
+							};
+							Tab4 = {
+								Frame = "{{0, 0}, {612, 295}}";
+							};
+							TabCount = 5;
+							TabsVisible = NO;
+						};
+						SplitCount = 1;
+						Tab0 = {
+							Frame = "{{0, 0}, {300, 533}}";
+							GroupTreeTableConfiguration = (
+								TargetStatusColumn,
+								18,
+								MainColumn,
+								267,
+							);
+						};
+						Tab1 = {
+							ClassesFrame = "{{0, 0}, {280, 398}}";
+							ClassesTreeTableConfiguration = (
+								PBXBookColumnIdentifier,
+								20,
+								PBXClassColumnIdentifier,
+								237,
+							);
+							Frame = "{{0, 0}, {278, 659}}";
+							MembersFrame = "{{0, 407}, {280, 252}}";
+							MembersTreeTableConfiguration = (
+								PBXBookColumnIdentifier,
+								20,
+								PBXMethodColumnIdentifier,
+								236,
+							);
+						};
+						Tab2 = {
+							Frame = "{{0, 0}, {200, 100}}";
+						};
+						Tab3 = {
+							Frame = "{{0, 0}, {200, 100}}";
+							TargetTableConfiguration = (
+								ActiveObject,
+								16,
+								ObjectNames,
+								202.296,
+							);
+						};
+						Tab4 = {
+							BreakpointsTreeTableConfiguration = (
+								breakpointColumn,
+								197,
+								enabledColumn,
+								31,
+							);
+							Frame = "{{0, 0}, {250, 100}}";
+						};
+						TabCount = 5;
+						TabsVisible = NO;
+					};
+					NavBarShownByDefault = YES;
+					StatusViewVisible = YES;
+					Template = F5314676015831810DCA290F;
+					ToolbarVisible = YES;
+					WindowLocation = "{7, 250}";
+				},
+			);
+			PBXWorkspaceStateSaveDate = 68592496;
+		};
+		perUserProjectItems = {
+			E76625FC0416A33500A80260 = E76625FC0416A33500A80260;
+			E76625FD0416A33500A80260 = E76625FD0416A33500A80260;
+			E76625FE0416A33500A80260 = E76625FE0416A33500A80260;
+			E76625FF0416A33500A80260 = E76625FF0416A33500A80260;
+			E76626000416A33500A80260 = E76626000416A33500A80260;
+			E76626010416A33500A80260 = E76626010416A33500A80260;
+			E76626020416A33500A80260 = E76626020416A33500A80260;
+			E76626030416A33600A80260 = E76626030416A33600A80260;
+			E76626040416A33600A80260 = E76626040416A33600A80260;
+			E7F7B068040F865D00128B3F = E7F7B068040F865D00128B3F;
+			E7F7B069040F865D00128B3F = E7F7B069040F865D00128B3F;
+			E7F7B06A040F865D00128B3F = E7F7B06A040F865D00128B3F;
+			E7F7B06B040F865D00128B3F = E7F7B06B040F865D00128B3F;
+			E7F7B06F040F865D00128B3F = E7F7B06F040F865D00128B3F;
+			E7F7B070040F865D00128B3F = E7F7B070040F865D00128B3F;
+			E7F7B071040F865D00128B3F = E7F7B071040F865D00128B3F;
+			E7F7B072040F865D00128B3F = E7F7B072040F865D00128B3F;
+			E7F7B073040F865D00128B3F = E7F7B073040F865D00128B3F;
+			E7F7B074040F865D00128B3F = E7F7B074040F865D00128B3F;
+			E7F7B075040F865D00128B3F = E7F7B075040F865D00128B3F;
+			E7F7B076040F865D00128B3F = E7F7B076040F865D00128B3F;
+			E7F7B077040F865D00128B3F = E7F7B077040F865D00128B3F;
+			E7F7B078040F865D00128B3F = E7F7B078040F865D00128B3F;
+			E7F7B079040F865D00128B3F = E7F7B079040F865D00128B3F;
+			E7F7B07A040F865D00128B3F = E7F7B07A040F865D00128B3F;
+			E7F7B07B040F865D00128B3F = E7F7B07B040F865D00128B3F;
+			E7F7B07C040F865D00128B3F = E7F7B07C040F865D00128B3F;
+			E7F7B07D040F865D00128B3F = E7F7B07D040F865D00128B3F;
+			E7F7B07E040F865D00128B3F = E7F7B07E040F865D00128B3F;
+			E7F7B07F040F865D00128B3F = E7F7B07F040F865D00128B3F;
+			E7F7B080040F865D00128B3F = E7F7B080040F865D00128B3F;
+			E7F7B081040F865D00128B3F = E7F7B081040F865D00128B3F;
+			E7F7B082040F865D00128B3F = E7F7B082040F865D00128B3F;
+			E7F7B083040F865D00128B3F = E7F7B083040F865D00128B3F;
+			E7F7B084040F865D00128B3F = E7F7B084040F865D00128B3F;
+			E7F7B09B0410B7F500128B3F = E7F7B09B0410B7F500128B3F;
+		};
+		projectwideBuildSettings = {
+		};
+		wantsIndex = 1;
+		wantsSCM = -1;
+	};
+	089C1673FE841209C02AAC07 = {
+		activeExec = 0;
+	};
+	E76625FC0416A33500A80260 = {
+		fRef = E76626050416A33600A80260;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 43";
+		rLen = 0;
+		rLoc = 1574;
+		rType = 0;
+		vrLen = 1692;
+		vrLoc = 883;
+	};
+	E76625FD0416A33500A80260 = {
+		fRef = 1A224C3CFF42312311CA2CB7;
+		isa = PBXTextBookmark;
+		name = "uControl.c: sysctl__ucontrol_config";
+		rLen = 0;
+		rLoc = 1495;
+		rType = 0;
+		vrLen = 1764;
+		vrLoc = 1067;
+	};
+	E76625FE0416A33500A80260 = {
+		fRef = F5A88BB102B03D8D0100007A;
+		isa = PBXTextBookmark;
+		name = "ODHIDHack.cpp: 520";
+		rLen = 0;
+		rLoc = 18797;
+		rType = 0;
+		vrLen = 1288;
+		vrLoc = 10714;
+	};
+	E76625FF0416A33500A80260 = {
+		fRef = F5A88BB102B03D8D0100007A;
+		isa = PBXTextBookmark;
+		name = "ODHIDHack.cpp: 520";
+		rLen = 0;
+		rLoc = 18797;
+		rType = 0;
+		vrLen = 1288;
+		vrLoc = 10714;
+	};
+	E76626000416A33500A80260 = {
+		fRef = E76626060416A33600A80260;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 43";
+		rLen = 0;
+		rLoc = 1574;
+		rType = 0;
+		vrLen = 1692;
+		vrLoc = 883;
+	};
+	E76626010416A33500A80260 = {
+		fRef = 1A224C3CFF42312311CA2CB7;
+		isa = PBXTextBookmark;
+		name = "uControl.c: sysctl__ucontrol_config";
+		rLen = 0;
+		rLoc = 1495;
+		rType = 0;
+		vrLen = 1764;
+		vrLoc = 1067;
+	};
+	E76626020416A33500A80260 = {
+		fRef = F5A88BB102B03D8D0100007A;
+		isa = PBXTextBookmark;
+		name = "ODHIDHack.cpp: convertKeys";
+		rLen = 0;
+		rLoc = 4408;
+		rType = 0;
+		vrLen = 1376;
+		vrLoc = 3476;
+	};
+	E76626030416A33600A80260 = {
+		fRef = F5A88BB102B03D8D0100007A;
+		isa = PBXTextBookmark;
+		rLen = 1;
+		rLoc = 548;
+		rType = 1;
+	};
+	E76626040416A33600A80260 = {
+		fRef = F5A88BB102B03D8D0100007A;
+		isa = PBXTextBookmark;
+		name = "ODHIDHack.cpp: 534";
+		rLen = 0;
+		rLoc = 19016;
+		rType = 0;
+		vrLen = 116;
+		vrLoc = 18092;
+	};
+	E76626050416A33600A80260 = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	E76626060416A33600A80260 = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	E7F7B068040F865D00128B3F = {
+		fRef = E7F7B08C040F865E00128B3F;
+		glyphRangeLength = 0;
+		glyphRangeLocation = 0;
+		isa = PBXDocBookmark;
+	};
+	E7F7B069040F865D00128B3F = {
+		fRef = E7F7B08D040F865E00128B3F;
+		glyphRangeLength = 2;
+		glyphRangeLocation = 4;
+		isa = PBXDocBookmark;
+		name = "Carbon.html: ...";
+	};
+	E7F7B06A040F865D00128B3F = {
+		fRef = E7F7B090040F865E00128B3F;
+		glyphRangeLength = 4;
+		glyphRangeLocation = 0;
+		isa = PBXDocBookmark;
+		name = "displaymanager.html: ...";
+	};
+	E7F7B06B040F865D00128B3F = {
+		fRef = E7F7B091040F865E00128B3F;
+		glyphRangeLength = 0;
+		glyphRangeLocation = 0;
+		isa = PBXDocBookmark;
+	};
+	E7F7B06F040F865D00128B3F = {
+		fRef = 1A224C3CFF42312311CA2CB7;
+		isa = PBXTextBookmark;
+		name = "uControl.c: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1645;
+		vrLoc = 974;
+	};
+	E7F7B070040F865D00128B3F = {
+		fRef = F5A88BB102B03D8D0100007A;
+		isa = PBXTextBookmark;
+		name = "ODHIDHack.cpp: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 852;
+		vrLoc = 0;
+	};
+	E7F7B071040F865D00128B3F = {
+		fRef = E7F7B089040F865E00128B3F;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1239;
+		vrLoc = 590;
+	};
+	E7F7B072040F865D00128B3F = {
+		fRef = F5A88BB102B03D8D0100007A;
+		isa = PBXTextBookmark;
+		name = "ODHIDHack.cpp: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1069;
+		vrLoc = 8712;
+	};
+	E7F7B073040F865D00128B3F = {
+		fRef = E7F7B08A040F865E00128B3F;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1239;
+		vrLoc = 2983;
+	};
+	E7F7B074040F865D00128B3F = {
+		fRef = 1A224C3CFF42312311CA2CB7;
+		isa = PBXTextBookmark;
+		name = "uControl.c: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1512;
+		vrLoc = 2308;
+	};
+	E7F7B075040F865D00128B3F = {
+		fRef = F5A88BB102B03D8D0100007A;
+		isa = PBXTextBookmark;
+		name = "ODHIDHack.cpp: 57";
+		rLen = 0;
+		rLoc = 2086;
+		rType = 0;
+		vrLen = 2231;
+		vrLoc = 836;
+	};
+	E7F7B076040F865D00128B3F = {
+		fRef = E7F7B08B040F865E00128B3F;
+		glyphRangeLength = 0;
+		glyphRangeLocation = 0;
+		isa = PBXDocBookmark;
+	};
+	E7F7B077040F865D00128B3F = {
+		fRef = E7F7B093040F865E00128B3F;
+		glyphRangeLength = 2;
+		glyphRangeLocation = 4;
+		isa = PBXDocBookmark;
+		name = "Carbon.html: ...";
+	};
+	E7F7B078040F865D00128B3F = {
+		fRef = E7F7B094040F865E00128B3F;
+		glyphRangeLength = 4;
+		glyphRangeLocation = 0;
+		isa = PBXDocBookmark;
+		name = "displaymanager.html: ...";
+	};
+	E7F7B079040F865D00128B3F = {
+		fRef = E7F7B08E040F865E00128B3F;
+		glyphRangeLength = 0;
+		glyphRangeLocation = 0;
+		isa = PBXDocBookmark;
+	};
+	E7F7B07A040F865D00128B3F = {
+		fRef = F5A88BB102B03D8D0100007A;
+		isa = PBXTextBookmark;
+		name = "ODHIDHack.cpp: 57";
+		rLen = 0;
+		rLoc = 2086;
+		rType = 0;
+		vrLen = 852;
+		vrLoc = 0;
+	};
+	E7F7B07B040F865D00128B3F = {
+		fRef = E7F7B087040F865E00128B3F;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 78";
+		rLen = 0;
+		rLoc = 2930;
+		rType = 0;
+		vrLen = 1428;
+		vrLoc = 1584;
+	};
+	E7F7B07C040F865D00128B3F = {
+		fRef = F5A88BB102B03D8D0100007A;
+		isa = PBXTextBookmark;
+		name = "ODHIDHack.cpp: 124";
+		rLen = 0;
+		rLoc = 3892;
+		rType = 0;
+		vrLen = 1045;
+		vrLoc = 3803;
+	};
+	E7F7B07D040F865D00128B3F = {
+		fRef = E7F7B088040F865E00128B3F;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 78";
+		rLen = 0;
+		rLoc = 2930;
+		rType = 0;
+		vrLen = 1414;
+		vrLoc = 1584;
+	};
+	E7F7B07E040F865D00128B3F = {
+		fRef = 1A224C3CFF42312311CA2CB7;
+		isa = PBXTextBookmark;
+		name = "uControl.c: __GNUC__";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1512;
+		vrLoc = 2308;
+	};
+	E7F7B07F040F865D00128B3F = {
+		fRef = E7F7B086040F865E00128B3F;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 78";
+		rLen = 0;
+		rLoc = 2930;
+		rType = 0;
+		vrLen = 1442;
+		vrLoc = 1556;
+	};
+	E7F7B080040F865D00128B3F = {
+		fRef = F5A88BB102B03D8D0100007A;
+		isa = PBXTextBookmark;
+		name = "ODHIDHack.cpp: 660";
+		rLen = 0;
+		rLoc = 24330;
+		rType = 0;
+		vrLen = 1264;
+		vrLoc = 22509;
+	};
+	E7F7B081040F865D00128B3F = {
+		fRef = E7F7B08F040F865E00128B3F;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 78";
+		rLen = 0;
+		rLoc = 2930;
+		rType = 0;
+		vrLen = 1524;
+		vrLoc = 745;
+	};
+	E7F7B082040F865D00128B3F = {
+		fRef = F5A88BB102B03D8D0100007A;
+		isa = PBXTextBookmark;
+		name = "ODHIDHack.cpp: 536";
+		rLen = 0;
+		rLoc = 19285;
+		rType = 0;
+		vrLen = 1481;
+		vrLoc = 17540;
+	};
+	E7F7B083040F865D00128B3F = {
+		fRef = 1A224C3CFF42312311CA2CB7;
+		isa = PBXTextBookmark;
+		name = "uControl.c: __GNUC__";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1743;
+		vrLoc = 1018;
+	};
+	E7F7B084040F865D00128B3F = {
+		fRef = E7F7B095040F865E00128B3F;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 78";
+		rLen = 0;
+		rLoc = 2930;
+		rType = 0;
+		vrLen = 1693;
+		vrLoc = 883;
+	};
+	E7F7B086040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	E7F7B087040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	E7F7B088040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	E7F7B089040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	E7F7B08A040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	E7F7B08B040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = i_Finding_Do_JBEACHC.html;
+		path = /Developer/Documentation/DeveloperTools/ProjectBuilder/ProjectBuilder.help/Contents/Resources/English.lproj/Finding/i_Finding_Do_JBEACHC.html;
+		refType = 0;
+	};
+	E7F7B08C040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = i_Finding_Do_JBEACHC.html;
+		path = /Developer/Documentation/DeveloperTools/ProjectBuilder/ProjectBuilder.help/Contents/Resources/English.lproj/Finding/i_Finding_Do_JBEACHC.html;
+		refType = 0;
+	};
+	E7F7B08D040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = Carbon.html;
+		path = /Developer/Documentation/Carbon/Carbon.html;
+		refType = 0;
+	};
+	E7F7B08E040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = index.html;
+		path = /Developer/Documentation/Carbon/graphics/DisplayManager/Display_Manager/index.html;
+		refType = 0;
+	};
+	E7F7B08F040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	E7F7B090040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = displaymanager.html;
+		path = /Developer/Documentation/Carbon/graphics/DisplayManager/displaymanager.html;
+		refType = 0;
+	};
+	E7F7B091040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = index.html;
+		path = /Developer/Documentation/Carbon/graphics/DisplayManager/Display_Manager/index.html;
+		refType = 0;
+	};
+	E7F7B093040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = Carbon.html;
+		path = /Developer/Documentation/Carbon/Carbon.html;
+		refType = 0;
+	};
+	E7F7B094040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = displaymanager.html;
+		path = /Developer/Documentation/Carbon/graphics/DisplayManager/displaymanager.html;
+		refType = 0;
+	};
+	E7F7B095040F865E00128B3F = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	E7F7B09B0410B7F500128B3F = {
+		fRef = 1A224C3CFF42312311CA2CB7;
+		isa = PBXTextBookmark;
+		name = "uControl.c: sysctl__ucontrol_config";
+		rLen = 0;
+		rLoc = 1495;
+		rType = 0;
+		vrLen = 1764;
+		vrLoc = 1067;
+	};
+}
diff --unified --recursive --new-file ../org/uControl1.3.0/pref/English.lproj/uControlPref.nib/info.nib uControl1.3.0/pref/English.lproj/uControlPref.nib/info.nib
--- ../org/uControl1.3.0/pref/English.lproj/uControlPref.nib/info.nib	Mon Feb 17 23:04:28 2003
+++ uControl1.3.0/pref/English.lproj/uControlPref.nib/info.nib	Fri Feb 28 22:23:45 2003
@@ -9,7 +9,6 @@
 	<key>IBOpenObjects</key>
 	<array>
 		<integer>12</integer>
-		<integer>771</integer>
 	</array>
 	<key>IBSystem Version</key>
 	<string>6I32</string>
Binary files ../org/uControl1.3.0/pref/English.lproj/uControlPref.nib/objects.nib and uControl1.3.0/pref/English.lproj/uControlPref.nib/objects.nib differ
diff --unified --recursive --new-file ../org/uControl1.3.0/pref/English.lproj/uControlPref~.nib/classes.nib uControl1.3.0/pref/English.lproj/uControlPref~.nib/classes.nib
--- ../org/uControl1.3.0/pref/English.lproj/uControlPref~.nib/classes.nib	Thu Jan  1 01:00:00 1970
+++ uControl1.3.0/pref/English.lproj/uControlPref~.nib/classes.nib	Fri Feb 28 13:05:10 2003
@@ -0,0 +1,87 @@
+{
+    IBClasses = (
+        {CLASS = DialogPanel; LANGUAGE = ObjC; SUPERCLASS = NSPanel; }, 
+        {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 
+        {
+            CLASS = NSPreferencePane; 
+            LANGUAGE = ObjC; 
+            OUTLETS = {
+                "_firstKeyView" = id; 
+                "_initialKeyView" = id; 
+                "_lastKeyView" = id; 
+                "_window" = id; 
+            }; 
+            SUPERCLASS = NSObject; 
+        }, 
+        {
+            ACTIONS = {cancel = id; checkBoxClicked = id; confirm = id; }; 
+            CLASS = UCLeftHanded; 
+            LANGUAGE = ObjC; 
+            OUTLETS = {
+                "confirm_counter" = NSTextField; 
+                "confirm_window" = NSWindow; 
+                "left_handed_mouse" = NSButton; 
+                pref = uControlPref; 
+            }; 
+            SUPERCLASS = NSObject; 
+        }, 
+        {
+            CLASS = UCPopUpButton; 
+            LANGUAGE = ObjC; 
+            OUTLETS = {settings = id; }; 
+            SUPERCLASS = NSPopUpButton; 
+        }, 
+        {CLASS = UCSetting; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 
+        {
+            ACTIONS = {
+                addSetting = id; 
+                apply = id; 
+                checkForUpdate = id; 
+                configureStartup = id; 
+                deleteSetting = id; 
+                loadExtension = id; 
+                stopModalSheet = id; 
+                swapButton = id; 
+                updateRadioButtons = id; 
+                updateSetting = id; 
+            }; 
+            CLASS = uControlPref; 
+            LANGUAGE = ObjC; 
+            OUTLETS = {
+                "add_setting" = id; 
+                "configure_at_login" = id; 
+                debug = NSButton; 
+                "delete_setting" = id; 
+                "dest_flag" = NSMatrix; 
+                "dest_title" = NSBox; 
+                "kext_loaded" = id; 
+                keyboardSheet = id; 
+                "last_check" = id; 
+                "left_handed_mouse" = NSButton; 
+                "load_at_startup" = NSButton; 
+                "load_extension_button" = id; 
+                "power_delete" = NSButton; 
+                "real_function_keys" = NSButton; 
+                "scroll_active" = NSButton; 
+                "scroll_scale" = NSSlider; 
+                "scroll_yonly" = NSButton; 
+                "scrollkey_command" = NSButton; 
+                "scrollkey_control" = NSButton; 
+                "scrollkey_function" = NSButton; 
+                "scrollkey_option" = NSButton; 
+                "settings_popup" = NSPopUpButton; 
+                "src_flag" = NSMatrix; 
+                "src_title" = NSBox; 
+                "swap_or_convert" = NSButton; 
+                "tab_view" = id; 
+                twerq = NSButton; 
+                "update_date" = id; 
+                "update_progress" = id; 
+                "usb_only" = id; 
+                "version_info" = id; 
+            }; 
+            SUPERCLASS = NSPreferencePane; 
+        }
+    ); 
+    IBVersion = 1; 
+}
\ No newline at end of file
diff --unified --recursive --new-file ../org/uControl1.3.0/pref/English.lproj/uControlPref~.nib/info.nib uControl1.3.0/pref/English.lproj/uControlPref~.nib/info.nib
--- ../org/uControl1.3.0/pref/English.lproj/uControlPref~.nib/info.nib	Thu Jan  1 01:00:00 1970
+++ uControl1.3.0/pref/English.lproj/uControlPref~.nib/info.nib	Fri Feb 28 13:05:10 2003
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IBDocumentLocation</key>
+	<string>42 49 426 291 0 0 1152 746 </string>
+	<key>IBFramework Version</key>
+	<string>291.0</string>
+	<key>IBOpenObjects</key>
+	<array>
+		<integer>12</integer>
+	</array>
+	<key>IBSystem Version</key>
+	<string>6I32</string>
+	<key>IBUserGuides</key>
+	<dict>
+		<key>12</key>
+		<dict>
+			<key>guideLocations</key>
+			<array>
+				<string>Vertical:40.000000</string>
+				<string>Horizontal:201.000000</string>
+			</array>
+			<key>guidesLocked</key>
+			<false/>
+		</dict>
+		<key>747</key>
+		<dict>
+			<key>guideLocations</key>
+			<array>
+				<string>Vertical:112.000000</string>
+			</array>
+			<key>guidesLocked</key>
+			<false/>
+		</dict>
+		<key>771</key>
+		<dict>
+			<key>guideLocations</key>
+			<array>
+				<string>Vertical:140.000000</string>
+			</array>
+			<key>guidesLocked</key>
+			<false/>
+		</dict>
+	</dict>
+</dict>
+</plist>
Binary files ../org/uControl1.3.0/pref/English.lproj/uControlPref~.nib/objects.nib and uControl1.3.0/pref/English.lproj/uControlPref~.nib/objects.nib differ
diff --unified --recursive --new-file ../org/uControl1.3.0/pref/UCSetting.m uControl1.3.0/pref/UCSetting.m
--- ../org/uControl1.3.0/pref/UCSetting.m	Wed Feb 12 07:38:19 2003
+++ uControl1.3.0/pref/UCSetting.m	Fri Feb 28 22:37:20 2003
@@ -194,6 +194,8 @@
         return @"caps lock";
     case ENTER_TAG:
         return @"enter";
+    case META_TAG:
+        return @"meta";
     default:
         return nil;
     }
@@ -210,6 +212,7 @@
         return FN_KEY;
     case ALT_TAG:
         return ALT_KEY;
+    // what should i return for meta? who calls this anyway?
     default:
         return -1;
     }
@@ -226,6 +229,8 @@
         return FN_FLAG;
     case ALT_TAG:
         return ALT_FLAG;
+    case META_TAG:
+        return META_PARAM_FLAG;
     default:
         return -1;
     }
@@ -244,6 +249,8 @@
         return ALT_TAG;
     case CAPS_FLAG:
         return CAPS_TAG;
+    case META_PARAM_FLAG:
+        return META_TAG;
     case 0:
         return ENTER_TAG;       // this won't hold for long
     default:
diff --unified --recursive --new-file ../org/uControl1.3.0/pref/uControl.pbproj/hh.pbxuser uControl1.3.0/pref/uControl.pbproj/hh.pbxuser
--- ../org/uControl1.3.0/pref/uControl.pbproj/hh.pbxuser	Thu Jan  1 01:00:00 1970
+++ uControl1.3.0/pref/uControl.pbproj/hh.pbxuser	Sat Mar  1 10:42:14 2003
@@ -0,0 +1,974 @@
+// !$*UTF8*$!
+{
+	089C1669FE841209C02AAC07 = {
+		activeBuildStyle = 06F27B30FFEEEFEF11CA0E56;
+		activeExecutable = E7F7B097040F867900128B3F;
+		activeTarget = 089C1673FE841209C02AAC07;
+		executables = (
+			E7F7B097040F867900128B3F,
+			E7F7B098040F867900128B3F,
+		);
+		perUserDictionary = {
+			PBXPerProjectTemplateStateSaveDate = 68126329;
+			"PBXTemplateGeometry-F5314676015831810DCA290F" = {
+				ContentSize = "{685, 434}";
+				LeftSlideOut = {
+					Collapsed = NO;
+					Frame = "{{0, 23}, {685, 411}}";
+					Split0 = {
+						ActiveTab = 2;
+						ActiveTabName = PBXBuildResultsModule;
+						Collapsed = NO;
+						Frame = "{{0, 0}, {685, 411}}";
+						Split0 = {
+							Frame = "{{0, 301}, {685, 110}}";
+						};
+						SplitCount = 1;
+						Tab0 = {
+							Frame = "{{0, 0}, {952, 321}}";
+						};
+						Tab1 = {
+							Debugger = {
+								Collapsed = NO;
+								Frame = "{{0, 0}, {781, 452}}";
+								Split0 = {
+									Frame = "{{0, 24}, {781, 428}}";
+									Split0 = {
+										Frame = "{{0, 0}, {383, 428}}";
+									};
+									Split1 = {
+										DebugVariablesTableConfiguration = (
+											Name,
+											123,
+											Value,
+											85,
+											Summary,
+											155.123,
+										);
+										Frame = "{{392, 0}, {389, 428}}";
+									};
+									SplitCount = 2;
+								};
+								SplitCount = 1;
+								Tab0 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								Tab1 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								TabCount = 2;
+								TabsVisible = YES;
+							};
+							Frame = "{{0, 0}, {781, 452}}";
+							LauncherConfigVersion = 7;
+						};
+						Tab2 = {
+							Frame = "{{0, 0}, {685, 215}}";
+							LauncherConfigVersion = 3;
+							Runner = {
+								Frame = "{{0, 0}, {685, 215}}";
+							};
+						};
+						Tab3 = {
+							BuildMessageFrame = "{{0, 0}, {687, 262}}";
+							BuildTranscriptFrame = "{{0, 271}, {687, 2}}";
+							BuildTranscriptFrameExpanded = YES;
+							Frame = "{{0, 0}, {685, 295}}";
+						};
+						Tab4 = {
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						TabCount = 5;
+						TabsVisible = NO;
+					};
+					SplitCount = 1;
+					Tab0 = {
+						Frame = "{{0, 0}, {300, 533}}";
+						GroupTreeTableConfiguration = (
+							TargetStatusColumn,
+							18,
+							MainColumn,
+							267,
+						);
+					};
+					Tab1 = {
+						ClassesFrame = "{{0, 0}, {280, 398}}";
+						ClassesTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXClassColumnIdentifier,
+							237,
+						);
+						Frame = "{{0, 0}, {278, 659}}";
+						MembersFrame = "{{0, 407}, {280, 252}}";
+						MembersTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXMethodColumnIdentifier,
+							236,
+						);
+					};
+					Tab2 = {
+						Frame = "{{0, 0}, {200, 100}}";
+					};
+					Tab3 = {
+						Frame = "{{0, 0}, {200, 100}}";
+						TargetTableConfiguration = (
+							ActiveObject,
+							16,
+							ObjectNames,
+							202.296,
+						);
+					};
+					Tab4 = {
+						BreakpointsTreeTableConfiguration = (
+							breakpointColumn,
+							197,
+							enabledColumn,
+							31,
+						);
+						Frame = "{{0, 0}, {250, 100}}";
+					};
+					TabCount = 5;
+					TabsVisible = NO;
+				};
+				NavBarShownByDefault = YES;
+				StatusViewVisible = YES;
+				Template = F5314676015831810DCA290F;
+				ToolbarVisible = YES;
+				WindowLocation = "{7, 250}";
+			};
+			"PBXTemplateGeometry-F5CA7ECB015C094F0DCA290F" = {
+				ContentSize = "{668, 621}";
+				LeftSlideOut = {
+					Collapsed = NO;
+					Frame = "{{0, 0}, {668, 621}}";
+					Split0 = {
+						Collapsed = NO;
+						Frame = "{{0, 0}, {668, 621}}";
+						Split0 = {
+							Frame = "{{0, 0}, {668, 621}}";
+						};
+						SplitCount = 1;
+						Tab0 = {
+							Frame = "{{0, 0}, {484, 208}}";
+						};
+						Tab1 = {
+							Debugger = {
+								Collapsed = NO;
+								Frame = "{{0, 0}, {664, 208}}";
+								Split0 = {
+									Frame = "{{0, 24}, {664, 184}}";
+									Split0 = {
+										Frame = "{{0, 0}, {325, 184}}";
+									};
+									Split1 = {
+										DebugVariablesTableConfiguration = (
+											Name,
+											123,
+											Value,
+											85,
+											Summary,
+											96.123,
+										);
+										Frame = "{{334, 0}, {330, 184}}";
+									};
+									SplitCount = 2;
+								};
+								SplitCount = 1;
+								Tab0 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								Tab1 = {
+									Frame = "{{0, 0}, {100, 50}}";
+								};
+								TabCount = 2;
+								TabsVisible = YES;
+							};
+							Frame = "{{0, 0}, {664, 208}}";
+							LauncherConfigVersion = 7;
+						};
+						Tab2 = {
+							Frame = "{{0, 0}, {664, 50}}";
+							LauncherConfigVersion = 3;
+							Runner = {
+								Frame = "{{0, 0}, {664, 50}}";
+							};
+						};
+						Tab3 = {
+							BuildMessageFrame = "{{0, 0}, {614, 262}}";
+							BuildTranscriptFrame = "{{0, 271}, {614, 2}}";
+							BuildTranscriptFrameExpanded = YES;
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						Tab4 = {
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						TabCount = 5;
+						TabsVisible = NO;
+					};
+					SplitCount = 1;
+					Tab0 = {
+						Frame = "{{0, 0}, {313, 531}}";
+						GroupTreeTableConfiguration = (
+							TargetStatusColumn,
+							18,
+							MainColumn,
+							280,
+						);
+					};
+					Tab1 = {
+						ClassesFrame = "{{0, 0}, {280, 398}}";
+						ClassesTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXClassColumnIdentifier,
+							237,
+						);
+						Frame = "{{0, 0}, {278, 659}}";
+						MembersFrame = "{{0, 407}, {280, 252}}";
+						MembersTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXMethodColumnIdentifier,
+							236,
+						);
+					};
+					Tab2 = {
+						Frame = "{{0, 0}, {200, 100}}";
+					};
+					Tab3 = {
+						Frame = "{{0, 0}, {200, 557}}";
+						TargetTableConfiguration = (
+							ActiveObject,
+							16,
+							ObjectNames,
+							202.296,
+						);
+					};
+					Tab4 = {
+						BreakpointsTreeTableConfiguration = (
+							breakpointColumn,
+							197,
+							enabledColumn,
+							31,
+						);
+						Frame = "{{0, 0}, {250, 100}}";
+					};
+					TabCount = 5;
+					TabsVisible = NO;
+				};
+				NavBarShownByDefault = YES;
+				StatusViewVisible = NO;
+				Template = F5CA7ECB015C094F0DCA290F;
+				ToolbarVisible = NO;
+				WindowLocation = "{48, 103}";
+			};
+			PBXWorkspaceContents = (
+				{
+					LeftSlideOut = {
+						Split0 = {
+							Split0 = {
+								NavContent0 = {
+									bookmark = E7F7B0C10410B7F600128B3F;
+									history = (
+										E7F7B09D0410B7F600128B3F,
+										E7F7B09E0410B7F600128B3F,
+										E7F7B09F0410B7F600128B3F,
+										E7F7B0A00410B7F600128B3F,
+										E7F7B0A10410B7F600128B3F,
+										E7F7B0A20410B7F600128B3F,
+										E7F7B0A30410B7F600128B3F,
+										E7F7B0A40410B7F600128B3F,
+										E7F7B0A50410B7F600128B3F,
+										E7F7B0A60410B7F600128B3F,
+										E7F7B0A70410B7F600128B3F,
+										E7F7B0A80410B7F600128B3F,
+									);
+									prevStack = (
+										E7F7B0A90410B7F600128B3F,
+										E7F7B0AA0410B7F600128B3F,
+										E7F7B0AB0410B7F600128B3F,
+										E7F7B0AC0410B7F600128B3F,
+										E7F7B0AD0410B7F600128B3F,
+										E7F7B0AE0410B7F600128B3F,
+										E7F7B0AF0410B7F600128B3F,
+										E7F7B0B00410B7F600128B3F,
+										E7F7B0B10410B7F600128B3F,
+										E7F7B0B20410B7F600128B3F,
+										E7F7B0B30410B7F600128B3F,
+										E7F7B0B40410B7F600128B3F,
+										E7F7B0B50410B7F600128B3F,
+										E7F7B0B60410B7F600128B3F,
+										E7F7B0B70410B7F600128B3F,
+										E7F7B0B80410B7F600128B3F,
+										E7F7B0B90410B7F600128B3F,
+										E7F7B0BA0410B7F600128B3F,
+										E7F7B0BB0410B7F600128B3F,
+										E7F7B0BC0410B7F600128B3F,
+										E7F7B0BD0410B7F600128B3F,
+										E7F7B0BE0410B7F600128B3F,
+										E7F7B0BF0410B7F600128B3F,
+										E7F7B0C00410B7F600128B3F,
+									);
+								};
+								NavCount = 1;
+								NavGeometry0 = {
+									Frame = "{{0, 0}, {571, 548}}";
+									NavBarVisible = YES;
+								};
+								NavSplitVertical = NO;
+							};
+							SplitCount = 1;
+							Tab1 = {
+								Debugger = {
+									Split0 = {
+										SplitCount = 2;
+									};
+									SplitCount = 1;
+									TabCount = 2;
+								};
+								LauncherConfigVersion = 7;
+							};
+							Tab2 = {
+								LauncherConfigVersion = 3;
+								Runner = {
+								};
+							};
+							TabCount = 5;
+						};
+						SplitCount = 1;
+						Tab1 = {
+							OptionsSetName = "Hierarchy, all classes";
+						};
+						TabCount = 5;
+					};
+				},
+			);
+			PBXWorkspaceGeometries = (
+				{
+					ContentSize = "{855, 571}";
+					LeftSlideOut = {
+						ActiveTab = 0;
+						ActiveTabName = PBXGroupTreeModule;
+						Collapsed = NO;
+						Frame = "{{0, 23}, {855, 548}}";
+						Split0 = {
+							Collapsed = NO;
+							Frame = "{{284, 0}, {571, 548}}";
+							Split0 = {
+								Frame = "{{0, 0}, {571, 548}}";
+							};
+							SplitCount = 1;
+							Tab0 = {
+								Frame = "{{0, 0}, {681, 289}}";
+							};
+							Tab1 = {
+								Debugger = {
+									Collapsed = NO;
+									Frame = "{{0, 0}, {681, 150}}";
+									Split0 = {
+										Frame = "{{0, 24}, {681, 126}}";
+										Split0 = {
+											Frame = "{{0, 0}, {333, 126}}";
+										};
+										Split1 = {
+											DebugVariablesTableConfiguration = (
+												Name,
+												123,
+												Value,
+												85,
+												Summary,
+												105.123,
+											);
+											Frame = "{{342, 0}, {339, 126}}";
+										};
+										SplitCount = 2;
+									};
+									SplitCount = 1;
+									Tab0 = {
+										Frame = "{{0, 0}, {100, 50}}";
+									};
+									Tab1 = {
+										Frame = "{{0, 0}, {100, 50}}";
+									};
+									TabCount = 2;
+									TabsVisible = YES;
+								};
+								Frame = "{{0, 0}, {681, 120}}";
+								LauncherConfigVersion = 7;
+							};
+							Tab2 = {
+								Frame = "{{0, 0}, {681, 234}}";
+								LauncherConfigVersion = 3;
+								Runner = {
+									Frame = "{{0, 0}, {681, 234}}";
+								};
+							};
+							Tab3 = {
+								BuildMessageFrame = "{{0, 0}, {683, 205}}";
+								BuildTranscriptFrame = "{{0, 214}, {683, 2}}";
+								BuildTranscriptFrameExpanded = YES;
+								Frame = "{{0, 0}, {681, 238}}";
+							};
+							Tab4 = {
+								Frame = "{{0, 0}, {612, 295}}";
+							};
+							TabCount = 5;
+							TabsVisible = NO;
+						};
+						SplitCount = 1;
+						Tab0 = {
+							Frame = "{{0, 0}, {260, 548}}";
+							GroupTreeTableConfiguration = (
+								TargetStatusColumn,
+								18,
+								MainColumn,
+								227,
+							);
+						};
+						Tab1 = {
+							ClassesFrame = "{{0, 0}, {250, 333}}";
+							ClassesTreeTableConfiguration = (
+								PBXBookColumnIdentifier,
+								20,
+								PBXClassColumnIdentifier,
+								207,
+							);
+							Frame = "{{0, 0}, {248, 554}}";
+							MembersFrame = "{{0, 342}, {250, 212}}";
+							MembersTreeTableConfiguration = (
+								PBXBookColumnIdentifier,
+								20,
+								PBXMethodColumnIdentifier,
+								206,
+							);
+						};
+						Tab2 = {
+							Frame = "{{0, 0}, {217, 554}}";
+						};
+						Tab3 = {
+							Frame = "{{0, 0}, {239, 554}}";
+							TargetTableConfiguration = (
+								ActiveObject,
+								16,
+								ObjectNames,
+								206.296,
+							);
+						};
+						Tab4 = {
+							BreakpointsTreeTableConfiguration = (
+								breakpointColumn,
+								197,
+								enabledColumn,
+								31,
+							);
+							Frame = "{{0, 0}, {250, 554}}";
+						};
+						TabCount = 5;
+						TabsVisible = YES;
+					};
+					NavBarShownByDefault = YES;
+					StatusViewVisible = YES;
+					Template = 64ABBB4501FA494900185B06;
+					ToolbarVisible = YES;
+					WindowLocation = "{5, 113}";
+				},
+			);
+			PBXWorkspaceStateSaveDate = 68126329;
+		};
+		perUserProjectItems = {
+			E7F7B09D0410B7F600128B3F = E7F7B09D0410B7F600128B3F;
+			E7F7B09E0410B7F600128B3F = E7F7B09E0410B7F600128B3F;
+			E7F7B09F0410B7F600128B3F = E7F7B09F0410B7F600128B3F;
+			E7F7B0A00410B7F600128B3F = E7F7B0A00410B7F600128B3F;
+			E7F7B0A10410B7F600128B3F = E7F7B0A10410B7F600128B3F;
+			E7F7B0A20410B7F600128B3F = E7F7B0A20410B7F600128B3F;
+			E7F7B0A30410B7F600128B3F = E7F7B0A30410B7F600128B3F;
+			E7F7B0A40410B7F600128B3F = E7F7B0A40410B7F600128B3F;
+			E7F7B0A50410B7F600128B3F = E7F7B0A50410B7F600128B3F;
+			E7F7B0A60410B7F600128B3F = E7F7B0A60410B7F600128B3F;
+			E7F7B0A70410B7F600128B3F = E7F7B0A70410B7F600128B3F;
+			E7F7B0A80410B7F600128B3F = E7F7B0A80410B7F600128B3F;
+			E7F7B0A90410B7F600128B3F = E7F7B0A90410B7F600128B3F;
+			E7F7B0AA0410B7F600128B3F = E7F7B0AA0410B7F600128B3F;
+			E7F7B0AB0410B7F600128B3F = E7F7B0AB0410B7F600128B3F;
+			E7F7B0AC0410B7F600128B3F = E7F7B0AC0410B7F600128B3F;
+			E7F7B0AD0410B7F600128B3F = E7F7B0AD0410B7F600128B3F;
+			E7F7B0AE0410B7F600128B3F = E7F7B0AE0410B7F600128B3F;
+			E7F7B0AF0410B7F600128B3F = E7F7B0AF0410B7F600128B3F;
+			E7F7B0B00410B7F600128B3F = E7F7B0B00410B7F600128B3F;
+			E7F7B0B10410B7F600128B3F = E7F7B0B10410B7F600128B3F;
+			E7F7B0B20410B7F600128B3F = E7F7B0B20410B7F600128B3F;
+			E7F7B0B30410B7F600128B3F = E7F7B0B30410B7F600128B3F;
+			E7F7B0B40410B7F600128B3F = E7F7B0B40410B7F600128B3F;
+			E7F7B0B50410B7F600128B3F = E7F7B0B50410B7F600128B3F;
+			E7F7B0B60410B7F600128B3F = E7F7B0B60410B7F600128B3F;
+			E7F7B0B70410B7F600128B3F = E7F7B0B70410B7F600128B3F;
+			E7F7B0B80410B7F600128B3F = E7F7B0B80410B7F600128B3F;
+			E7F7B0B90410B7F600128B3F = E7F7B0B90410B7F600128B3F;
+			E7F7B0BA0410B7F600128B3F = E7F7B0BA0410B7F600128B3F;
+			E7F7B0BB0410B7F600128B3F = E7F7B0BB0410B7F600128B3F;
+			E7F7B0BC0410B7F600128B3F = E7F7B0BC0410B7F600128B3F;
+			E7F7B0BD0410B7F600128B3F = E7F7B0BD0410B7F600128B3F;
+			E7F7B0BE0410B7F600128B3F = E7F7B0BE0410B7F600128B3F;
+			E7F7B0BF0410B7F600128B3F = E7F7B0BF0410B7F600128B3F;
+			E7F7B0C00410B7F600128B3F = E7F7B0C00410B7F600128B3F;
+			E7F7B0C10410B7F600128B3F = E7F7B0C10410B7F600128B3F;
+		};
+		projectwideBuildSettings = {
+		};
+		wantsIndex = 1;
+		wantsSCM = -1;
+	};
+	089C1673FE841209C02AAC07 = {
+		activeExec = 0;
+	};
+	E7F7B097040F867900128B3F = {
+		activeArgIndex = 2147483647;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		configStateDict = {
+		};
+		debuggerPlugin = GDBDebugging;
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		isa = PBXExecutable;
+		name = uControlHelper;
+		shlibInfoDictList = (
+		);
+		sourceDirectories = (
+		);
+	};
+	E7F7B098040F867900128B3F = {
+		activeArgIndex = 2147483647;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		configStateDict = {
+		};
+		debuggerPlugin = GDBDebugging;
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		isa = PBXExecutable;
+		name = "All Tests";
+		shlibInfoDictList = (
+		);
+		sourceDirectories = (
+		);
+	};
+	E7F7B09D0410B7F600128B3F = {
+		fRef = F56A398203FB1E3701C93B59;
+		isa = PBXTextBookmark;
+		name = "helper_main.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 734;
+		vrLoc = 0;
+	};
+	E7F7B09E0410B7F600128B3F = {
+		fRef = F52DB30F02E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "uControlPref.h: 21";
+		rLen = 0;
+		rLoc = 464;
+		rType = 0;
+		vrLen = 838;
+		vrLoc = 28;
+	};
+	E7F7B09F0410B7F600128B3F = {
+		fRef = F52DB31102E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "UCSetting.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 639;
+		vrLoc = 0;
+	};
+	E7F7B0A00410B7F600128B3F = {
+		fRef = F52DB31202E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "UCSetting.m: 262";
+		rLen = 0;
+		rLoc = 6415;
+		rType = 0;
+		vrLen = 708;
+		vrLoc = 5707;
+	};
+	E7F7B0A10410B7F600128B3F = {
+		fRef = F5E87D8B03F4E2FB01A8016D;
+		isa = PBXTextBookmark;
+		name = "UCModel.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 321;
+		vrLoc = 0;
+	};
+	E7F7B0A20410B7F600128B3F = {
+		fRef = F5E87D8C03F4E2FB01A8016D;
+		isa = PBXTextBookmark;
+		name = "UCModel.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1069;
+		vrLoc = 0;
+	};
+	E7F7B0A30410B7F600128B3F = {
+		fRef = F5E87D9103F5A98601A8016D;
+		isa = PBXTextBookmark;
+		name = "UCKextModel.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 944;
+		vrLoc = 0;
+	};
+	E7F7B0A40410B7F600128B3F = {
+		fRef = E7F7B0C50410B7F600128B3F;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 127";
+		rLen = 0;
+		rLoc = 3914;
+		rType = 0;
+		vrLen = 826;
+		vrLoc = 3168;
+	};
+	E7F7B0A50410B7F600128B3F = {
+		fRef = F5E87D9203F5A98601A8016D;
+		isa = PBXTextBookmark;
+		name = "UCKextModel.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 767;
+		vrLoc = 0;
+	};
+	E7F7B0A60410B7F600128B3F = {
+		fRef = 34A3C0B40400A35100A8016D;
+		isa = PBXTextBookmark;
+		name = "UCLeftHanded.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 646;
+		vrLoc = 0;
+	};
+	E7F7B0A70410B7F600128B3F = {
+		fRef = 34A3C0B50400A35100A8016D;
+		isa = PBXTextBookmark;
+		name = "UCLeftHanded.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1018;
+		vrLoc = 0;
+	};
+	E7F7B0A80410B7F600128B3F = {
+		fRef = F52DB31002E1156A01000104;
+		isa = PBXTextBookmark;
+		rLen = 1;
+		rLoc = 133;
+		rType = 1;
+	};
+	E7F7B0A90410B7F600128B3F = {
+		fRef = F56A398203FB1E3701C93B59;
+		isa = PBXTextBookmark;
+		name = "helper_main.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 734;
+		vrLoc = 0;
+	};
+	E7F7B0AA0410B7F600128B3F = {
+		fRef = F52DB31002E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "uControlPref.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1098;
+		vrLoc = 7468;
+	};
+	E7F7B0AB0410B7F600128B3F = {
+		fRef = F5E87D8C03F4E2FB01A8016D;
+		isa = PBXTextBookmark;
+		name = "UCModel.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1069;
+		vrLoc = 0;
+	};
+	E7F7B0AC0410B7F600128B3F = {
+		fRef = F5E87D9103F5A98601A8016D;
+		isa = PBXTextBookmark;
+		name = "UCKextModel.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 944;
+		vrLoc = 0;
+	};
+	E7F7B0AD0410B7F600128B3F = {
+		fRef = F5E87D9203F5A98601A8016D;
+		isa = PBXTextBookmark;
+		name = "UCKextModel.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 767;
+		vrLoc = 0;
+	};
+	E7F7B0AE0410B7F600128B3F = {
+		fRef = F52DB30F02E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "uControlPref.h: 22";
+		rLen = 0;
+		rLoc = 469;
+		rType = 0;
+		vrLen = 1022;
+		vrLoc = 2145;
+	};
+	E7F7B0AF0410B7F600128B3F = {
+		fRef = F52DB31002E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "uControlPref.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1040;
+		vrLoc = 7363;
+	};
+	E7F7B0B00410B7F600128B3F = {
+		fRef = F52DB30F02E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "uControlPref.h: 21";
+		rLen = 0;
+		rLoc = 464;
+		rType = 0;
+		vrLen = 838;
+		vrLoc = 28;
+	};
+	E7F7B0B10410B7F600128B3F = {
+		fRef = F52DB31002E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "uControlPref.m: 540";
+		rLen = 0;
+		rLoc = 14884;
+		rType = 0;
+		vrLen = 1295;
+		vrLoc = 21326;
+	};
+	E7F7B0B20410B7F600128B3F = {
+		fRef = F52DB31102E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "UCSetting.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 639;
+		vrLoc = 0;
+	};
+	E7F7B0B30410B7F600128B3F = {
+		fRef = F52DB31202E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "UCSetting.m: 206";
+		rLen = 0;
+		rLoc = 5344;
+		rType = 0;
+		vrLen = 731;
+		vrLoc = 4959;
+	};
+	E7F7B0B40410B7F600128B3F = {
+		fRef = E7F7B0C20410B7F600128B3F;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 919;
+		vrLoc = 2347;
+	};
+	E7F7B0B50410B7F600128B3F = {
+		fRef = F52DB31202E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "UCSetting.m: 231";
+		rLen = 0;
+		rLoc = 5911;
+		rType = 0;
+		vrLen = 770;
+		vrLoc = 5296;
+	};
+	E7F7B0B60410B7F600128B3F = {
+		fRef = E7F7B0C30410B7F600128B3F;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 900;
+		vrLoc = 2347;
+	};
+	E7F7B0B70410B7F600128B3F = {
+		fRef = F52DB31202E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "UCSetting.m: 233";
+		rLen = 0;
+		rLoc = 5911;
+		rType = 0;
+		vrLen = 736;
+		vrLoc = 5296;
+	};
+	E7F7B0B80410B7F600128B3F = {
+		fRef = E7F7B0C40410B7F600128B3F;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 900;
+		vrLoc = 2347;
+	};
+	E7F7B0B90410B7F600128B3F = {
+		fRef = F52DB31202E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "UCSetting.m: 262";
+		rLen = 0;
+		rLoc = 6415;
+		rType = 0;
+		vrLen = 708;
+		vrLoc = 5707;
+	};
+	E7F7B0BA0410B7F600128B3F = {
+		fRef = F5E87D8B03F4E2FB01A8016D;
+		isa = PBXTextBookmark;
+		name = "UCModel.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 321;
+		vrLoc = 0;
+	};
+	E7F7B0BB0410B7F600128B3F = {
+		fRef = F5E87D8C03F4E2FB01A8016D;
+		isa = PBXTextBookmark;
+		name = "UCModel.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1069;
+		vrLoc = 0;
+	};
+	E7F7B0BC0410B7F600128B3F = {
+		fRef = F5E87D9103F5A98601A8016D;
+		isa = PBXTextBookmark;
+		name = "UCKextModel.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 944;
+		vrLoc = 0;
+	};
+	E7F7B0BD0410B7F600128B3F = {
+		fRef = E7F7B0C60410B7F600128B3F;
+		isa = PBXTextBookmark;
+		name = "uControl.h: 127";
+		rLen = 0;
+		rLoc = 3914;
+		rType = 0;
+		vrLen = 826;
+		vrLoc = 3168;
+	};
+	E7F7B0BE0410B7F600128B3F = {
+		fRef = F5E87D9203F5A98601A8016D;
+		isa = PBXTextBookmark;
+		name = "UCKextModel.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 767;
+		vrLoc = 0;
+	};
+	E7F7B0BF0410B7F600128B3F = {
+		fRef = 34A3C0B40400A35100A8016D;
+		isa = PBXTextBookmark;
+		name = "UCLeftHanded.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 646;
+		vrLoc = 0;
+	};
+	E7F7B0C00410B7F600128B3F = {
+		fRef = 34A3C0B50400A35100A8016D;
+		isa = PBXTextBookmark;
+		name = "UCLeftHanded.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1018;
+		vrLoc = 0;
+	};
+	E7F7B0C10410B7F600128B3F = {
+		fRef = F52DB31002E1156A01000104;
+		isa = PBXTextBookmark;
+		name = "uControlPref.m: script";
+		rLen = 28;
+		rLoc = 3155;
+		rType = 0;
+		vrLen = 1263;
+		vrLoc = 2517;
+	};
+	E7F7B0C20410B7F600128B3F = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	E7F7B0C30410B7F600128B3F = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	E7F7B0C40410B7F600128B3F = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	E7F7B0C50410B7F600128B3F = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	E7F7B0C60410B7F600128B3F = {
+		isa = PBXFileReference;
+		name = uControl.h;
+		path = "/Users/hh/tmp/uControl-1.3.0/uControl1.3.0-hh/include/uControl.h";
+		refType = 0;
+	};
+	F52120D103FA238401732DE0 = {
+		activeExec = 0;
+		executables = (
+			E7F7B097040F867900128B3F,
+		);
+	};
+	F5447C4F03E73BD101A8016D = {
+		activeExec = 0;
+		executables = (
+			E7F7B098040F867900128B3F,
+		);
+	};
+}
diff --unified --recursive --new-file ../org/uControl1.3.0/pref/uControlPref.h uControl1.3.0/pref/uControlPref.h
--- ../org/uControl1.3.0/pref/uControlPref.h	Sat Feb 15 01:50:54 2003
+++ uControl1.3.0/pref/uControlPref.h	Fri Feb 28 22:23:29 2003
@@ -18,6 +18,8 @@
 #define ALT_TAG   3
 #define CAPS_TAG  4
 #define ENTER_TAG 5
+#define META_TAG  6
+
 
 #define SAFETOLOAD_FILE @"/Library/StartupItems/uControl/safetoload"
 
diff --unified --recursive --new-file ../org/uControl1.3.0/pref/uControlPref.m uControl1.3.0/pref/uControlPref.m
--- ../org/uControl1.3.0/pref/uControlPref.m	Sun Feb 16 05:43:56 2003
+++ uControl1.3.0/pref/uControlPref.m	Fri Feb 28 22:31:19 2003
@@ -288,7 +288,7 @@
     if (sender == src_flag) {
         src = src_flag;
         dest = dest_flag;
-        if ([src selectedTag] >= CAPS_TAG) {
+        if ([src selectedTag] >= CAPS_TAG || [dest selectedTag] >= META_TAG) {
             [swap_or_convert setEnabled: FALSE];
             [swap_or_convert setState: NSOffState];
         } else {
