UPDATE: I decided for sure that it wasn't a hardware problem by shorting the pin on the chip itself. The issue persists, and thus it is definitely a firmware issue (if anyone can point me in the right direction I would greatly appreciate.
So I just designed my first keyboard and I'm using an atmega32u4 for the controller. I made sure the pcb design is completely working and added diodes to prevent ghosting when multiple keys are pressed. However, after modifying the onekey.c (and referencing his code: https://github.com/w4ilun/pocket-keyboard) from the keyboard folder and flashed the firmware I wasn't able to get the keyboard completely functional. The symptom so far is that when I press one key the entire column gets registered. (excepted the keys from the 7th row, which seems to work fine).
UPDATE: I decided for sure that it wasn't a hardware problem by shorting the pin on the chip itself. The issue persists, and thus it is definitely a firmware issue (if anyone can point me in the right direction I would greatly appreciate.
So I just designed my first keyboard and I'm using an atmega32u4 for the controller. I made sure the pcb design is completely working and added diodes to prevent ghosting when multiple keys are pressed. However, after modifying the onekey.c (and referencing his code: https://github.com/w4ilun/pocket-keyboard) from the keyboard folder and flashed the firmware I wasn't able to get the keyboard completely functional. The symptom so far is that when I press one key the entire column gets registered. (excepted the keys from the 7th row, which seems to work fine).
schematic:
here is my matrix.c for configuring pins.