LK204 Not returning key release? (i2c mode, polling)
Posted: Mon Jun 16, 2014 10:18 am
Hi all,
I started a thread last week regarding the keypad returning keypresses. The problem ended up being solved, I was not configuring correctly (protocol was not set to I2C in software). I'm now trying to program some simple key press/release code for repeating events upon holding a key.
I am configuring the LK204 keypad for the following:
-Auto-Transmit OFF (0xFE, 0x4F)
-Auto-Repeat OFF (0xFE, 0x60)
The issue seems to be that the LK204 is not putting the key release byte into the buffer. I am receiving the keypress properly (in this case, a press of the center key, 'E' or 0x45 hex. From what I understand, when the key is released, 'e' (0x65 hex) should be placed in the buffer for me to read on my next poll of the keypad buffer.
I release the key, and I read the buffer again. I continue to get 0x00 from the LK204. No sign of the release keycode. The MSb is 0, so the buffer appears to not have anything else in it. Am I misunderstanding how this process works? Is there something I am missing? Thanks in advance for any help. Let me know if you require any more information.
I started a thread last week regarding the keypad returning keypresses. The problem ended up being solved, I was not configuring correctly (protocol was not set to I2C in software). I'm now trying to program some simple key press/release code for repeating events upon holding a key.
I am configuring the LK204 keypad for the following:
-Auto-Transmit OFF (0xFE, 0x4F)
-Auto-Repeat OFF (0xFE, 0x60)
The issue seems to be that the LK204 is not putting the key release byte into the buffer. I am receiving the keypress properly (in this case, a press of the center key, 'E' or 0x45 hex. From what I understand, when the key is released, 'e' (0x65 hex) should be placed in the buffer for me to read on my next poll of the keypad buffer.
I release the key, and I read the buffer again. I continue to get 0x00 from the LK204. No sign of the release keycode. The MSb is 0, so the buffer appears to not have anything else in it. Am I misunderstanding how this process works? Is there something I am missing? Thanks in advance for any help. Let me know if you require any more information.