This can be done easily via dialog command. You will save lots of character to be assigned if you use hash value of password... So only 0-F needed!
You can also extend the command to ASCII-7bit but ... well it's solveable by ease. Who gots the time

We need a dilaog command with 4 Button layout
1 Button OKAY
2 Button CANCEL
3 Button UPPER/LOWERCASE
4 Button Numbers/Sentence signs

then we build array [A-Z] and each character gots one counter... So 1 = A, 2 = B ....
We read back counter out of array and got the character. Each selected character is assigne to new array .... KEYBOARD input. Really easy! Any guy got time to code?

There is also the possibilty to import other WIFI via this method and use multiple SSIDs