WACKYD, LIBWACKY AND THE WACKY PROTOCOL…
wackyd (pronounced wacky-dee) is a daemon that controls the LED lights on your extended keyboard. By default, it animates the lights in a Knight Rider pattern. Knight Rider was an idiotic American television show. Its only redeeming social value was, of course, the blinking lights. To wackyd that pattern looks like this: xoo,oxo,oox,oxo
. Wackyd implements the WACKY protocol, which allows it to serve as a notification system. It listens for instructions on a remote port. Have you got mail? Change the keyboard pattern. Do you want to let a coworker know that the boss is coming? Change HIS keyboard pattern. The possibilities are endless…
libwacky is a C library that supports the WACKY protocol. Bundled with the library is another program, wackyp, which allows one to send commands to a wackyd. libwacky and wackyp were designed to enable wacky users an easy means to communicate with a wackyd. Use the library to automate notification processes. Or to bug your friends, family, and co-workers.
The WACKY/1.0 protocol is the basis for keyboard notification implementation. The protocol is similar to HTTP. The client establishes a TCP connection and issues a series of commands, followed by two returns that notify the server that the instructions are complete. The server reads the commands, parses the light-blinking pattern, logs any messages, and closes the connection.
PLATFORM SUPPORT
Currently, wackyd runs only on GNU/Linux. Platform-specific programming is required to port the daemon to other operating systems. (Consider this a call to arms; your assistance is appreciated.) libwacky, on the other hand, runs on most POSIX-compliant operating systems. So while wackyd currently runs only on GNU/Linux, wacky messages can be sent to it from most operating systems.