You can allow multiple keypresses using CAknAppUi::SetKeyBlockMode ( TAknKeyBlockMode aMode )
By default TAknKeyBlockMode is set to EDefaultBlockMode=0. You need to set it to ENoKeyBlock.
This will allow you to receive key events for all keypresses, also simultaneous keypresses.
However, there are some restrictions:
2 keypresses at the time are easy to detect. Some combinations of 3 or 4 can be detected, if they are on the same row for instance.
Navigator is under its own interface and is not dependent on other buttons, however HW restricts that you cannot both press it and move it.
Softkeys and the application button are also under their own interface, so they are independent of the other buttons. However there you can detect only two keypresses.
Once you release the key blocking you will receive normal key events to detect the buttons.