You've done a nice piece of work and I'm glad to find my o'le Keyboard matrix program again.

Obviously the "complicated" part that you ommitted had to do with the interrupt driven key capture. The idea behind that was a user might press a key at a time the system is not checking explicitely for a keypress. So the keypress is accepted and stored in a circular buffer from where it could be read later on. Additionally I had implemented a key-repeat function that had the opportunity like your PC-keyboard to repeat a keypress when the key is held down longer periods.

As a professional programmer I am used to certain APIs regarding reading keys.

One is

uint8 IsKeyPressed(void); // Returns zero if a key was pressed

uint8 GetKey(); // Read a key, blocks if no key pressed

and for the C - nerds

void UngetKey(ui8nt8 Key); // put Key back into keybuffer may be used to simulate keystrokes

Thanks Bob, I have already updated. I am glad that you liked my work. As long as I'm limited to lack of time and experience in programming in C. Due to possibilities of PSoC Creator and a huge number of examples I was able to once again make friends with microcontrollers at a serious level. But I still early to ask for your help: I still haven't even finished reading a textbook on C. PSoC Creator does for me most of the work.