XKBEVD(1)

๐Ÿ“ฆ
version 7.7+9build1 ยท 3 versions
, in debian trixie, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

โœจ NAME โœจ

Okay bestie, this is the manual for xkbevd, the XKB event daemon. ๐Ÿ’…


๐ŸŽ€ SYNOPSIS ๐ŸŽ€

xkbevd [ options ]

๐Ÿ’– DESCRIPTION ๐Ÿ’–

Okay so, real talk first: this thing is very raw and only partially implemented ๐Ÿ™ˆ It's a rough prototype for developers, NOT a general purpose tool for end users. Like, please don't make it your whole personality. The author thinks it might make a suitable replacement for xev, but they're not signing up for that, mind you. It's an interesting idea though โœจ

So what does it actually do? The xkbevd event daemon listens for specified XKB events and runs requested commands when they happen. Its configuration file is a list of event specification/action pairs and/or variable definitions. Iconic behaviour, honestly ๐Ÿฆ‹

Event specifications are a short XKB event name followed by a string or identifier in parentheses. That's the qualifier. Empty parentheses mean no qualifier, and they're how you set the default command, the one that gets applied to any event that doesn't match your other specs. The qualifier's meaning depends on the event type:

  • Bell events match on the name of the bell ๐Ÿ””
  • Message events match on the contents of the message string ๐Ÿ’ฌ
  • Slow key events accept any of press, release, accept, or reject โŒจ๏ธ

No other events are currently recognized, so don't go looking for them rn ๐Ÿ’€

Actions are an optional keyword followed by an optional string argument. Right now xkbev recognizes these actions: none, ignore, echo, printEvent, sound, and shell. If you don't specify an action, the string is treated as the name of a sound file to play... unless it starts with an exclamation point (!), in which case it's treated as a shell command. Main character energy ๐Ÿ‘‘

Variables in the argument string get expanded using fields from the event before the argument string is passed to the action processor. The general syntax is either $c or $(str), where c is a single character and str is a string of any length. Every parameter has both a single-character name and a long name ๐Ÿงš

The list of recognized parameters changes from event to event and is way too long to list here right now. It's a developer release, so you'll be expected to read the source code, and evargs.c is the one to look at ๐Ÿ“œ

About the actions: ignore, echo, printEvent, sound, and shell do exactly what you'd expect from commands with those names. The one exception is sound, which has only been implemented and tested on SGI machines ๐Ÿ˜ญ It launches an external program right now, so it should be pretty easy to adapt, especially if you're into audio cues that show up about half a second after you expect them. Lowkey iconic ๐Ÿ™ˆ

The only variables currently recognized are soundDirectory and soundCmd. I'm sure you can figure out what they do ๐Ÿ’…


๐ŸŒธ OPTIONS ๐ŸŒธ

  • -help โ€” Prints a usage message. It's way more up-to-date than anything in this man page, so trust it over me ๐Ÿซถ
  • -cfg file โ€” Picks the configuration file to read. If you don't specify one, xkbevd checks ~/.xkb/xkbevd.cf first, then $(LIBDIR)/xkb/xkbevd.cf, in that order โœจ
  • -sc cmd โ€” Sets the command used to play sounds ๐Ÿ”Š
  • -sd directory โ€” Sets a top-level directory for sound files ๐Ÿ“‚
  • -display display โ€” Sets the display to use. If you don't include this, xkbevd uses $DISPLAY ๐Ÿ–ฅ๏ธ
  • -bg โ€” Tells xkbevd to fork itself and run in the background ๐ŸŒˆ
  • -synch โ€” Forces synchronization of all X requests. Slow, bestie ๐ŸŒ
  • -v โ€” Prints more info, including debugging messages. Stack them (like -v -v) and you'll get more output, up to a point ๐Ÿ”
  • -version โ€” Prints the program version and exits ๐Ÿ“

๐Ÿฆ‹ SEE ALSO ๐Ÿฆ‹

xev(1), xkbwatch(1), X(7).


๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

Erik Fortune, Silicon Graphics ๐Ÿ’œ


Okay that's the whole vibe, periodt! ๐ŸŒˆ This page is from X Version 11, the xkbevd 1.1.5 release, and it's filed under XKBEVD(1). Stay iconic, bestie ๐Ÿ’–๐Ÿซถ