XKBCOMP(1) X Version 11 (Release 6.6) XKBCOMP(1)
NAME
xkbevd - XKB event daemon
SYNOPSIS
xkbevd [ options ]
DESCRIPTION
This command is very raw and is therefore only partially
implemented; we present it here as a rough prototype for
developers, not as a general purpose tool for end users.
Something like this might make a suitable replacement for
xev; I'm not signing up, mind you, but it's an interesting
idea.
The xkbevd event daemon listens for specified XKB events and
executes requested commands if they occur. The
configuration file consists of a list of event
specification/action pairs and/or variable definitions.
An event specification consists of a short XKB event name
followed by a string or identifier which serves as a
qualifier in parentheses; empty parentesis indicate no
qualification and serve to specify the default command which
is applied to events which do not match any of the other
specifications. The interpretation of the qualifier depends
on the type of the event: Bell events match using the name
of the bell, message events match on the contents of the
message string and slow key events accept any of press,
release, accept, or reject. No other events are currently
recognized.
An action consists of an optional keyword followed by an
optional string argument. Currently, xkbev recognizes the
actions: none, ignore, echo, printEvent, sound, and shell.
If the action is not specified, the string is taken as the
name of a sound file to be played unless it begins with an
exclamation point, in which case it is taken as a shell
command.
Variable definitions in the argument string are expanded
with fields from the event in question before the argument
string is passed to the action processor. The general
syntax for a variable is either $cP or $(str), where c is a
single character and str is a string of arbitrary length.
All parameters have both single-character and long names.
The list of recognized parameters varies from event to event
and is too long to list here right now. This is a
developer release anyway, so you can be expected to look at
the source code (evargs.c is of particular interest).
The ignore, echo, printEvent, sound,and shell actions do
Page 1 (printed 7/20/06)
XKBCOMP(1) X Version 11 (Release 6.6) XKBCOMP(1)
what you would expect commands named ignore, echo,
printEvent, sound, and shell to do, except that the sound
command has only been implemented and tested for SGI
machines. It launches an external program right now, so it
should be pretty easy to adapt, especially if you like audio
cues that arrive about a half-second after you expect them.
The only currently recognized variables are soundDirectory
and soundCmd. I'm sure you can figure out what they do.
OPTIONS
-help Prints a usage message that is far more up-to-date
than anything in this man page.
-cfg file
Specifies the configuration file to read. If no
configuration file is specified, xkbevd looks for
~/.xkb/xkbevd.cf and $(LIBDIR)/xkb/xkbevd.cf in that
order.
-sc cmd Specifies the command used to play sounds.
-sd directory
Specifies a top-level directory for sound files.
-display display
Specifies the display to use. If not present,
xkbevd uses $DISPLAY.
-bg Tells xkbevd to fork itself (and run in the
background).
-synch Forces synchronization of all X requests. Slow.
-v Print more information, including debugging
messages. Multiple specifications of -v cause more
output, to a point.
SEE ALSO
X(1)
COPYRIGHT
Copyright 1995, Silicon Graphics Computer Systems Copyright
1995, 1998 The Open Group
See X(1) for a full statement of rights and permissions.
AUTHOR
Erik Fortune, Silicon Graphics
Page 2 (printed 7/20/06)