Index: trunk/EventBenchConsole/rules/ruleDoctype.dtd
===================================================================
--- trunk/EventBenchConsole/rules/ruleDoctype.dtd	(revision 425)
+++ trunk/EventBenchConsole/rules/ruleDoctype.dtd	(revision 1)
@@ -90,5 +90,4 @@
 <!ENTITY WM_NCXBUTTONUP "172">
 <!ENTITY WM_NCXBUTTONDBLCLK "173">
-<!ENTITY SBM_SETPOS "224">
 <!ENTITY BM_CLICK "245">
 <!ENTITY WM_INPUT "255">
@@ -134,9 +133,8 @@
 <!ENTITY WM_CTLCOLORLISTBOX "308">
 <!ENTITY WM_CTLCOLORBTN "309">
-<!ENTITY WM_CTLCOLORDLG "310">
+<!ENTITY WM_CTLCLOLORDLG "310">
 <!ENTITY WM_CTLCOLORSCROLLBAR "311">
 <!ENTITY WM_CTLCOLORSTATIC "312">
 <!ENTITY CB_SHOWDROPDOWN "335">
-<!ENTITY LB_SETCURSEL "390">
 <!ENTITY WM_MOUSEFIRST "512">
 <!ENTITY WM_MOUSEMOVE "512">
@@ -155,6 +153,3 @@
 <!ENTITY WM_XBUTTONUP "524">
 <!ENTITY WM_XBUTTONDBLCLK "525">
-<!ENTITY WM_USER "1024">
-<!ENTITY CB_SETCURSEL "334">
 <!ENTITY TBM_SETPOS "1029">
-<!ENTITY TCM_SETCURSEL "4876">
Index: trunk/EventBenchConsole/rules/ruleSchema.xsd
===================================================================
--- trunk/EventBenchConsole/rules/ruleSchema.xsd	(revision 425)
+++ trunk/EventBenchConsole/rules/ruleSchema.xsd	(revision 1)
@@ -189,6 +189,4 @@
       <xs:enumeration value="resourceId"/>
       <xs:enumeration value="hwnd"/>
-      <xs:enumeration value="parentTarget"/>
-      <xs:enumeration value="parentClass"/>
     </xs:restriction>
   </xs:simpleType>
Index: trunk/EventBenchConsole/rules/rules.xml
===================================================================
--- trunk/EventBenchConsole/rules/rules.xml	(revision 425)
+++ trunk/EventBenchConsole/rules/rules.xml	(revision 1)
@@ -4,98 +4,28 @@
 
   <!-- rules regarding mouse clicks -->
-  <rule name="LeftClickButton">
-    <msg type="&WM_LBUTTONDOWN;">
-      <store var="clicked"/>
-    </msg>
-    <msg type="&WM_LBUTTONUP;">
-      <equals>
-        <constValue value="Button"/>
-        <winInfoValue obj="this" winParam="class"/>
-      </equals>
-      <equals>
-        <paramValue obj="clicked" param="window.hwnd"/>
-        <paramValue obj="this" param="window.hwnd"/>
-      </equals>
-    </msg>
-    <genMsg delay="500">
-      <type>
-        <constValue value="&BM_CLICK;"/>
-      </type>
-      <target>
-        <msgInfoValue obj="clicked" msgParam="target"/>
-      </target>
-    </genMsg>
-  </rule>
-
-  <rule name="LeftClickListBox">
-    <msg type="&WM_LBUTTONDOWN;">
-      <equals>
-        <winInfoValue obj="this" winParam="class"/>
-        <constValue value="ListBox"/>
-      </equals>
-      <store var="clicked"/>
-    </msg>
-    <msg type="&WM_LBUTTONUP;">
-      <equals>
-        <paramValue obj="this" param="window.hwnd"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-      <store var="up"/>
-    </msg>
-    <genMsg delay="500">
-      <type>
-        <constValue value="&LB_SETCURSEL;"/>
-      </type>
-      <target>
-        <msgInfoValue obj="clicked" msgParam="target"/>
-      </target>
-      <WPARAM>
-        <paramValue obj="up" param="scrollPos"/>
-      </WPARAM>
-    </genMsg>
-  </rule>
-
-  <rule name="TabChange">
-    <msg type="&WM_LBUTTONDOWN;">
-      <equals>
-        <constValue value="SysTabControl32"/>
-        <winInfoValue obj="this" winParam="class"/>
-      </equals>
-      <store var="clicked"/>
-    </msg>
-    <msg type="&WM_LBUTTONUP;">
-      <equals>
-        <paramValue obj="this" param="window.hwnd"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-      <store var="up"/>
-    </msg>
-    <!-- tab change message for Tab Controls-->
-    <genMsg delay="100">
-      <type>
-        <constValue value="&TCM_SETCURSEL;"/>
-      </type>
-      <target>
-        <msgInfoValue obj="up" msgParam="target"/>
-      </target>
-      <WPARAM>
-        <paramValue obj="up" param="scrollPos"/>
-      </WPARAM>
-    </genMsg>
-    <!-- tab change message for Property Pages-->
-    <genMsg delay="500">
-      <type>
-        <constValue value="1125"/>
-      </type>
-      <target>
-        <winInfoValue obj="up" winParam="parentTarget"/>
-      </target>
-      <WPARAM>
-        <paramValue obj="up" param="scrollPos"/>
-      </WPARAM>
-    </genMsg>
-  </rule>
-
-<!--
+<rule name="LeftClickButton">
+ <msg type="&WM_LBUTTONDOWN;">
+  <store var="clicked"/>
+ </msg>
+ <msg type="&WM_LBUTTONUP;">
+  <equals>
+   <constValue value="Button"/>
+   <winInfoValue obj="this" winParam="class"/>
+  </equals>
+  <equals>
+   <paramValue obj="clicked" param="window.hwnd"/>
+   <paramValue obj="this" param="window.hwnd"/>
+  </equals>
+ </msg>
+ <genMsg delay="100">
+  <type>
+   <constValue value="&BM_CLICK;"/>
+  </type>
+  <target>
+   <msgInfoValue obj="clicked" msgParam="target"/>
+  </target>
+ </genMsg>
+</rule>
+
   <rule name="ComboBox">
     <msg type="&WM_LBUTTONDOWN;">
