The `mev' program is part of the gpm package. The information below is extracted from the texinfo file,
which is the preferred source of information.
The `mev' program is modeled after `xev'. It prints to `stdout' the mouse console events it gets.
`mev''s default behaviour is to get anything, but command line switches can be used to set the various
fields in the `Gpm_Connect' structure, in order to customize the program's behaviour. I'm using `mev' to
handle mouse events to Emacs.
Command line switches for `mev' are the following:
-C number
Select a virtual console to get events from. This is intended to be used for debugging.
-d number
Choose a default mask. By default the server gets any events not belonging to the event mask. The
mask can be provided either as a decimal number, or as a symbolic string.
-e number
Choose the event mask. By default any event is received. The mask can be provided either as a
decimal number, or as a symbolic string.
-E Enter emacs mode. In emacs mode events are reported as lisp forms rather than numbers. This is the
format used by the t-mouse package within emacs.
-f Fit events inside the screen before reporting them. This options re-fits drag events, which are
allowed to exit the screen border,
-i Interactive. Accepts input from `stdin' to change connection parameters.
-m number
Choose the minimum modifier mask. Any event with fewer modifiers will not be reported to `mev'. It
defaults to `0'. The mask must be provided either as a decimal number, or as a symbolic string.
-M number
Choose the maximum modifier mask. Any event with more modifier than specified will not be reported
to `mev'. It defaults to ` ~0', i.e. all events are received. The mask must be provided either
as a decimal number, or as a symbolic string.
-p Requests to draw the pointer during drags. This option is used by emacs to avoid invoking
`ioctl()' from lisp code.
When the arguments are not decimal integers, they are considered lists of alphanumeric characters,
separated by a single non-alphanumeric character. I use the comma (`,'), but any will do.
Allowed names for events are `move', `drag', `down' or `press', `up' or `release', `motion' (which is
both `move' and `drag'), and `hard'.
Allowed names for modifiers are `shift', `leftAlt', `rightAlt', `anyAlt' (one or the other), `control'.
When the `-i' switch is specified, `mev' looks at its standard input as command lines rather than events.
The input lines are parsed, and the commands `push' and `pop' are recognized.
The `push' command, then, accepts the options `-d', `-e', `-m' and `-M', with the same meaning described
above. Unspecified options retain the previous value and the resulting masks are used to reopen the
connection with the server. `pop' is used to pop the connection stack. If an empty stack is popped the
program exits.
Other commands recognized are `info', used to return the stack depth; `quit' to prematurely terminate the
program; and `snapshot' to get some configuration information from the server.