Here is a handy circuit for implementing all 16 DTMF tone for repeater auto patches, etc.  Of course it could be used for remote control projects too.  If you omit the TCM5089, you could use it for any device that requires 2 of 16 input. The keypad used here is a matrix switch, where the pressed key forms a connection to its associated row to column.

To make this work, you have to scan either the row or column lines.  Iíve utilized a 7490 decade counter connected to a 74LS138 3 to 8 line decoder.  The counter is clocked using a simple oscillator comprised of 2 logic gates of a quad NAND IC.  The remaining 2 gates are used for logic functions.  The end result is that pins 12,13,14,&15 of the 74LS138 continuously scan columns 1 through 4.  When a key is pressed, the corresponding row and columns will go to a logic low when the scan appears at the associated column. When this occurs, the clock is disabled via IC 1-C, locking the scan until the button is released.  If an ďany key pressedĒ signal is require in your design, a logic low is available at the anode junction of the 4 diodes.