Default Handlers
================
In addition to console-specific clients, `gpm' allows for
console-independent clients - those clients which handle events ignored
by conventional clients
Keyboard modifiers are used to multiplex the different clients on the
same console, and a default handler should specify a non-zero minimum
modifier set.
To summarize, events which get to the server can be delivered to the
following _clients_, in the order of decreasing priority:
1. The current client for the current console, if any.
2. The default handler, if any.
3. The builtin `selection' mechanism.
A keyboard modifier which connected with a `minMod' equal to the
"Control" modifier and a `maxMod' of `~0' (all bits on), will then get
any event including the control key, if the application disregards it.
This means that if the foreground application gets only the "Meta"
key, control-mouse is sufficient to invoke the default handler. If the
application gets control-mouse but disregards "Meta", conversely,
meta-control-mouse will invoke the default handler, and meta-mouse will
be delivered to selection.
Both the `minMod' and `maxMod' fields are bitmasks, and their values
are bitwise or-ed and and-ed with the current modifier mask.
`gpm-root' is an example of default handler. It gets control-mouse
events by default, and reads user-specific configuration files in order
to draw menus on the background of your screen. Note:gpm-root.