@@ -139,5 +69,5 @@
       </target>
     </genMsg>
-    <genMsg delay="500">
+    <genMsg delay="100">
       <type>
         <constValue value="&CB_SHOWDROPDOWN;"/>
@@ -150,5 +80,5 @@
       </WPARAM>
     </genMsg>
-    <!-
+    <!--
     <genMsg delay="100">
       <type>
@@ -178,147 +108,7 @@
         <seqValue seqObj="cmds" param="WPARAM"/>
       </WPARAM>
-    </genMsgSeq>->
-  </rule>
-  <rule name="ComboLBox">
-    <msg type="&WM_LBUTTONDOWN;">
-      <equals>
-        <winInfoValue obj="this" winParam="class"/>
-        <constValue value="ComboLBox"/>
-      </equals>
-      <store var="clicked"/>
-    </msg>
-    <msg type="&WM_COMMAND;">
-      <equals>
-        <paramValue obj="this" param="window.hwnd"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-      <store var="cmd1">
-        <resolveHwnd param="source" storeParam="sourceDesc"/>
-      </store>
-    </msg>
-    <msg type="&WM_COMMAND;" multiple="true">
-      <equals>
-        <paramValue obj="this" param="source"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-      <storeSeq varSeq="cmds">
-        <resolveHwnd param="window.hwnd" storeParam="msgTarget"/>
-        <resolveHwnd param="source" storeParam="sourceDesc"/>
-      </storeSeq>
-    </msg>
-    <msg type="&WM_LBUTTONUP;">
-      <equals>
-        <paramValue obj="this" param="window.hwnd"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-    </msg>
-    <genMsg delay="100">
-      <type>
-        <constValue value="&WM_SETFOCUS;"/>
-      </type>
-      <target>
-        <msgInfoValue obj="clicked" msgParam="target"/>
-      </target>
-    </genMsg>
-    <genMsg delay="500">
-      <type>
-        <constValue value="&CB_SHOWDROPDOWN;"/>
-      </type>
-      <target>
-        <msgInfoValue obj="clicked" msgParam="target"/>
-      </target>
-      <WPARAM>
-        <constValue value="1"/>
-      </WPARAM>
-    </genMsg>
+    </genMsgSeq>-->
   </rule>
   
