The xkbevd event daemon listens for specified XKB events and executes requested commands if they occur. No other events are currently recognized. An action consists of an optional keyword followed by an optional string argument. 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.
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. 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. Forces synchronization of all X requests.