Similar solution is to use one A/D port and resistor chain connected to Vcc.
Thank you for your response.
Yes, I've already tried this solution too: only one input pin, but more CPU time is required.
The key-code assigning, the debouncing and the protecting against double keystrokes is also
more difficult as in my present 'clear digital' solution, wich is simple, extremely fast,
and works full in the background (it runs in IT time and only if a keystroke is occured).
However, for some non-time-critical applications I'm using also the A/D method.
Your circuit is also interesting but it also requires a continous (periodic) polling
in a loop to sense a keystroke, then - after a debouncing time - again to determine it.