This can actually count as two separate requests. One for learning any IR device through the remote button learning. The second is to have a customizable smart remote screen that fits the needs of the user environment.
It would be great to have the option of entering the IR code manually. For example your original remote may just toggle through inputs, when you actually want to set a specific input (wifi, Bluetooth, optical, etc)