This code is a driver to the Slink-e product produced by Nirvis (http://www.nirvis.com) While this product can control Sony products over the S-Link port, it also has hardware to handle up to 8 zones of a hardwired IR reception/transmittal system. The examples given with this code are primarily focused on that. To add soon: A server that will accept TCP connections that will tell what IR commands have been seen and also allow IR commands to be sent. Program to read CD information from Sony CD jukeboxes and then hook up to the CDDB and provide information about all of the discs in a jukebox. Note: The examples are not heavily commented or documented and I plan to add that soon. This should get you started... build_IR_database.pl [slinke database name]: Run this program first. Upon seeing an infrared signal, it will prompt you for a device name (or provide a default if it has seen the device before), and a command name for that device. When it asks if the command is repeatable, this is asking you what will happen if you hold down a button. For example, holding down a power button usually only sends one "Power" command. Holding down a "Volume Down" button usually keeps sending a "Volume Down" command until you let go of the button. After recording your responses to the questions, the program will save the data in slinke.irdb of your current directory. To put the file in a different location, specify the file name on the command line. decode_IR.pl [slinke database name]: This program will read the slink database created by build_IR_database.pl and then tell you which commands it recognizes as you push different keys on your remote. If it doesn't recognize a command, it will spit out the bit stream of that command play_IR_command.pl {slinke database name]: This program will accept on STDIN the following parameters (comma separated): device name, command name, times to repeat command If you do not specify a number of times to repeat, the command is sent only once.