-  <rule name="LeftClickCommandComboLBox">
-    <msg type="&WM_LBUTTONDOWN;">
-      <equals>
-        <constValue value="ComboLBox"/>
-        <winInfoValue obj="this" winParam="class"/>
-      </equals>
-      <store var="clicked"/>
-    </msg>
-    <msg type="&WM_LBUTTONUP;">
-      <equals>
-        <paramValue obj="clicked" param="window.hwnd"/>
-        <paramValue obj="this" param="window.hwnd"/>
-      </equals>
-      <store var="up"/>
-    </msg>
-    <msg type="&WM_COMMAND;">
-      <equals>
-        <paramValue obj="clicked" param="window.hwnd"/>
-        <paramValue obj="this" param="source"/>
-      </equals>
-      <store var="cmd1">
-        <resolveHwnd param="source" storeParam="sourceDesc"/>
-      </store>
-    </msg>
-    <msg type="&WM_COMMAND;" multiple="true">
-      <equals>
-        <paramValue obj="this" param="source"/>
-        <paramValue obj="cmd1" param="window.hwnd"/>
-      </equals>
-      <storeSeq varSeq="cmds">
-        <resolveHwnd param="window.hwnd" storeParam="target"/>
-        <resolveHwnd param="source" storeParam="sourceDesc"/>
-      </storeSeq>
-    </msg>
-    <genMsg delay="100">
-      <type>
-        <constValue value="&CB_SETCURSEL;"/>
-      </type>
-      <target>
-        <msgInfoValue obj="up" msgParam="target"/>
-      </target>
-      <WPARAM>
-        <constValue value="1"/>
-        <!-<paramValue obj="up" param="scrollPos"/>->
-      </WPARAM>
-    </genMsg>
-    <genMsg delay="100">
-      <type>
-        <constValue value="&CB_SHOWDROPDOWN;"/>
-      </type>
-      <target>
-        <winInfoValue obj="clicked" winParam="parentTarget"/>
-      </target>
-      <WPARAM>
-        <constValue value="0"/>
-      </WPARAM>
-    </genMsg>
-    <genMsg delay="100">
-      <type>
-        <constValue value="&WM_COMMAND;"/>
-      </type>
-      <target>
-        <winInfoValue obj="cmd1" winParam="parentTarget"/>
-      </target>
-      <LPARAM>
-        <paramValue obj="cmd1" param="sourceDesc"/>
-      </LPARAM>
-      <WPARAM>
-        <paramValue obj="cmd1" param="WPARAM"/>
-      </WPARAM>
-    </genMsg>
-    <genMsgSeq delay="100">
-      <type>
-        <constValue value="&WM_COMMAND;"/>
-      </type>
-      <target>
-        <seqValue seqObj="cmds" param="target"/>
-      </target>
-      <LPARAM>
-        <seqValue seqObj="cmds" param="sourceDesc"/>
-      </LPARAM>
-      <WPARAM>
-        <seqValue seqObj="cmds" param="WPARAM"/>
-      </WPARAM>
-    </genMsgSeq>
-  </rule>-->
-
   <rule name="LeftClickCommand">
     <msg type="&WM_LBUTTONDOWN;">
@@ -340,5 +130,5 @@
       </store>
     </msg>
-    <genMsg delay="500">
+    <genMsg delay="100">
       <type>
         <msgInfoValue obj="cmd" msgParam="type"/>
@@ -369,5 +159,5 @@
       <store var="cmd"/>
     </msg>
-    <genMsg delay="500">
+    <genMsg delay="100">
       <storedVar obj="cmd"/>
     </genMsg>
@@ -391,5 +181,5 @@
       <store var="cmd"/>
     </msg>
-    <genMsg delay="500">
+    <genMsg delay="100">
       <storedVar obj="cmd"/>
     </genMsg>
@@ -419,5 +209,5 @@
       <store var="cmd"/>
     </msg>
-    <genMsg delay="500">
+    <genMsg delay="100">
       <storedVar obj="cmd"/>
     </genMsg>
@@ -426,10 +216,6 @@
  
   <!-- rules involving mouse movement -->
-  <rule name="HScroll_TrackBar">
-    <msg type="&WM_LBUTTONDOWN;">
-      <equals>
-        <winInfoValue obj="this" winParam="class"/>
-        <constValue value="msctls_trackbar32"/>
-      </equals>
+  <rule name="HScroll">
+    <msg type="&WM_LBUTTONDOWN;">
       <store var="clicked"/>
     </msg>
@@ -442,94 +228,14 @@
         <resolveHwnd param="scrollBarHandle" storeParam="scrollBarTarget"/>
       </storeSeq>
