A universal remote control device (10) is programmed by determining layout properties of an existing remote control device (12) that must be replaced by the universal remote control device (10). Information identifying at least part of said layout properties is input into a selection system (14, 18). A command set for the universal remote control device (10) is selected dependent on said information. The universal remote control device (10) is programmed to implement the selected command set.