The first suggestion that comes to my mind is to refactor that huge chain of else if into some manageable function instead of hard-coding everything over and over... 16 times! If you look around, you may even find a library for your particular piece of hardware, to take the bulk of the work off your sketch.
Library or no library, however, a function that reads the keypress and returns a char should be the core of the program. Then, you take that char and you print it out, or put it into an array, or do whatever you want with it. I would also get rid of those delay(100). Are you sure you need them the way they are?