It doesn’t seem clear to me from the PTS if multiple key pad presses (and releases) can be detected independently using AT+CMER=,1 and reading the subsequent responses - +CKEV xx,y. For example, suppose you press a key on the pad and then some time later, press another key (i.e. there are now two pads being pressed). Will both respond with the appropriate +CKEV xx,1 response?

Subsequently, if I release only one of the pads, will it respond with a +CKEV xx,0? What if I release the second one some time later, will it also respond accordingly?

Thanks you anyone who responds. I appreciate your inputs (pardon the pun!).


I have problem if two key are pressed, sometimes takes a key to another.


+CKEV: 21,1 ok I closed contact 21

+CKEV: 17,1 ok I closed close

+CKEV: 17,0 is not true! I opened the contact 21 not 17!
Try to belive!
The keypad does not work if there is more than pressing a button?



keyboards in matrix configurations will always have trouble with detecting multiple concurent keypresses on the same row/column.


Yes,sorry is obviously, and my problem had already been seen on the forum. Here’s the answer to a similar problem:

Can we use the Pins(ROWS1,…COLUMN1,…) assigned for the keyboard as the GPIO in an Open-AT application?
The Pins dedicated to the keypad cannot be used for General Purpose input/output. The keypad Pins can only be used to indicate the Key press/Key release events. When one key is pressed, Key Press indication of any other key cannot be received till the Key release indication of previous key is received. The unsolicited +CKEV responses indicate the state of the Key Press/Key release input events to the application.