IR keyboard codes mystery

I picked up a wireless IR keyboard for an experiment: the goal of which is to be able to type text on the keyboard and have same converted into up/down/left/right commands to navigate an Amazon prime search box. I can find precious little about this keyboard online. The ones for sale on ebay advertise they come with the receiver, which is a module to pick up the IR signal and several cables out the back for power and to a PC keyboard jack. I have no receiver.

The keyboard:


The thing is not cooperating. At this point I'm only trying to determine the protocol/codes that the keyboard emits and the results are essentially garbage. Because of this, to establish some starting point I turned to the IR remote transmitter and receiver that comes with the Elegoo starter kit. The signals from this device make sense and look clean.

Using IR ReceiveDump from the Ken Schirriff lib and the same Elegoo IR receiver, I get this for pressing the '5' key on the Elegoo remote:

Protocol=NEC Address=0x0 Command=0x1C Raw-Data=0xE31CFF00 32 bits LSB first

Send with: IrSender.sendNEC(0x0, 0x1C, );

and the logic analyzer view:

This looks OK to me.

Next is the receive dump data from the wireless keyboard for '5':

press 1

Protocol=UNKNOWN Hash=0xEFA159AF 34 bits (incl. gap and start) received

Received noise or an unknown (or not yet enabled) protocol

press 2

Protocol=UNKNOWN Hash=0x705ED813 18 bits (incl. gap and start) received

Received noise or an unknown (or not yet enabled) protocol

press 3

Protocol=UNKNOWN Hash=0x0 17 bits (incl. gap and start) received
Received noise or an unknown (or not yet enabled) protocol

press 4

Protocol=UNKNOWN Hash=0x0 17 bits (incl. gap and start) received

Received noise or an unknown (or not yet enabled) protocol

This last press includes:

Protocol=Denon Address=0x10 Command=0x8 Raw-Data=0x110 15 bits LSB first

A sample of the analyzer output for one press shows:

followed ~60ms later by:

The very narrow pulses in the second burst are only ~120µs. Which seems awfully short to me. But, what do I know? The big thing, to me, is the inconsistency for successive presses of the same key. I found out there are 'toggle' signals but that doesn't appear to be what's happening here.

image

What I've learned - there's a multitude of protocols (and their details can be difficult to locate), carrier frequencies, and encoding techniques.

I guess it's possible the keyboard is just defective since it appears to have no consistency of signal from one press to the next.

I'm stumped. Any thoughts on a direction to go? Maybe a different decoder?

As interpreted by the decoder. It is very likely that the keyboard uses a proprietary protocol, but certain codes manage to fool the decoder into recognizing the wrong protocol.

The logic analyzer is the best place to start. I would start the analysis by comparing signals for series of keys, like "a", "b", "c" or "1", "2", "3", looking at bit pattern changes, to see if there is a relation with the ASCII code. The code might also be column & row.

is the inconsistency for successive presses of the same key

Separate "press" and "release" encodings like an ordinary wired keyboard?

I dunno. It's so strange. Here's a quick tap on the '4' key

1st burst:
image

2nd burst:
image

3rd burst:
image

Another quick tap on '4'
1st burst:
image

2nd burst:
image

3rd burst:
image

Looking at it again there is some consistency. Yay! I see now that over and over again the second and third busts look identical, and not just on the two waveforms I posted. It's not an answer, yet but, I think it is a foothold.

Thanks @jremington

p.s. Even so there sometimes is only one burst and sometimes four bursts. :confused:

The inconsistency in number of signal bursts for one tap really bothers me, and I don't see how one would deal with that.

Maybe the keyboard is defective. If that behavior held up, I would probably just take the thing to the computer recyclers.

Project abandoned. I loaded up the IRMP library and got somewhat better results as far as seeing a code. However the variable number of bursts, or no bursts, per keypress remains. I even saw a few codes presented for keys pressed randomly four or five times ago - like a code for 'h' repeated for 'space'. That's just too weird. I tried some fresh batteries just in case. No joy.

Oh, well. It was only like 50¢ at a yard sale.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.