System and method for automatically programming a universal remote. In the
system, the remote acquires identification data from a particular device
at which it is pointed. The data is processed to determine command
protocols associated with the particular device. Control commands for the
particular device input to the remote by a user are formatted according
to the command protocols associated with the particular device.