Using an Arduino Leonardo for a condensed keyboard

I plan on using a keyboard with only 16 keys to be able to input all 26 letters and 0-9. Is there a program out there already that lets you have a button (like a caps lock) that switches to a different set of outputs with the same keys?

any help or guidance would be appreciated!

Input to what? If it's to your Arduino, then you can map the keys to different sets of characters in your sketch. If the keyboard isn't input to the Arduino, then what is it input to?

the keys are going to the arduino which is then going into a display. It is going to be portable, which is why i'm using an arduino.

Why don't you use multi-tap? With 16 keys you can enter everything slowly.