I don't think a passive device can be involved in a rolling code situation.
Garage doors (and cars) do it by following a pattern (a rule of some sort). By pressing the remote a few times, the receiver can learn the rule. My understanding is that the receiver is smart enough to skip missing codes as well - which would be needed if you push the remote button out of the "hearing" of the receiver. I know one that I looked at would still work 16 codes away from the last accepted one - so you could press the remote 15 times while away from the receiver and still have it work. If you went beyond 16, you'd need to resync the receiver.
There's a description of one implementation of this kind of system in this document (see page 7 (23)):
Rolling code receiver documentation
Garage doors (and cars) do it by following a pattern (a rule of some sort). By pressing the remote a few times, the receiver can learn the rule. My understanding is that the receiver is smart enough to skip missing codes as well - which would be needed if you push the remote button out of the "hearing" of the receiver. I know one that I looked at would still work 16 codes away from the last accepted one - so you could press the remote 15 times while away from the receiver and still have it work. If you went beyond 16, you'd need to resync the receiver.
There's a description of one implementation of this kind of system in this document (see page 7 (23)):
Rolling code receiver documentation