2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
9 /*****************************************************************************
11 The description string for ParseIX
13 Any commodity filter object has an IX structure attached to it to be able
14 to sort out the input events matching a certain description to divert them
15 down the tree of objects attached to the filter. For convenience purposes
16 there is the function ParseIX() that transforms a description string into
19 The format of the description string is as follows:
21 [class] {[-] (qualifier|synonym)} [[-] upstroke] [HighMap|ANSICode]
23 "class" specifies the input event class (see devices/inputevent.h), which
24 may be any of the following:
26 Description word Input event class
27 -------------------- ---------------------
28 "rawkey" IECLASS_RAWKEY
29 "rawmouse" IECLASS_RAWMOUSE
31 "pointerpos" IECLASS_POINTERPOS
33 "newprefs" IECLASS_NEWPREFS
34 "diskremoved" IECLASS_DISKREMOVED
35 "diskinserted" IECLASS_DISKINSERTED
37 If no class is given in the description string, it's assumed to be of
40 "qualifier" may be any of those defined below; each qualifier string has a
41 correspondance in an input event qualifier:
43 Qualifier string Input event qualifier
44 -------------------- ---------------------
45 "lshift" IEQUALIFIER_LSHIFT
46 "rshift" IEQUALIFIER_RSHIFT
47 "capslock" IEQUALIFIER_CAPSLOCK
48 "control" IEQUALIFIER_CONTROL
49 "lalt" IEQUALIFIER_LALT
50 "ralt" IEQUALIFIER_RALT
51 "lcommand" IEQUALIFIER_LCOMMAND
52 "rcommand" IEQUALIFIER_RCOMMAND
53 "numericpad" IEQUALIFIER_NUMERICPAD
54 "repeat" IEQUALIFIER_REPEAT
55 "midbutton" IEQUALIFIER_MIDBUTTON
56 "rbutton" IEQUALIFIER_RBUTTON
57 "leftbutton" IEQUALIFIER_LEFTBUTTON
58 "relativemouse" IEQUALIFIER_RELATIVEMOUSE
60 If the qualifier is preceded by a '-', the filter won't care whether the
61 qualifier is present in the event or not.
64 Possible synonyms are:
66 Synonym string Synonym identifier
67 ------------------- -----------------------
68 "shift" IXSYM_SHIFT /* either shift key */
69 "caps" IXSYM_CAPS /* either shift key or capslock */
70 "alt" IXSYM_ALT /* either alt key */
72 The synonyms specifies multiple qualifiers with one string. If a synonym
73 string is preceded by a '-', the filter won't care if the synonym is present
77 Upstroke is the string "upstroke" and if it's not specified only downstrokes
78 are considered; if it's specified, the filter considers only upstrokes, and
79 if the '-' is present both upstrokes and downstrokes are considered.
82 Highmap is one of strings below:
84 "space", "backspace", "tab", "enter", "return", "esc",
85 "del", "help", "up", "down", "right", "left",
86 "f1", "f2", "f3","f4", "f5", "f6", "f7", "f8", "f9", "f10"
88 INTERNAL NOTE: There are actually a few more, see Parse.h
90 ANSICode is a single character that is processed via the system keymap
91 to obtain the code. Note that if locale.library is loaded, the result
92 may be different code values for the same input on different computers.
94 Note that all description strings are case insensitive.