summaryrefslogtreecommitdiff
path: root/specs/appB
diff options
context:
space:
mode:
Diffstat (limited to 'specs/appB')
-rw-r--r--specs/appB783
1 files changed, 0 insertions, 783 deletions
diff --git a/specs/appB b/specs/appB
deleted file mode 100644
index 0a0b517..0000000
--- a/specs/appB
+++ /dev/null
@@ -1,783 +0,0 @@
-.\" $Xorg: appB,v 1.3 2000/08/17 19:42:48 cpqbld Exp $
-.\" Copyright \(co 1985, 1986, 1987, 1988, 1991, 1994
-.\" X Consortium
-.\"
-.\" Permission is hereby granted, free of charge, to any person obtaining
-.\" a copy of this software and associated documentation files (the
-.\" "Software"), to deal in the Software without restriction, including
-.\" without limitation the rights to use, copy, modify, merge, publish,
-.\" distribute, sublicense, and/or sell copies of the Software, and to
-.\" permit persons to whom the Software is furnished to do so, subject to
-.\" the following conditions:
-.\"
-.\" The above copyright notice and this permission notice shall be included
-.\" in all copies or substantial portions of the Software.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
-.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-.\" OTHER DEALINGS IN THE SOFTWARE.
-.\"
-.\" Except as contained in this notice, the name of the X Consortium shall
-.\" not be used in advertising or otherwise to promote the sale, use or
-.\" other dealings in this Software without prior written authorization
-.\" from the X Consortium.
-.\"
-.\" Copyright \(co 1985, 1986, 1987, 1988, 1991, 1994
-.\" Digital Equipment Corporation, Maynard, Massachusetts.
-.\"
-.\" Permission to use, copy, modify and distribute this documentation for any
-.\" purpose and without fee is hereby granted, provided that the above copyright
-.\" notice appears in all copies and that both that copyright notice and this
-.\" permission notice appear in supporting documentation, and that the name of
-.\" Digital not be used in in advertising or publicity pertaining
-.\" to distribution of the software without specific, written prior permission.
-.\" Digital makes no representations about the suitability of the
-.\" software described herein for any purpose.
-.\" It is provided ``as is'' without express or implied warranty.
-.\"
-.bp
-\&
-.sp 1
-.ce 3
-\s+1\fBAppendix B\fP\s-1
-
-\s+1\fBTranslation Table Syntax\fP\s-1
-.sp 2
-.LP
-.XS
-\fBAppendix B \(em Translation Table Syntax\fP
-.XE
-.IN "Translation tables"
-.SH
-Notation
-.LP
-Syntax is specified in EBNF notation with the following conventions:
-.TS
-l l.
-[ a ] Means either nothing or ``a''
-{ a } Means zero or more occurrences of ``a''
-( a | b ) Means either ``a'' or ``b''
-\\\\n Is the newline character
-.TE
-.LP
-All terminals are enclosed in double quotation marks (`` '').
-Informal descriptions are enclosed in angle brackets (< >).
-.SH
-Syntax
-.LP
-The syntax of a translation table is
-.TS
-l l .
-translationTable = [ directive ] { production }
-directive = ( ``#replace'' | ``#override'' | ``#augment'' ) ``\\\\n''
-production = lhs ``:'' rhs ``\\\\n''
-lhs = ( event | keyseq ) { ``,'' (event | keyseq) }
-keyseq = ``"'' keychar {keychar} ``"''
-keychar = [ ``^'' | ``$'' | ``\\\\'' ] <ISO Latin 1 character>
-event = [modifier_list] ``<''event_type``>'' [ ``('' count[``+''] ``)'' ] {detail}
-modifier_list = ( [``!''] [``:''] {modifier} ) | ``None''
-modifier = [``~''] modifier_name
-count = (``1'' | ``2'' | ``3'' | ``4'' | ...)
-modifier_name = ``@'' <keysym> | <see ModifierNames table below>
-event_type = <see Event Types table below>
-detail = <event specific details>
-rhs = { name ``('' [params] ``)'' }
-name = namechar { namechar }
-namechar = { ``a''-``z'' | ``A''-``Z'' | ``0''-``9'' | ``_'' | ``-'' }
-params = string {``,'' string}
-string = quoted_string | unquoted_string
-quoted_string = ``"'' {<Latin 1 character> | escape_char} [``\\\\\\\\'' ] ``"''
-escape_char = ``\\\\"''
-unquoted_string = {<Latin 1 character except space, tab, ``,'', ``\\\\n'', ``)''>}
-.TE
-
-.LP
-The \fIparams\fP field is parsed into a list of
-.PN String
-values that will be passed to the named action procedure. A
-\fIquoted string\fP may contain an embedded quotation mark if the
-quotation mark is preceded by a single backslash (\\). The
-three-character sequence ``\\\\"'' is interpreted as ``single backslash
-followed by end-of-string''.
-
-.SH
-Modifier Names
-.LP
-The modifier field is used to specify standard X keyboard and button
-modifier mask bits.
-Modifiers are legal on event types
-.PN KeyPress ,
-.PN KeyRelease ,
-.PN ButtonPress ,
-.PN ButtonRelease ,
-.PN MotionNotify ,
-.PN EnterNotify ,
-.PN LeaveNotify ,
-and their abbreviations.
-An error is generated when a translation table
-that contains modifiers for any other events is parsed.
-.IP \(bu 5
-If the modifier list has no entries and is not ``None'',
-it means ``don't care'' on all modifiers.
-.IP \(bu 5
-If an exclamation point (!) is specified at the beginning
-of the modifier list,
-it means that the listed modifiers must be in the correct state
-and no other modifiers can be asserted.
-.IP \(bu 5
-If any modifiers are specified
-and an exclamation point (!) is not specified,
-it means that the listed modifiers must be in the
-correct state and ``don't care'' about any other modifiers.
-.IP \(bu 5
-If a modifier is preceded by a tilde (~),
-it means that that modifier must not be asserted.
-.IP \(bu 5
-If ``None'' is specified, it means no modifiers can be asserted.
-.IP \(bu 5
-If a colon (:) is specified at the beginning of the modifier list,
-it directs the \*(xI to apply any standard modifiers in the
-event to map the event keycode into a KeySym.
-The default standard modifiers are Shift and Lock,
-with the interpretation as defined in \fI\*(xP\fP, Section 5.
-The resulting KeySym must exactly match the specified
-KeySym, and the nonstandard modifiers in the event must match the
-modifier list.
-For example, ``:<Key>a'' is distinct from ``:<Key>A'',
-and ``:Shift<Key>A'' is distinct from ``:<Key>A''.
-.IP \(bu 5
-If both an exclamation point (!) and a colon (:) are specified at
-the beginning of the modifier list, it means that the listed
-modifiers must be in the correct state and that no other modifiers
-except the standard modifiers can be asserted. Any standard
-modifiers in the event are applied as for colon (:) above.
-.IP \(bu 5
-If a colon (:) is not specified,
-no standard modifiers are applied.
-Then, for example, ``<Key>A'' and ``<Key>a'' are equivalent.
-.LP
-In key sequences,
-a circumflex (^) is an abbreviation for the Control modifier,
-a dollar sign ($) is an abbreviation for Meta,
-and a backslash (\\) can be used to quote any
-character, in particular a double quote ("), a circumflex (^),
-a dollar sign ($), and another backslash (\\).
-Briefly:
-.LP
-.Ds 0
-.TA 2.5i
-.ta 2.5i
-No modifiers: None <event> detail
-Any modifiers: <event> detail
-Only these modifiers: ! mod1 mod2 <event> detail
-These modifiers and any others: mod1 mod2 <event> detail
-.De
-.LP
-The use of ``None'' for a modifier list is identical to the use
-of an exclamation point with no modifers.
-.LP
-.TS H
-lw(1i) lw(1i) lw(3i).
-_
-.sp 6p
-Modifier Abbreviation Meaning
-.sp 6p
-_
-.sp 6p
-.R
-.TH
-Ctrl c Control modifier bit
-Shift s Shift modifier bit
-Lock l Lock modifier bit
-Meta m Meta key modifier
-Hyper h Hyper key modifier
-Super su Super key modifier
-Alt a Alt key modifier
-Mod1 Mod1 modifier bit
-Mod2 Mod2 modifier bit
-Mod3 Mod3 modifier bit
-Mod4 Mod4 modifier bit
-Mod5 Mod5 modifier bit
-Button1 Button1 modifier bit
-Button2 Button2 modifier bit
-Button3 Button3 modifier bit
-Button4 Button4 modifier bit
-Button5 Button5 modifier bit
-None No modifiers
-Any Any modifier combination
-.sp 6p
-_
-.TE
-.LP
-.IN "key modifier"
-A key modifier is any modifier bit one of whose corresponding KeyCodes
-contains the corresponding left or right KeySym.
-For example,
-``m'' or ``Meta'' means any modifier bit mapping to a KeyCode
-whose KeySym list contains XK_Meta_L or XK_Meta_R.
-Note that this interpretation is for each display,
-not global or even for each application context.
-The Control, Shift, and Lock modifier names refer
-explicitly to the corresponding modifier bits;
-there is no additional interpretation of KeySyms for these modifiers.
-.LP
-Because it is possible to associate arbitrary KeySyms with modifiers, the set of
-key modifiers is extensible. The ``@'' <keysym> syntax means any
-modifier bit whose corresponding KeyCode contains the specified KeySym name.
-.LP
-A modifier_list/KeySym combination in a translation matches a
-modifiers/KeyCode combination in an event in the following ways:
-.IP 1. 5
-If a colon (:) is used, the \*(xI call the display's
-.PN XtKeyProc
-with the KeyCode and modifiers.
-To match, (\fImodifiers\fP & ~\fImodifiers_return\fP) must equal \fImodifier_list\fP, and
-\fIkeysym_return\fP must equal the given KeySym.
-.IP 2. 5
-If (:) is not used, the \*(xI mask off all don't-care bits from the
-modifiers.
-This value must be equal to \fImodifier_list\fP.
-Then, for each possible combination of
-don't-care modifiers in the modifier list, the \*(xI call the display's
-.PN XtKeyProc
-with the KeyCode and that combination ORed with the cared-about modifier bits
-from the event.
-\fIKeysym_return\fP must match the KeySym in the translation.
-.SH
-Event Types
-.LP
-The event-type field describes XEvent types.
-In addition to the standard
-Xlib symbolic event type names, the following event type synonyms
-are defined:
-.TS H
-lw(1.5i) lw(3i).
-_
-.sp 6p
-Type Meaning
-.sp 6p
-_
-.sp 6p
-.TH
-Key T{
-.PN KeyPress
-T}
-KeyDown T{
-.PN KeyPress
-T}
-KeyUp T{
-.PN KeyRelease
-T}
-BtnDown T{
-.PN ButtonPress
-T}
-BtnUp T{
-.PN ButtonRelease
-T}
-Motion T{
-.PN MotionNotify
-T}
-PtrMoved T{
-.PN MotionNotify
-T}
-MouseMoved T{
-.PN MotionNotify
-T}
-Enter T{
-.PN EnterNotify
-T}
-EnterWindow T{
-.PN EnterNotify
-T}
-Leave T{
-.PN LeaveNotify
-T}
-LeaveWindow T{
-.PN LeaveNotify
-T}
-FocusIn T{
-.PN FocusIn
-T}
-FocusOut T{
-.PN FocusOut
-T}
-Keymap T{
-.PN KeymapNotify
-T}
-Expose T{
-.PN Expose
-T}
-GrExp T{
-.PN GraphicsExpose
-T}
-NoExp T{
-.PN NoExpose
-T}
-Visible T{
-.PN VisibilityNotify
-T}
-Create T{
-.PN CreateNotify
-T}
-Destroy T{
-.PN DestroyNotify
-T}
-Unmap T{
-.PN UnmapNotify
-T}
-Map T{
-.PN MapNotify
-T}
-MapReq T{
-.PN MapRequest
-T}
-Reparent T{
-.PN ReparentNotify
-T}
-Configure T{
-.PN ConfigureNotify
-T}
-ConfigureReq T{
-.PN ConfigureRequest
-T}
-Grav T{
-.PN GravityNotify
-T}
-ResReq T{
-.PN ResizeRequest
-T}
-Circ T{
-.PN CirculateNotify
-T}
-CircReq T{
-.PN CirculateRequest
-T}
-Prop T{
-.PN PropertyNotify
-T}
-SelClr T{
-.PN SelectionClear
-T}
-SelReq T{
-.PN SelectionRequest
-T}
-Select T{
-.PN SelectionNotify
-T}
-Clrmap T{
-.PN ColormapNotify
-T}
-Message T{
-.PN ClientMessage
-T}
-Mapping T{
-.PN MappingNotify
-T}
-.sp 6p
-_
-.TE
-The supported abbreviations are:
-.TS H
-lw(1.5i) lw(1.25i) lw(1.75i).
-_
-.sp 6p
-Abbreviation Event Type Including
-.sp 6p
-_
-.sp 6p
-.TH
-.R
-Ctrl T{
-.PN KeyPress
-T} with Control modifier
-Meta T{
-.PN KeyPress
-T} with Meta modifier
-Shift T{
-.PN KeyPress
-T} with Shift modifier
-Btn1Down T{
-.PN ButtonPress
-T} with Button1 detail
-Btn1Up T{
-.PN ButtonRelease
-T} with Button1 detail
-Btn2Down T{
-.PN ButtonPress
-T} with Button2 detail
-Btn2Up T{
-.PN ButtonRelease
-T} with Button2 detail
-Btn3Down T{
-.PN ButtonPress
-T} with Button3 detail
-Btn3Up T{
-.PN ButtonRelease
-T} with Button3 detail
-Btn4Down T{
-.PN ButtonPress
-T} with Button4 detail
-Btn4Up T{
-.PN ButtonRelease
-T} with Button4 detail
-Btn5Down T{
-.PN ButtonPress
-T} with Button5 detail
-Btn5Up T{
-.PN ButtonRelease
-T} with Button5 detail
-BtnMotion T{
-.PN MotionNotify
-T} with any button modifier
-Btn1Motion T{
-.PN MotionNotify
-T} with Button1 modifier
-Btn2Motion T{
-.PN MotionNotify
-T} with Button2 modifier
-Btn3Motion T{
-.PN MotionNotify
-T} with Button3 modifier
-Btn4Motion T{
-.PN MotionNotify
-T} with Button4 modifier
-Btn5Motion T{
-.PN MotionNotify
-T} with Button5 modifier
-.sp 6p
-_
-.TE
-.sp
-.LP
-The detail field is event-specific and normally corresponds to the
-detail field of the corresponding event as described
-by \fI\*(xP\fP, Section 11. The detail field is supported
-for the following event types:
-.LP
-.TS H
-l l .
-_
-.sp 6p
-Event Event Field
-.sp 6p
-_
-.TH
-.sp 6p
-KeyPress KeySym from event \fIdetail\fP (keycode)
-KeyRelease KeySym from event \fIdetail\fP (keycode)
-ButtonPress button from event \fIdetail\fP
-ButtonRelease button from event \fIdetail\fP
-MotionNotify event \fIdetail\fP
-EnterNotify event \fImode\fP
-LeaveNotify event \fImode\fP
-FocusIn event \fImode\fP
-FocusOut event \fImode\fP
-PropertyNotify \fIatom\fP
-SelectionClear \fIselection\fP
-SelectionRequest \fIselection\fP
-SelectionNotify \fIselection\fP
-ClientMessage \fItype\fP
-MappingNotify \fIrequest\fP
-.sp 6p
-_
-.TE
-.LP
-If the event type is
-.PN KeyPress
-or
-.PN KeyRelease ,
-the detail field
-specifies a KeySym name in standard format which is matched against
-the event as described above, for example, <Key>A.
-.LP
-For the
-.PN PropertyNotify ,
-.PN SelectionClear ,
-.PN SelectionRequest ,
-.PN SelectionNotify ,
-and
-.PN ClientMessage
-events the detail field is specified
-as an atom name; for example, <Message>WM_PROTOCOLS. For the
-.PN MotionNotify ,
-.PN EnterNotify ,
-.PN LeaveNotify ,
-.PN FocusIn ,
-.PN FocusOut ,
-and
-.PN MappingNotify
-events, either the symbolic constants as defined by
-\fI\*(xP\fP, Section 11,
-or the numeric values may be specified.
-.LP
-If no detail field is specified, then any value in the event detail is
-accepted as a match.
-.LP
-A KeySym can be specified as any of the standard KeySym names,
-a hexadecimal number prefixed with ``0x'' or ``0X'',
-an octal number prefixed with ``0'', or a decimal number.
-A KeySym expressed as a single digit is interpreted as the
-corresponding Latin 1 KeySym, for example, ``0'' is the KeySym XK_0.
-Other single character KeySyms are treated as literal constants from Latin 1,
-for example, ``!'' is treated as 0x21.
-Standard KeySym names are as defined in
-.Pn < X11/keysymdef.h >
-with the ``XK_'' prefix removed.
-.LP
-.SH
-Canonical Representation
-.LP
-Every translation table has a unique, canonical text representation. This
-representation is passed to a widget's
-.PN display_accelerator
-procedure to describe the accelerators installed on that widget.
-The canonical representation of a translation table is (see also
-``Syntax'')
-.TS
-l l .
-translationTable = { production }
-production = lhs ``:'' rhs ``\\\\n''
-lhs = event { ``,'' event }
-event = [modifier_list] ``<''event_type``>'' [ ``('' count[``+''] ``)'' ] {detail}
-modifier_list = [``!''] [``:''] {modifier}
-modifier = [``~''] modifier_name
-count = (``1'' | ``2'' | ``3'' | ``4'' | ...)
-modifier_name = ``@'' <keysym> | <see canonical modifier names below>
-event_type = <see canonical event types below>
-detail = <event-specific details>
-rhs = { name ``('' [params] ``)'' }
-name = namechar { namechar }
-namechar = { ``a''-``z'' | ``A''-``Z'' | ``0''-``9'' | ``_'' | ``-'' }
-params = string {``,'' string}
-string = quoted_string
-quoted_string = ``"'' {<Latin 1 character> | escape_char} [``\\\\\\\\'' ] ``"''
-escape_char = ``\\\\"''
-.TE
-.LP
-The canonical modifier names are
-.LP
-.Ds
-.TA 1i 2.5i
-.ta 1i 2.5i
-Ctrl Mod1 Button1
-Shift Mod2 Button2
-Lock Mod3 Button3
- Mod4 Button4
- Mod5 Button5
-.De
-.LP
-The canonical event types are
-.IP
-.TS
-l l.
-T{
-.PN KeyPress
-T} T{
-.PN KeyRelease
-T}
-T{
-.PN ButtonPress
-T} T{
-.PN ButtonRelease
-T}
-T{
-.PN MotionNotify
-T} T{
-.PN EnterNotify
-T}
-T{
-.PN LeaveNotify
-T} T{
-.PN FocusIn
-T}
-T{
-.PN FocusOut
-T} T{
-.PN KeymapNotify
-T}
-T{
-.PN Expose
-T} T{
-.PN GraphicsExpose,
-T}
-T{
-.PN NoExpose
-T} T{
-.PN VisibilityNotify
-T}
-T{
-.PN CreateNotify
-T} T{
-.PN DestroyNotify
-T}
-T{
-.PN UnmapNotify
-T} T{
-.PN MapNotify
-T}
-T{
-.PN MapRequest
-T} T{
-.PN ReparentNotify
-T}
-T{
-.PN ConfigureNotify
-T} T{
-.PN ConfigureRequest
-T}
-T{
-.PN GravityNotify
-T} T{
-.PN ResizeRequest
-T}
-T{
-.PN CirculateNotify
-T} T{
-.PN CirculateRequest
-T}
-T{
-.PN PropertyNotify
-T} T{
-.PN SelectionClear
-T}
-T{
-.PN SelectionRequest
-T} T{
-.PN SelectionNotify
-T}
-T{
-.PN ColormapNotify
-T} T{
-.PN ClientMessage
-T}
-.TE
-.LP
-
-.SH
-Examples
-.LP
-.IP \(bu 5
-Always put more specific events in the table before more general ones:
-.LP
-.Ds
-Shift <Btn1Down> : twas()\\n\\
-<Btn1Down> : brillig()
-.De
-.LP
-.IP \(bu 5
-For double-click on Button1 Up with Shift, use this specification:
-.IP
-.Ds
-Shift<Btn1Up>(2) : and()
-.DE
-.IP
-This is equivalent to the following line with appropriate timers set
-between events:
-.IP
-.Ds
-Shift<Btn1Down>,Shift<Btn1Up>,Shift<Btn1Down>,Shift<Btn1Up> : and()
-.De
-.IP \(bu 5
-For double-click on Button1 Down with Shift, use this specification:
-.IP
-.Ds
-Shift<Btn1Down>(2) : the()
-.De
-.IP
-This is equivalent to the following line with appropriate timers set
-between events:
-.IP
-.Ds
-Shift<Btn1Down>,Shift<Btn1Up>,Shift<Btn1Down> : the()
-.De
-.IP \(bu 5
-Mouse motion is always discarded when it occurs between events in a table
-where no motion event is specified:
-.IP
-.Ds
-<Btn1Down>,<Btn1Up> : slithy()
-.De
-.IP
-This is taken, even if the pointer moves a bit between the down and
-up events.
-Similarly, any motion event specified in a translation matches any number
-of motion events.
-If the motion event causes an action procedure to be invoked,
-the procedure is invoked after each motion event.
-.IP \(bu 5
-If an event sequence consists of a sequence of events that is also a
-noninitial subsequence of another translation,
-it is not taken if it occurs in the context of the longer sequence.
-This occurs mostly in sequences like the following:
-.IP
-.Ds
-<Btn1Down>,<Btn1Up> : toves()\\n\\
-<Btn1Up> : did()
-.De
-.IP
-The second translation is taken only if the button release is not
-preceded by a button press or if there are intervening events between the
-press and the release.
-Be particularly aware of this when using the repeat notation, above,
-with buttons and keys,
-because their expansion includes additional events;
-and when specifying motion events, because they are implicitly included
-between any two other events.
-In particular,
-pointer motion and double-click translations cannot coexist in the same
-translation table.
-.IP \(bu 5
-For single click on Button1 Up with Shift and Meta, use this specification:
-.IP
-.Ds
-Shift Meta <Btn1Down>, Shift Meta<Btn1Up>: gyre()
-.De
-.IP \(bu 5
-For multiple clicks greater or equal to a minimum number,
-a plus sign (+) may be appended to the final (rightmost)
-count in an event sequence. The actions will be invoked
-on the \fIcount\fP-th click and each subsequent one arriving
-within the multi-click time interval. For example:
-.IP
-.Ds
-Shift <Btn1Up>(2+) : and()
-.De
-.IP \(bu 5
-To indicate
-.PN EnterNotify
-with any modifiers, use this specification:
-.IP
-.Ds
-<Enter> : gimble()
-.De
-.IP \(bu 5
-To indicate
-.PN EnterNotify
-with no modifiers, use this specification:
-.IP
-.Ds
-None <Enter> : in()
-.De
-.IP \(bu 5
-To indicate
-.PN EnterNotify
-with Button1 Down and Button2 Up and ``don't care'' about
-the other modifiers, use this specification:
-.IP
-.Ds
-Button1 ~Button2 <Enter> : the()
-.De
-.IP \(bu 5
-To indicate
-.PN EnterNotify
-with Button1 down and Button2 down exclusively, use this specification:
-.IP
-.Ds
-! Button1 Button2 <Enter> : wabe()
-.De
-.IP
-You do not need to use a tilde (~) with an exclamation point (!).