1. A method for learning electromagnetic signals comprising: detecting an electromagnetic signal transmitted from an external device by measuring the pulse width of the electromagnetic signal; converting the detected electromagnetic signal into a numerical representation by assigning a multi-bit value to the pulse width; placing the numerical representation into an array; transforming the array with an algorithm; storing the resulting transformation into a memory table; and associating the resulting transformation with a computer command or combination of computer commands and adding the associated computer command or combination of commands into the memory table.