Provided by: libmotif-dev_2.3.8-4_amd64 bug

NAME

       VirtualBindings  —  Bindings  for  virtual mouse and key events "VirtualBindings" "default
       bindings" "VirtualBindings"

DESCRIPTION

       The Motif reference pages describe key translations in terms of virtual bindings, based on
       those described in the Motif Style Guide.

   Bindings for osf Keysyms
       Keysym  strings  that  begin  with  <osf> are not part of the X server's keyboard mapping.
       Instead, these keysyms are produced on the client side at run time.  They are  interpreted
       by  the  routine  XmTranslateKey,  and are used by the translation manager when the server
       delivers an actual key event.  For each application, a mapping is maintained between <osf>
       keysyms  and keysyms that correspond to actual keys.  This mapping is based on information
       obtained at application startup from one of the following  sources,  listed  in  order  of
       precedence:

          •  The XmNdefaultVirtualBindings resource from Display.

          •  A  property on the root window, which can be set by mwm on startup, or by the xmbind
             client, or on prior startup of a Motif application.

          •  The file .motifbind in the user's home directory.

          •  A set of bindings based on the vendor string and optionally the  vendor  release  of
             the X server.  Motif searches for these bindings in the following steps:

                0. If  the  file xmbind.alias exists in the user's home directory, Motif searches
                   this file for a pathname associated with the vendor string or with the  vendor
                   string  and  vendor  release.   If  it  finds such a pathname and if that file
                   exists, Motif loads the bindings contained in that file.

                1. If it has found no bindings, Motif next looks for the file xmbind.alias in the
                   directory  specified  by  the  environment variable XMBINDDIR, if XMBINDDIR is
                   set, or in the directory /usr/lib/Xm/bindings if XMBINDDIR  is  not  set.   If
                   this  file  exists Motif searches it for a pathname associated with the vendor
                   string or with the vendor string and vendor  release.   If  it  finds  such  a
                   pathname  and  if that file exists, Motif loads the bindings contained in that
                   file.

                2. If it still has found no bindings, Motif loads a set  of  hard-coded  fallback
                   bindings.

       The xmbind.alias file contains zero or more lines of the following form:

       "vendor_string[ vendor_release]"    bindings_file

       where  vendor_string  is  the X server vendor name as returned by the X client xdpyinfo or
       the Xlib function XServerVendor, and must appear in double quotes.  If  vendor_release  is
       included, it is the X server vendor release number as returned by the X client xdpyinfo or
       the Xlib function XVendorRelease, and must also be  contained  within  the  double  quotes
       separated  by  one  space  from vendor_string.  The vendor_release argument is provided to
       allow support of changes in keyboard hardware from a  vendor,  assuming  that  the  vendor
       increments  the release number to flag such changes.  Alternatively, the vendor may simply
       use a unique vendor string for each different keyboard.

       The bindings_file argument is the pathname of the file containing the bindings themselves.
       It  can  be  a  relative  or  absolute  pathname.   If it it is a relative pathname, it is
       relative to the location of the xmbind.alias file.

       Comment lines in the xmbind.alias file begin with ! (exclamation point).

       The bindings found in either the .motifbind file or the vendor mapping  are  placed  in  a
       property  on  the  root  window.   This  property  is  used  to determine the bindings for
       subsequent Motif applications.

       On startup mwm attempts to load the file .motifbind in the user's home directory.  If this
       is  unsuccessful,  it  loads  the  vendor bindings as described previously.  It places the
       bindings it loads  in  a  property  on  the  root  window  for  use  by  subsequent  Motif
       applications.

       The  xmbind  function  loads bindings from a file if that file is specified on the command
       line.  If no file is specified  on  the  command  line,  it  attempts  to  load  the  file
       .motifbind  in  the user's home directory.  If this fails, it loads the vendor bindings as
       described previously.  It places the bindings it loads in a property on  the  root  window
       for use by subsequent Motif applications.

       The  format of the specification for mapping <osf> keysyms to actual keysyms is similar to
       that of a specification for an event translation. (See below) The syntax is specified (and
       below) here in EBNF notation using the following conventions:

       [a]    Means either nothing or a
       {a}    Means zero or more occurrences of a
       (a|b)    Means either a or b.

       Terminals are enclosed in double quotation marks.

       The syntax of an <osf> keysym binding specification is as follows:

       binding_spec    =       {line "\n"} [line]
       line            =       virtual_keysym ":" list_of_key_event
       list_of_key_event=      key_event { "," key_event}
       key_event       =       {modifier_name} "<Key>" actual_keysym
       virtual_keysym  =       keysym
       actual_keysym   =       keysym
       keysym          =       A valid X11 keysym name that is
                               mapped by XStringToKeysym

       As  with  event  translations, more specific event descriptions must precede less specific
       descriptions.  For example, an event description for a key with a modifier must precede  a
       description for the same key without the same modifier.

       Following  is  an  example of a specification for the defaultVirtualBindings resource in a
       resource file:

       *defaultVirtualBindings: \
               osfBackSpace:       <Key>BackSpace       \n\
               osfInsert:       <Key>InsertChar      \n\
               osfDelete:       <Key>DeleteChar      \n\
       ...
               osfLeft:       <Key>left, Ctrl<Key>H

       The format of a .motifbind file or of a file  containing  vendor  bindings  is  the  same,
       except  that  the binding specification for each keysym is placed on a separate line.  The
       previous example specification appears as follows in a .motifbind or vendor bindings file:

       osfBackSpace:       <Key>BackSpace
       osfInsert:       <Key>InsertChar
       osfDelete:       <Key>DeleteChar
       ...
       osfLeft:       <Key>left, Ctrl<Key>H

       The following table lists the fixed fallback default bindings for <osf> keysyms.

       ┌─────────────────────────────────────────────────────────┐
--

RELATED

       xmbind(1)

                                                                               VirtualBindings(3)