Git init
[framework/uifw/xorg/util/x11-xkb-utils.git] / xkbevd / man / xkbevd.man
1 .\"
2 .TH XKBEVD 1 __xorgversion__
3 .SH NAME
4 xkbevd \- XKB event daemon
5 .SH SYNOPSIS
6 .B xkbevd
7 [ options ]
8 .SH DESCRIPTION
9 .PP
10 This command is very raw and is therefore only partially implemented;  we
11 present it here as a rough prototype for developers, not as a general purpose
12 tool for end users.  Something like this might make a suitable replacement
13 for xev;  I'm not signing up, mind you, but it's an interesting idea.
14 .PP
15 The
16 .I xkbevd
17 event daemon listens for specified XKB events and executes requested commands
18 if they occur.   The configuration file consists of a list of event
19 specification/action pairs and/or variable definitions.
20 .PP
21 An event specification consists of a short XKB event name followed by a
22 string or identifier which serves as a qualifier in parentheses;  empty
23 parenthesis indicate no qualification and serve to specify the default
24 command which is applied to events which do not match any of the other
25 specifications.  The interpretation of the qualifier depends on the type
26 of the event:  Bell events match using the name of the bell, message events
27 match on the contents of the message string and slow key events accept
28 any of \fIpress\fP, \fIrelease\fP, \fIaccept\fP, or \fIreject\fP.   No
29 other events are currently recognized.
30 .PP
31 An action consists of an optional keyword followed by an optional string
32 argument.  Currently, \fIxkbev\fP recognizes the actions: \fInone\fP,
33 \fIignore\fP, \fIecho\fP, \fIprintEvent\fP, \fIsound\fP, and \fIshell\fP.
34 If the action is not specified, the string is taken as the name of a sound
35 file to be played unless it begins with an exclamation point, in which case
36 it is taken as a shell command.
37 .PP
38 Variable definitions in the argument string are expanded with fields from
39 the event in question before the argument string is passed to the action
40 processor.   The general syntax for a variable is
41 either $\fIc\P or $(\fIstr\fP), where \fIc\fP is a single character and
42 \fIstr\fP is a string of arbitrary length.  All parameters have both
43 single-character and long names.
44 .PP
45 The list of recognized parameters varies from event to event and is too long
46 to list here right now.   This is a developer release anyway, so you can
47 be expected to look at the source code (evargs.c is of particular interest).
48 .PP
49 The \fIignore\fP, \fIecho\fP, \fIprintEvent\fP, \fIsound\fP,and \fIshell\fP
50 actions do what you would expect commands named \fIignore\fP, \fIecho\fP,
51 \fIprintEvent\fP, \fIsound\fP, and \fIshell\fP to do, except that the sound
52 command has only been implemented and tested for SGI machines.   It launches
53 an external program right now, so it should be pretty easy to adapt,
54 especially if you like audio cues that arrive about a half-second after you
55 expect them.
56 .PP
57 The only currently recognized variables are \fIsoundDirectory\fP and
58 \fIsoundCmd\fP.  I'm sure you can figure out what they do.
59 .SH OPTIONS
60 .TP 8
61 .B \-help
62 Prints a usage message that is far more up-to-date than anything in this
63 man page.
64 .TP 8
65 .B \-cfg \fIfile\fP
66 Specifies the configuration file to read.   If no configuration file is
67 specified, \fIxkbevd\fP looks for ~/.xkb/xkbevd.cf and $(LIBDIR)/xkb/xkbevd.cf
68 in that order.
69 .TP 8
70 .B \-sc\ \fIcmd\fP
71 Specifies the command used to play sounds.
72 .TP 8
73 .B \-sd\ \fIdirectory\fP
74 Specifies a top-level directory for sound files.
75 .TP 8
76 .B \-display\ \fIdisplay\fP
77 Specifies the display to use.  If not present, \fIxkbevd\fP uses $DISPLAY.
78 .TP 8
79 .B \-bg
80 Tells \fIxkbevd\fP to fork itself (and run in the background).
81 .TP 8
82 .B \-synch
83 Forces synchronization of all X requests.  Slow.
84 .TP 8
85 .B \-v
86 Print more information, including debugging messages.   Multiple
87 specifications of \fI-v\fP cause more output, to a point.
88 .SH "SEE ALSO"
89 X(__miscmansuffix__)
90 .SH COPYRIGHT
91 Copyright 1995, Silicon Graphics Computer Systems
92 Copyright 1995, 1998  The Open Group
93 .br
94 See \fIX(__miscmansuffix__)\fP for a full statement of rights and permissions.
95 .SH AUTHOR
96 Erik Fortune, Silicon Graphics