Audio/video “AV” entertainment devices and infrared remote control devices for remotely controlling the AV devices have become commonplace in modern society.  Because manufacturers usually provide dedicated remote control devices together with AV devices, a typical modern household has multiple dedicated remote control devices each configured to control a particular AV device.  For example, a home entertainment system may include a television, an AV receiver/repeater, a sound system device, set-top box (“STB”) device, a Digital Video Disc (“DVD”) and/or a Blu-ray disc player, and a Digital Video Recorder (“DVR”), each of which may have a separate dedicated remote control device.  Consequently, a user of the home entertainment system typically has to keep track of and use several individual, dedicated remote control devices to control the various components of the home entertainment system. 
To help alleviate a user's burden of keeping track of and using several individual, dedicated remote control devices to control various AV devices, universal remote controls have been introduced.  A conventional universal remote control device allows a user to control multiple individual AV devices with a single hand-held remote control device.  In order for the universal remote control device to correctly control various AV devices, the user first programs the universal remote control device to control the specific makes and models of the AV devices.  This is typically done by the user manually looking up and entering a device code for a particular AV device into the universal remote control device.  This process may be repeated by the user for each AV device to be controlled by the universal remote control device. 
Unfortunately, such manual programming of a universal remote control device may be inconvenient and/or burdensome to a user, especially if the user does not have access to or is unable to easily locate a device code for a particular AV device.  In addition, the manual process must be repeated each time an AV device is added or replaced. 
Certain traditional universal remote control devices provide a “code search” feature, which may be useful when a user does not know or have access to a device code for a particular AV device.  When a “code search” feature is invoked by a user of a universal remote control device, the universal remote control device cycles through a list of device codes maintained by the device.  Simultaneously, in order to cause the universal remote control device to output a test command for each device code in the list, the user must manually and repeatedly press a button on the universal remote control device until the user observes that the AV device for which the universal remote control device is being programmed to control responds to the button press.  The user must then provide additional manual input to the universal remote control device to indicate that the appropriate device code has been found. 
Such trial-and-error-based programming of a universal remote control device may also be inconvenient and/or burdensome to a user.  For example, if the device code being searched for is near the end of the code list maintained by the universal remote control device, the user may be required to press the button numerous times (e.g., over a hundred times) before the correct device code is found, or before the user determines that the correct device code is not included in the code list. 
Another problem with conventional universal remote control devices is that the physical buttons on the devices are fixed in appearance and/or dedicated to certain functions.  Consequently, a conventional universal remote control device may not be capable of being programmed to perform all functions of an AV device.  For example, if a conventional universal remote control device does not include a button dedicated to a “fast forward” function, then the universal remote control device may not be programmed to output a “fast forward” command for any AV device.  As a result, a user may be forced to rely on a separate, dedicated remote control device to direct an AV device to perform the “fast forward” function because the function cannot be programmed into the universal remote control device. 
To avoid such a problem, conventional universal remote control devices typically include a large number of fixed, dedicated physical buttons (e.g., more than eighty buttons).  The result is a universal remote control device with a fixed button palette that is crowded and complex, and that includes buttons that are rarely or never utilized by a user.  Such a button palette decreases the ease of use and increases the learning curve for the universal remote control device. 
For at least these reasons, there is a need for new and/or improved universal remote control systems, methods, and apparatuses.