Index: trunk/EventBenchConsole/rules/rules.xml
===================================================================
--- trunk/EventBenchConsole/rules/rules.xml	(revision 153)
+++ trunk/EventBenchConsole/rules/rules.xml	(revision 416)
@@ -786,4 +786,28 @@
       <storedVar obj="keydown"/>
     </genMsg>
+    <!--<idinfo>
+      <paramValue obj="keydown" param="key"/>
+    </idinfo>-->
+  </rule>
+
+  <rule name="KeyUp">
+    <msg type="&WM_KEYUP;">
+      <store var="keyup"/>
+    </msg>
+    <genMsg delay="500">
+      <storedVar obj="keyup"/>
+    </genMsg>
+    <!--<idinfo>
+      <paramValue obj="keyup" param="key"/>
+    </idinfo>-->
+  </rule>
+
+  <rule name="SysKeyDown">
+    <msg type="&WM_SYSKEYDOWN;">
+      <store var="keydown"/>
+    </msg>
+    <genMsg delay="100">
+      <storedVar obj="keydown"/>
+    </genMsg>
     <idinfo>
       <paramValue obj="keydown" param="key"/>
@@ -791,6 +815,6 @@
   </rule>
 
-  <rule name="KeyUp">
-    <msg type="&WM_KEYUP;">
+  <rule name="SysKeyUp">
+    <msg type="&WM_SYSKEYUP;">
       <store var="keyup"/>
     </msg>
@@ -803,28 +827,4 @@
   </rule>
 
-  <rule name="SysKeyDown">
-    <msg type="&WM_SYSKEYDOWN;">
-      <store var="keydown"/>
-    </msg>
-    <genMsg delay="100">
-      <storedVar obj="keydown"/>
-    </genMsg>
-    <idinfo>
-      <paramValue obj="keydown" param="key"/>
-    </idinfo>
-  </rule>
-
-  <rule name="SysKeyUp">
-    <msg type="&WM_SYSKEYUP;">
-      <store var="keyup"/>
-    </msg>
-    <genMsg delay="500">
-      <storedVar obj="keyup"/>
-    </genMsg>
-    <idinfo>
-      <paramValue obj="keyup" param="key"/>
-    </idinfo>
-  </rule>
-
 
   <!-- What follows are coordinate-based rules. They are "hail mary" rules that try to salvage events that cannot be matched or replayed in a coordinate independent way (yet). -->
@@ -930,4 +930,150 @@
     </genMsg>
   </rule>
+
+  <rule name ="NCLeftClickCoordinates2">
+    <msg type="&WM_NCLBUTTONDOWN;">
+      <store var="clicked"/>
+    </msg>
+    <msg type="&WM_NCLBUTTONUP;">
+      <equals>
+        <paramValue obj="clicked" param="window.hwnd"/>
+        <paramValue obj="this" param="window.hwnd"/>
+      </equals>
+      <store var="up"/>
+    </msg>
+    <genMsg delay="100">
+      <type>
+        <constValue value="&WM_NCLBUTTONDOWN;"/>
+      </type>
+      <target>
+        <msgInfoValue obj="clicked" msgParam="target"/>
+      </target>
+      <LPARAM>
+        <LOWORD>
+          <paramValue obj="clicked" param="point.x"/>
+        </LOWORD>
+        <HIWORD>
+          <paramValue obj="clicked" param="point.y"/>
+        </HIWORD>
+      </LPARAM>
+      <WPARAM>
+        <paramValue obj="clicked" param="WPARAM"/>
+      </WPARAM>
+    </genMsg>
+    <genMsg delay="500">
+      <type>
+        <constValue value="&WM_NCLBUTTONUP;"/>
+      </type>
+      <target>
+        <msgInfoValue obj="up" msgParam="target"/>
+      </target>
+      <LPARAM>
+        <LOWORD>
+          <paramValue obj="up" param="point.x"/>
+        </LOWORD>
+        <HIWORD>
+          <paramValue obj="up" param="point.y"/>
+        </HIWORD>
+      </LPARAM>
+      <WPARAM>
+        <paramValue obj="up" param="WPARAM"/>
+      </WPARAM>
+    </genMsg>
+  </rule>
+
+  <rule name ="LeftClickCoordinatesTargetChanged">
+    <msg type="&WM_LBUTTONDOWN;">
+      <store var="clicked"/>
+    </msg>
+    <msg type="&WM_LBUTTONUP;">
+      <store var="up"/>
+    </msg>
+    <genMsg delay="100">
+      <type>
+        <constValue value="&WM_LBUTTONDOWN;"/>
+      </type>
+      <target>
+        <msgInfoValue obj="clicked" msgParam="target"/>
+      </target>
+      <LPARAM>
+        <LOWORD>
+          <paramValue obj="clicked" param="point.x"/>
+        </LOWORD>
+        <HIWORD>
+          <paramValue obj="clicked" param="point.y"/>
+        </HIWORD>
+      </LPARAM>
+      <WPARAM>
+        <paramValue obj="clicked" param="WPARAM"/>
+      </WPARAM>
+    </genMsg>
+    <genMsg delay="500">
+      <type>
+        <constValue value="&WM_LBUTTONUP;"/>
+      </type>
+      <target>
+        <msgInfoValue obj="up" msgParam="target"/>
+      </target>
+      <LPARAM>
+        <LOWORD>
+          <paramValue obj="up" param="point.x"/>
+        </LOWORD>
+        <HIWORD>
+          <paramValue obj="up" param="point.y"/>
+        </HIWORD>
+      </LPARAM>
+      <WPARAM>
+        <paramValue obj="up" param="WPARAM"/>
+      </WPARAM>
+    </genMsg>
+  </rule>
   
+  <rule name ="LeftClickCoordinatesTargetChanged2">
+    <msg type="&WM_LBUTTONDOWN;">
+      <store var="clicked"/>
+    </msg>
+    <msg type="&WM_NCLBUTTONUP;">
+      <store var="up"/>
+    </msg>
+    <genMsg delay="100">
+      <type>
+        <constValue value="&WM_LBUTTONDOWN;"/>
+      </type>
+      <target>
+        <msgInfoValue obj="clicked" msgParam="target"/>
+      </target>
+      <LPARAM>
+        <LOWORD>
+          <paramValue obj="clicked" param="point.x"/>
+        </LOWORD>
+        <HIWORD>
+          <paramValue obj="clicked" param="point.y"/>
+        </HIWORD>
+      </LPARAM>
+      <WPARAM>
+        <paramValue obj="clicked" param="WPARAM"/>
+      </WPARAM>
+    </genMsg>
+    <genMsg delay="500">
+      <type>
+        <constValue value="&WM_NCLBUTTONUP;"/>
+      </type>
+      <target>
+        <msgInfoValue obj="up" msgParam="target"/>
+      </target>
+      <LPARAM>
+        <LOWORD>
+          <paramValue obj="up" param="point.x"/>
+        </LOWORD>
+        <HIWORD>
+          <paramValue obj="up" param="point.y"/>
+        </HIWORD>
+      </LPARAM>
+      <WPARAM>
+        <paramValue obj="up" param="WPARAM"/>
+      </WPARAM>
+    </genMsg>
+  </rule>
+
+
 </rules>