-    </msg>    
-    <msg type="&WM_LBUTTONUP;">
-      <equals>
-        <paramValue obj="this" param="window.hwnd"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-    </msg>
-    <genMsgSeq delay="50">
+    </msg>
+    <msg type="&WM_LBUTTONUP;">
+      <equals>
+        <paramValue obj="clicked" param="window.hwnd"/>
+        <paramValue obj="clicked" param="window.hwnd"/>
+      </equals>
+    </msg>
+    <genMsgSeq delay="20">
       <type>
         <constValue value="&TBM_SETPOS;"/>
-      </type>
-      <target>
-        <seqValue seqObj="scrolls" param="scrollBarTarget"/>
-      </target>
-      <LPARAM>
-        <seqValue seqObj="scrolls" param="scrollPos"/>
-      </LPARAM>
-      <WPARAM>
-        <constValue value="1"/>
-      </WPARAM>
-    </genMsgSeq>
-  </rule>
-
-
-  <rule name="VScroll_TrackBar">
-    <msg type="&WM_LBUTTONDOWN;">
-      <equals>
-        <winInfoValue obj="this" winParam="class"/>
-        <constValue value="msctls_trackbar32"/>
-      </equals>
-      <store var="clicked"/>
-    </msg>
-    <msg type="&WM_VSCROLL;" multiple="true">
-      <equals>
-        <paramValue obj="this" param="scrollBarHandle"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-      <storeSeq varSeq="scrolls">
-        <resolveHwnd param="scrollBarHandle" storeParam="scrollBarTarget"/>
-      </storeSeq>
-    </msg>
-    <msg type="&WM_LBUTTONUP;">
-      <equals>
-        <paramValue obj="this" param="window.hwnd"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-    </msg>
-    <genMsgSeq delay="50">
-      <type>
-        <constValue value="&TBM_SETPOS;"/>
-      </type>
-      <target>
-        <seqValue seqObj="scrolls" param="scrollBarTarget"/>
-      </target>
-      <LPARAM>
-        <seqValue seqObj="scrolls" param="scrollPos"/>
-      </LPARAM>
-      <WPARAM>
-        <constValue value="1"/>
-      </WPARAM>
-    </genMsgSeq>
-  </rule>
-
-
-  <rule name="HScroll_ScrollBar">
-    <msg type="&WM_LBUTTONDOWN;">
-      <equals>
-        <winInfoValue obj="this" winParam="class"/>
-        <constValue value="ScrollBar"/>
-      </equals>
-      <store var="clicked"/>
-    </msg>
-    <msg type="&WM_HSCROLL;" multiple="true">
-      <equals>
-        <paramValue obj="this" param="scrollBarHandle"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-      <storeSeq varSeq="scrolls">
-        <resolveHwnd param="scrollBarHandle" storeParam="scrollBarTarget"/>
-      </storeSeq>
-    </msg>
-    <msg type="&WM_LBUTTONUP;">
-      <equals>
-        <paramValue obj="this" param="window.hwnd"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-    </msg>
-    <genMsgSeq delay="50">
-      <type>
-        <constValue value="&SBM_SETPOS;"/>
       </type>
       <target>
@@ -544,109 +250,7 @@
     </genMsgSeq>
   </rule>
-
-
-  <rule name="VScroll_ScrollBar">
-    <msg type="&WM_LBUTTONDOWN;">
-      <equals>
-        <winInfoValue obj="this" winParam="class"/>
-        <constValue value="ScrollBar"/>
-      </equals>
-      <store var="clicked"/>
-    </msg>
-    <msg type="&WM_VSCROLL;" multiple="true">
-      <equals>
-        <paramValue obj="this" param="scrollBarHandle"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-      <storeSeq varSeq="scrolls">
-        <resolveHwnd param="scrollBarHandle" storeParam="scrollBarTarget"/>
-      </storeSeq>
-    </msg>
-    <msg type="&WM_LBUTTONUP;">
-      <equals>
-        <paramValue obj="this" param="window.hwnd"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-    </msg>
-    <genMsgSeq delay="50">
-      <type>
-        <constValue value="&SBM_SETPOS;"/>
-      </type>
-      <target>
-        <seqValue seqObj="scrolls" param="scrollBarTarget"/>
-      </target>
-      <LPARAM>
-        <constValue value="1"/>
-      </LPARAM>
-      <WPARAM>
-        <seqValue seqObj="scrolls" param="scrollPos"/>
-      </WPARAM>
-    </genMsgSeq>
-  </rule>
   
