source: trunk/EventBenchConsole/rules/rules.xml @ 30

Last change on this file since 30 was 1, checked in by sherbold, 14 years ago
File size: 10.8 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE rules SYSTEM "ruleDoctype.dtd">
3<rules xmlns="ul:rules" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ul:rules ruleSchema.xsd">
4
5  <!-- rules regarding mouse clicks -->
6<rule name="LeftClickButton">
7 <msg type="&WM_LBUTTONDOWN;">
8  <store var="clicked"/>
9 </msg>
10 <msg type="&WM_LBUTTONUP;">
11  <equals>
12   <constValue value="Button"/>
13   <winInfoValue obj="this" winParam="class"/>
14  </equals>
15  <equals>
16   <paramValue obj="clicked" param="window.hwnd"/>
17   <paramValue obj="this" param="window.hwnd"/>
18  </equals>
19 </msg>
20 <genMsg delay="100">
21  <type>
22   <constValue value="&BM_CLICK;"/>
23  </type>
24  <target>
25   <msgInfoValue obj="clicked" msgParam="target"/>
26  </target>
27 </genMsg>
28</rule>
29
30  <rule name="ComboBox">
31    <msg type="&WM_LBUTTONDOWN;">
32      <equals>
33        <winInfoValue obj="this" winParam="class"/>
34        <constValue value="ComboBox"/>
35      </equals>
36      <store var="clicked"/>
37    </msg>
38    <msg type="&WM_COMMAND;">
39      <equals>
40        <paramValue obj="this" param="window.hwnd"/>
41        <paramValue obj="clicked" param="window.hwnd"/>
42      </equals>
43      <store var="cmd1">
44        <resolveHwnd param="source" storeParam="sourceDesc"/>
45      </store>
46    </msg>
47    <msg type="&WM_COMMAND;" multiple="true">
48      <equals>
49        <paramValue obj="this" param="source"/>
50        <paramValue obj="clicked" param="window.hwnd"/>
51      </equals>
52      <storeSeq varSeq="cmds">
53        <resolveHwnd param="window.hwnd" storeParam="msgTarget"/>
54        <resolveHwnd param="source" storeParam="sourceDesc"/>
55      </storeSeq>
56    </msg>
57    <msg type="&WM_LBUTTONUP;">
58      <equals>
59        <paramValue obj="this" param="window.hwnd"/>
60        <paramValue obj="clicked" param="window.hwnd"/>
61      </equals>
62    </msg>
63    <genMsg delay="100">
64      <type>
65        <constValue value="&WM_SETFOCUS;"/>
66      </type>
67      <target>
68        <msgInfoValue obj="clicked" msgParam="target"/>
69      </target>
70    </genMsg>
71    <genMsg delay="100">
72      <type>
73        <constValue value="&CB_SHOWDROPDOWN;"/>
74      </type>
75      <target>
76        <msgInfoValue obj="clicked" msgParam="target"/>
77      </target>
78      <WPARAM>
79        <constValue value="1"/>
80      </WPARAM>
81    </genMsg>
82    <!--
83    <genMsg delay="100">
84      <type>
85        <constValue value="273"/>
86      </type>
87      <target>
88        <msgInfoValue obj="cmd1" msgParam="target"/>
89      </target>
90      <LPARAM>
91        <paramValue obj="cmd1" param="sourceDesc"/>
92      </LPARAM>
93      <WPARAM>
94        <paramValue obj="cmd1" param="WPARAM"/>
95      </WPARAM>
96    </genMsg>
97    <genMsgSeq delay="50">
98      <type>
99        <constValue value="273"/>
100      </type>
101      <target>
102        <seqValue seqObj="cmds" param="msgTarget"/>
103      </target>
104      <LPARAM>
105        <seqValue seqObj="cmds" param ="sourceDesc"/>
106      </LPARAM>
107      <WPARAM>
108        <seqValue seqObj="cmds" param="WPARAM"/>
109      </WPARAM>
110    </genMsgSeq>-->
111  </rule>
112 
113  <rule name="LeftClickCommand">
114    <msg type="&WM_LBUTTONDOWN;">
115      <store var="clicked"/>
116    </msg>
117    <msg type="&WM_LBUTTONUP;">
118      <equals>
119        <paramValue obj="clicked" param="window.hwnd"/>
120        <paramValue obj="this" param="window.hwnd"/>
121      </equals>
122    </msg>
123    <msg type="&WM_COMMAND;">
124      <equals>
125        <paramValue obj="clicked" param="window.hwnd"/>
126        <paramValue obj="this" param="source"/>
127      </equals>
128      <store var="cmd">
129        <resolveHwnd param="source" storeParam="sourceDesc"/>
130      </store>
131    </msg>
132    <genMsg delay="100">
133      <type>
134        <msgInfoValue obj="cmd" msgParam="type"/>
135      </type>
136      <target>
137        <msgInfoValue obj="cmd" msgParam="target"/>
138      </target>
139      <LPARAM>
140        <paramValue obj="cmd" param="sourceDesc"/>
141      </LPARAM>
142      <WPARAM>
143        <paramValue obj="cmd" param="WPARAM"/>
144      </WPARAM>
145    </genMsg>
146  </rule>
147
148  <rule name="LeftClickSysCommand">
149    <msg type="&WM_LBUTTONDOWN;">
150      <store var="clicked"/>
151    </msg>
152    <msg type="&WM_LBUTTONUP;">
153      <equals>
154        <paramValue obj="clicked" param="window.hwnd"/>
155        <paramValue obj="this" param="window.hwnd"/>
156      </equals>
157    </msg>
158    <msg type="&WM_SYSCOMMAND;">
159      <store var="cmd"/>
160    </msg>
161    <genMsg delay="100">
162      <storedVar obj="cmd"/>
163    </genMsg>
164  </rule>
165
166  <rule name="NCLeftClickSysCommand">
167    <msg type="&WM_NCLBUTTONDOWN;">
168      <store var="clicked"/>
169    </msg>
170    <msg type="&WM_LBUTTONUP;">
171      <equals>
172        <paramValue obj="clicked" param="window.hwnd"/>
173        <paramValue obj="this" param="window.hwnd"/>
174      </equals>
175    </msg>
176    <msg type="&WM_SYSCOMMAND;">
177      <equals>
178        <paramValue obj="clicked" param="window.hwnd"/>
179        <paramValue obj="this" param="window.hwnd"/>
180      </equals>
181      <store var="cmd"/>
182    </msg>
183    <genMsg delay="100">
184      <storedVar obj="cmd"/>
185    </genMsg>
186  </rule>
187
188  <rule name="LeftClickMenuItemCmd">
189    <msg type="&WM_LBUTTONDOWN;">
190      <store var="clicked"/>
191    </msg>
192    <msg type="&WM_LBUTTONUP;">
193      <equals>
194        <paramValue obj="clicked" param="window.hwnd"/>
195        <paramValue obj="this" param="window.hwnd"/>
196      </equals>
197    </msg>
198    <msg type="&WM_MENUSELECT;">
199      <equals>
200        <paramValue obj="clicked" param="window.hwnd"/>
201        <paramValue obj="this" param="window.hwnd"/>
202      </equals>
203    </msg>
204    <msg type="&WM_COMMAND;">
205      <equals>
206        <paramValue obj="this" param="sourceType"/>
207        <constValue value="0"/>
208      </equals>
209      <store var="cmd"/>
210    </msg>
211    <genMsg delay="100">
212      <storedVar obj="cmd"/>
213    </genMsg>
214  </rule>
215
216 
217  <!-- rules involving mouse movement -->
218  <rule name="HScroll">
219    <msg type="&WM_LBUTTONDOWN;">
220      <store var="clicked"/>
221    </msg>
222    <msg type="&WM_HSCROLL;" multiple="true">
223      <equals>
224        <paramValue obj="this" param="scrollBarHandle"/>
225        <paramValue obj="clicked" param="window.hwnd"/>
226      </equals>
227      <storeSeq varSeq="scrolls">
228        <resolveHwnd param="scrollBarHandle" storeParam="scrollBarTarget"/>
229      </storeSeq>
230    </msg>
231    <msg type="&WM_LBUTTONUP;">
232      <equals>
233        <paramValue obj="clicked" param="window.hwnd"/>
234        <paramValue obj="clicked" param="window.hwnd"/>
235      </equals>
236    </msg>
237    <genMsgSeq delay="20">
238      <type>
239        <constValue value="&TBM_SETPOS;"/>
240      </type>
241      <target>
242        <seqValue seqObj="scrolls" param="scrollBarTarget"/>
243      </target>
244      <LPARAM>
245        <constValue value="1"/>
246      </LPARAM>
247      <WPARAM>
248        <seqValue seqObj="scrolls" param="scrollPos"/>
249      </WPARAM>
250    </genMsgSeq>
251  </rule>
252 
253  <!-- if nothing else, at least switch focus, works only partially -->
254  <rule name="LeftClickChangeFocus">
255    <msg type="&WM_LBUTTONDOWN;">
256      <equals>
257        <winInfoValue obj="this" winParam="class"/>
258        <constValue value="Edit"/>
259      </equals>
260      <store var="clicked"/>
261    </msg>
262    <msg type="&WM_KILLFOCUS;">
263      <store var="killfocus"/>
264    </msg>
265    <msg type="&WM_SETFOCUS;">
266      <equals>
267        <paramValue obj="this" param="WPARAM"/>
268        <paramValue obj="killfocus" param="window.hwnd"/>
269      </equals>
270      <store var="setfocus"/>
271    </msg>
272    <msg type="&WM_COMMAND;">
273      <equals>
274        <paramValue obj="this" param="source"/>
275        <paramValue obj="clicked" param="window.hwnd"/>
276      </equals>
277      <equals>
278        <paramValue obj="this" param="sourceType"/>
279        <constValue value="256"/>
280      </equals>
281      <store var="cmd"/>
282    </msg>
283    <msg type="&WM_LBUTTONUP;">
284      <equals>
285        <paramValue obj="this" param="window.hwnd"/>
286        <paramValue obj="clicked" param="window.hwnd"/>
287      </equals>
288    </msg>
289    <genMsg delay="20">
290      <type>
291        <constValue value="&WM_KILLFOCUS;"/>
292      </type>
293      <target>
294        <msgInfoValue obj="killfocus" msgParam="target"/>
295      </target>
296      <WPARAM>
297        <msgInfoValue obj="setfocus" msgParam="target"/>
298      </WPARAM>
299    </genMsg>
300    <genMsg delay="20">
301      <type>
302        <constValue value="&WM_SETFOCUS;"/>
303      </type>
304      <target>
305        <msgInfoValue obj="setfocus" msgParam="target"/>
306      </target>
307      <WPARAM>
308        <msgInfoValue obj="killfocus" msgParam="target"/>
309      </WPARAM>
310    </genMsg>
311    <genMsg delay="100">
312      <type>
313        <constValue value="&WM_COMMAND;"/>
314      </type>
315      <target>
316        <msgInfoValue obj="cmd" msgParam="target"/>
317      </target>
318      <LPARAM>
319        <msgInfoValue obj="setfocus" msgParam="target"/>
320      </LPARAM>
321      <WPARAM>
322        <paramValue obj="cmd" param="WPARAM"/>
323      </WPARAM>
324    </genMsg>
325  </rule>
326
327
328  <!-- rules regarding keyboard input -->
329  <!-- <rule name="KeyPressed">
330    <msg type="&WM_KEYDOWN;">
331      <store var="keydown"/>
332    </msg>
333    <msg type="&WM_KEYUP;">
334      <store var="keyup"/>
335    </msg>
336    <genMsg delay="20">
337      <storedVar obj="keydown"/>
338    </genMsg>
339    <genMsg delay="100">
340      <storedVar obj="keyup"/>
341    </genMsg>
342    <idinfo>
343      <paramValue obj="keydown" param="key"/>
344    </idinfo>
345  </rule>
346
347  <rule name="SysKeyPressed">
348    <msg type="&WM_SYSKEYDOWN;">
349      <store var="keydown"/>
350    </msg>
351    <msg type="&WM_SYSKEYUP;">
352      <store var="keyup"/>
353    </msg>
354    <genMsg delay="20">
355      <storedVar obj="keydown"/>
356    </genMsg>
357    <genMsg delay="100">
358      <storedVar obj="keyup"/>
359    </genMsg>
360    <idinfo>
361      <paramValue obj="keydown" param="key"/>
362    </idinfo>
363  </rule> -->
364 
365  <!-- Alternate rules -->
366  <rule name="KeyDown">
367    <msg type="&WM_KEYDOWN;">
368      <store var="keydown"/>
369    </msg>
370    <genMsg delay="20">
371      <storedVar obj="keydown"/>
372    </genMsg>
373    <idinfo>
374      <paramValue obj="keydown" param="key"/>
375    </idinfo>
376  </rule>
377
378  <rule name="KeyUp">
379    <msg type="&WM_KEYUP;">
380      <store var="keyup"/>
381    </msg>
382    <genMsg delay="20">
383      <storedVar obj="keyup"/>
384    </genMsg>
385    <idinfo>
386      <paramValue obj="keyup" param="key"/>
387    </idinfo>
388  </rule>
389
390  <rule name="SysKeyDown">
391    <msg type="&WM_SYSKEYDOWN;">
392      <store var="keydown"/>
393    </msg>
394    <genMsg delay="20">
395      <storedVar obj="keydown"/>
396    </genMsg>
397    <idinfo>
398      <paramValue obj="keydown" param="key"/>
399    </idinfo>
400  </rule>
401
402  <rule name="SysKeyUp">
403    <msg type="&WM_SYSKEYUP;">
404      <store var="keyup"/>
405    </msg>
406    <genMsg delay="20">
407      <storedVar obj="keyup"/>
408    </genMsg>
409    <idinfo>
410      <paramValue obj="keyup" param="key"/>
411    </idinfo>
412  </rule>
413
414</rules>
Note: See TracBrowser for help on using the repository browser.