Here are some links:
https://www.hifi-remote.com/forums/viewt ... 3020#p33020
https://www.hifi-remote.com/forums/viewt ... 2979#p32979
When importing keymoves that reference the upgrade being installed, IR insists that the setup code be assigned to a device key.
Most of the time, it is a good idea to assign the setup code to a device key after importing it. I think IR should prompt the user to do that even when there are no keymoves. However, it should be to possible import the keymoves without assigning the setup code to a device key. The user should still pick a device key to use, and all imported keymoves that are assigned to the "upgrade device key" should be bound to that user selected device key.
The dialog might look something like this:

Pressing Cancel would not assign the setup code to a device key and would not bind any "upgrade device key" key moves.
Pressing OK with the checkbox not selected would assign the setup code to the selected device key and bind any "upgrade device key" key moves to that device key as well.
Pressing OK with the checkbox selected would not assign the setup code to the selected device key but would bind any "upgrade device key" key moves to the selected device key
Technical details for those interested
Here's an example of a device upgrade for a URC-7800 that includes some keymoves:
Code: Select all
Upgrade code 0 = 0f ff (Cable/2047) (RM v1.31)
fb 00 01
KeyMoves
15 f3 07 ff 0b«1 second pause»
End- From the Upgrade Code we know the device type is 0 (it's the first nibble after the =, which for a URC-7800 happens to be CBL).
- The setup code is 2047 (the next three nibbles, masking the off the first bit).
- The first keymove is assigned bound to the key w/ code $15 (the "1" key)
- It should be assigned to the user chosen device (that's what the f in f3 means)
- The device type of keymoved function is CBL (the 0 in 07)
- The setup code of the keymoved function is 2047 (the 7 FF)
- The hex command is $0b
Code: Select all
Upgrade KeyMoves 0 = 0F FF (Cable/2047)
15 F3 07 FF 0B«1 second pause» ¦16 23 07 FF 17
«2 second pause»
End- Device Type is CBL ( the first nibble in 0F FF )
- Setup Code is 2047 (the last 3 nibbles in 0F FF, ignoring the first bit, resulting in 7FF).
- The first key move is bound to key code $15 ( "1" ), user chosen device key (the f in f3), from device type CBL (the 0 in 07), setup code 2047, and hex cmd $0b
- The second key move is bound to key code $16 ( "2" ), device key TV (the 2 in 23), from device type CBL (the 0 in 07), setup code 2047 (the 7 from 07 and the FF), and hex cmd $17