-  <!-- Does not work correctly, if a scrollbar has no handle of its own, e.g., a standard scrollbar of a listbox -->
-  <rule name="VScrollNC">
-    <msg type="&WM_NCLBUTTONDOWN;">
-      <store var="clicked"/>
-    </msg>
-    <msg type="&WM_VSCROLL;">
-      <equals>
-        <paramValue obj="this" param="window.hwnd"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-      <store var="scrolls"/>
-    </msg>
-    <genMsg delay="50">
-      <type>
-        <constValue value="&WM_VSCROLL;"/>
-      </type>
-      <target>
-        <msgInfoValue obj="clicked" msgParam="target"/>
-      </target>
-      <WPARAM>
-        <LOWORD>
-          <constValue value="4"/>
-        </LOWORD>
-        <HIWORD>
-          <paramValue obj="scrolls" param="scrollPos"/>
-        </HIWORD>
-      </WPARAM>
-    </genMsg>
-  </rule>
-
-
-  <!--<rule name="VScrollNC">
-    <msg type="&WM_NCLBUTTONDOWN;">
-      <store var="clicked"/>
-    </msg>
-    <msg type="&WM_VSCROLL;" multiple="true">
-      <equals>
-        <paramValue obj="this" param="window.hwnd"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-      <storeSeq varSeq="scrolls">
-        <resolveHwnd param="window.hwnd" storeParam="scrollBarTarget"/>
-      </storeSeq>
-    </msg>
-    <genMsgSeq delay="20">
-      <type>
-        <constValue value="&WM_VSCROLL;"/>
-      </type>
-      <target>
-        <seqValue seqObj="scrolls" param="scrollBarTarget"/>
-      </target>
-      <WPARAM>
-        <LOWORD>
-          <constValue value="4"/>
-        </LOWORD>
-        <HIWORD>
-          <paramValue obj="scrolls" param="scrollPos"/>
-        </HIWORD>
-      </WPARAM>
-    </genMsgSeq>
-  </rule>-->
-
-  <!-- Copy of set focus without kill-focus -->
-  <rule name="LeftClickSetFocus">
+  <!-- if nothing else, at least switch focus, works only partially -->
+  <rule name="LeftClickChangeFocus">
     <msg type="&WM_LBUTTONDOWN;">
       <equals>
@@ -656,5 +260,12 @@
       <store var="clicked"/>
     </msg>
+    <msg type="&WM_KILLFOCUS;">
+      <store var="killfocus"/>
+    </msg>
     <msg type="&WM_SETFOCUS;">
+      <equals>
+        <paramValue obj="this" param="WPARAM"/>
+        <paramValue obj="killfocus" param="window.hwnd"/>
+      </equals>
       <store var="setfocus"/>
     </msg>
@@ -678,4 +289,15 @@
     <genMsg delay="20">
       <type>
+        <constValue value="&WM_KILLFOCUS;"/>
+      </type>
+      <target>
+        <msgInfoValue obj="killfocus" msgParam="target"/>
+      </target>
+      <WPARAM>
+        <msgInfoValue obj="setfocus" msgParam="target"/>
+      </WPARAM>
+    </genMsg>
+    <genMsg delay="20">
+      <type>
         <constValue value="&WM_SETFOCUS;"/>
       </type>
@@ -684,8 +306,8 @@
       </target>
       <WPARAM>
-        <constValue value="0"/>
-      </WPARAM>
-    </genMsg>
-    <genMsg delay="500">
+        <msgInfoValue obj="killfocus" msgParam="target"/>
+      </WPARAM>
+    </genMsg>
+    <genMsg delay="100">
       <type>
         <constValue value="&WM_COMMAND;"/>
@@ -702,91 +324,54 @@
     </genMsg>
   </rule>
+
+
+  <!-- rules regarding keyboard input -->
+  <!-- <rule name="KeyPressed">
+    <msg type="&WM_KEYDOWN;">
+      <store var="keydown"/>
+    </msg>
+    <msg type="&WM_KEYUP;">
+      <store var="keyup"/>
+    </msg>
+    <genMsg delay="20">
+      <storedVar obj="keydown"/>
+    </genMsg>
+    <genMsg delay="100">
+      <storedVar obj="keyup"/>
+    </genMsg>
+    <idinfo>
+      <paramValue obj="keydown" param="key"/>
+    </idinfo>
+  </rule>
+
+  <rule name="SysKeyPressed">
+    <msg type="&WM_SYSKEYDOWN;">
+      <store var="keydown"/>
+    </msg>
+    <msg type="&WM_SYSKEYUP;">
+      <store var="keyup"/>
+    </msg>
+    <genMsg delay="20">
+      <storedVar obj="keydown"/>
+    </genMsg>
+    <genMsg delay="100">
+      <storedVar obj="keyup"/>
+    </genMsg>
+    <idinfo>
+      <paramValue obj="keydown" param="key"/>
+    </idinfo>
+  </rule> -->
   
