I'm guessing each of you has 5-10 different remotes by the HTPC. Each of those sends out a different set of codes. Also, IR signals emit over a wide area, so you don't need to point directly at the device you want to control. The signals also bounce off was and everything else. The point is, there's lots of extra noise (including, I guess, some LCD TVs). The way devices handle this, they look for specific patterns and ignore everything else, even though a lot of the "everything else" is still detected. Also note that the everything else can degrade a "good" signal, so it isn't recognized.
The way around this is the have the remotes repeat, by sending codes multiple times. Having a button (like VolumeUp) keep increasing the volume while it is held works the same way - codes keep getting sent while the button is held. So while EG will emit one event for the VolumeUp button, it is really getting a series of codes. EG just internally keeps track, which allows for things like the AutoRepeat action, or JumpIfLongPress. So EG actually needs me to break up the codes. If you hold down the VolumeUp key, you want the volume to start changing immediately, not wait until you release the button before anything happens.
End result? I think
you are all seeing expected behaviour. There are a couple of things:
1) The learn function needs to be adjusted to not break codes up so easily, as several "chunks" should be included in the learned code. I'm looking in to this.
2) Signals in noise won't always match perfectly, so some amount of MceRemote_Vista.Unknown is expected from real MCE button presses. But I also think the device's measurements are a little shorted than other devices (I can receive a code from both my Mce receiver and my usb-uirt, and the uirt on times are a little longer). This could mean that the IrDecoder tolerances (how much noise is allowed before a code is recognized vs. becoming Unknown) might need to be adjusted. Again, remotes will repeat signals to try to mitigate these effects.
3) I can certainly throw out short signals, so they aren't processed by the IrDecoder. I haven't done this yet, as some of this helps with development. But that will happen at some point, so as not to confuse users.
It is still possible there's a bug in the software, certainly. But at the moment, I'm ready to say that all of the MceRemote_Vista.Unknown posts recently are expected behavior. If you are convinced you've got a real problem and not just symptoms of the above affects, convince me. Fair?
Yup, I've seen that. Thanks, though.