I have the RS 331-304 4x4 keypad, and I need to connect it so that I can determine which key has been pressed without using a microcontroller. Is there a way I can connect it using logic gates? The final aim of connecting it is to determine which number has been pressed, decoding this value into BCD and storing it in an array of D Flip Flops. I can't see how to go about connecting it, and would greatly appreciate your help.
You could just emulate what a micro would do, using logic gates. For example use a 2 bit counter/decoder and clock to select a column (1 of 4) and read the 4 rows in parallel.
If only one key will ever be pressed at once (or at least only keys from a single column at once) then this will work without a diode per key. A micro has the same limitations.
It's better to use open drain drivers (and pull-up or pull-down resistors on the inputs) or at least add resistors to the driven lines so that push-pull outputs are not shorted together if multiple keys are pressed at once.