-  <!-- Works only partially! -->
-  <rule name="LeftClickChangeFocus">
-    <msg type="&WM_LBUTTONDOWN;">
-      <equals>
-        <winInfoValue obj="this" winParam="class"/>
-        <constValue value="Edit"/>
-      </equals>
-      <store var="clicked"/>
-    </msg>
-    <msg type="&WM_KILLFOCUS;">
-      <store var="killfocus"/>
-    </msg>
-    <msg type="&WM_SETFOCUS;">
-      <equals>
-        <paramValue obj="this" param="WPARAM"/>
-        <paramValue obj="killfocus" param="window.hwnd"/>
-      </equals>
-      <store var="setfocus"/>
-    </msg>
-    <msg type="&WM_COMMAND;">
-      <equals>
-        <paramValue obj="this" param="source"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-      <equals>
-        <paramValue obj="this" param="sourceType"/>
-        <constValue value="256"/>
-      </equals>
-      <store var="cmd"/>
-    </msg>
-    <msg type="&WM_LBUTTONUP;">
-      <equals>
-        <paramValue obj="this" param="window.hwnd"/>
-        <paramValue obj="clicked" param="window.hwnd"/>
-      </equals>
-    </msg>
-    <genMsg delay="100">
-      <type>
-        <constValue value="&WM_KILLFOCUS;"/>
-      </type>
-      <target>
-        <msgInfoValue obj="killfocus" msgParam="target"/>
-      </target>
-      <WPARAM>
-        <msgInfoValue obj="setfocus" msgParam="target"/>
-      </WPARAM>
-    </genMsg>
-    <genMsg delay="100">
-      <type>
-        <constValue value="&WM_SETFOCUS;"/>
-      </type>
-      <target>
-        <msgInfoValue obj="setfocus" msgParam="target"/>
-      </target>
-      <WPARAM>
-        <msgInfoValue obj="killfocus" msgParam="target"/>
-      </WPARAM>
-    </genMsg>
-    <genMsg delay="500">
-      <type>
-        <constValue value="&WM_COMMAND;"/>
-      </type>
-      <target>
-        <msgInfoValue obj="cmd" msgParam="target"/>
-      </target>
-      <LPARAM>
-        <msgInfoValue obj="setfocus" msgParam="target"/>
-      </LPARAM>
-      <WPARAM>
-        <paramValue obj="cmd" param="WPARAM"/>
-      </WPARAM>
-    </genMsg>
-  </rule>
-
-
-  <!-- Rules for keyboard input -->
+  <!-- Alternate rules -->
   <rule name="KeyDown">
     <msg type="&WM_KEYDOWN;">
       <store var="keydown"/>
     </msg>
-    <genMsg delay="100">
+    <genMsg delay="20">
       <storedVar obj="keydown"/>
     </genMsg>
-    <!--<idinfo>
+    <idinfo>
       <paramValue obj="keydown" param="key"/>
-    </idinfo>-->
+    </idinfo>
   </rule>
 
@@ -795,10 +380,10 @@
       <store var="keyup"/>
     </msg>
-    <genMsg delay="500">
+    <genMsg delay="20">
       <storedVar obj="keyup"/>
     </genMsg>
-    <!--<idinfo>
+    <idinfo>
       <paramValue obj="keyup" param="key"/>
-    </idinfo>-->
+    </idinfo>
   </rule>
 
@@ -807,5 +392,5 @@
       <store var="keydown"/>
     </msg>
-    <genMsg delay="100">
+    <genMsg delay="20">
       <storedVar obj="keydown"/>
     </genMsg>
@@ -819,5 +404,5 @@
       <store var="keyup"/>
     </msg>
-    <genMsg delay="500">
+    <genMsg delay="20">
       <storedVar obj="keyup"/>
     </genMsg>
@@ -827,253 +412,3 @@
   </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). -->
-  <rule name ="LeftClickCoordinates">
-    <msg type="&WM_LBUTTONDOWN;">
-      <store var="clicked"/>
-    </msg>
-    <msg type="&WM_LBUTTONUP;">
-      <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_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 ="NCLeftClickCoordinates">
-    <msg type="&WM_NCLBUTTONDOWN;">
-      <store var="clicked"/>
-    </msg>
-    <msg type="&WM_LBUTTONUP;">
-      <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_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 ="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>
