but in the sentence: if(keypad.getKey()!= NO_KEY) , I have the "!=" that means different (not equal), so has to wait till the pressing shows a key pressed. I'm right?
No, it does not wait.
This waits:
while(key = keyPad.getKey() == NO_KEY)
{
// Do nothing
}
// Use key
But, you do NOT want to wait. You want to deal with events when they happen. You do not want to wait for them to happen.