How exactly are you capturing the key though?
You can try :-
Code:
//Capture the RED Key
TInt iHandlers = (CEikonEnv::Static()->RootWin().CaptureKey(EStdKeyNo, 0, 0));
TInt iUpAndDownHandlers = (iEikonEnv->RootWin().CaptureKeyUpAndDowns( EStdKeyNo, 0, 0 ));
And then in the HandleWsEventL of your appui, you should handle the action :-
Code:
CYourAppUi::HandleWsEventL (const TWsEvent &aEvent, CCoeControl *aDestination)
{
TInt key = aEvent.Key()->iScanCode;
if(EStdKeyNo == key && aEvent.Type() == EEventKeyDown)
{
//Handle the key here and return so that the FW doesnt get the key otherwise it would force your app to background/exit
}