This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

(TCA8418) Does it support multiple key press???

Other Parts Discussed in Thread: TCA8418

TCA8418 Chip Bug????

TCA8418 seems to be a problem.

one or two keypad press is works well.

However, multiple 3, 4,5,6 keypad pressing => problem..!!!!!!!!

I was used as shown below.

1) Chip Setting (8x8 matrix)

  { REG_CFG,      0x19 }, 
  { REG_KP_GPIO1,     0xff }, // Keypad or GPIO
  { REG_KP_GPIO2,     0xff },
  { REG_KP_GPIO3,     0x00 },
                          
  { REG_DEBOUNCE_DIS1,    0x00 }, // Debounce Enable/Disable
  { REG_DEBOUNCE_DIS2,    0x00 },
  { REG_DEBOUNCE_DIS3,    0x00 },
                          
  { REG_GPIO_PULL1,    0x00 }, // GPIO Pull Up Enable/Disable
  { REG_GPIO_PULL2,    0x00 },
  { REG_GPIO_PULL3,    0x00 },

2) Test

case 1) 1 press : (R2, C0) => read value(21) is ok.

case 2) 2 press : (R2, C0) + (R1, C0) => read value (21) + read value (11) is ok...

case 3) 3 press : (R2, C0) + (R1, C0) + (R2, C3) => read value (21) + read value (11) + read value (13) + read value (23)

case 3 is fail. I pressed the threee keys, but event is 4 event.

I want to know. Does it support multiple key press???

I need your help..

thank you..

  • What you are seeing is the "ghost key" phenomenon that occurs when three keys that form an L shape on the matrix are pressed down.  This shorts out the fourth key switch (diagonally opposite from the corner of the L), leading to the encoder seeing 4 events instead of the expected 3.  You can use 1N4148s in series with the switches to suppress the "ghosting" while maintaining multi-key support.

  • Specifically: in keyboard mode, the "row" pins are inputs, with 100k internal pull-up resistors. So when you put a diode in series with the switch, the anode is at the row side, ie. the arrow on the diode "points" to the Column output.