I use the following codes to make a query dialog which supports emergency call.

TBuf<20> buf= _L("");
CPasswordDlg* a_this= new (ELeave) CAknTextQueryDialog(buf);
a_this->SetEmergencyCallSupportForCBA(ETrue);
return a_this->ExecuteLD( R_TRENDLOCK_PASSWORD);

It works well on S60 3th devices, which have keyboard to input. However, when running on S60 5th, I need to click the text input area to enter another input state. Under that state, emergency number is not recognized. Either does after I quit the input state.

Actually, what i need to implement is an PIN input UI just the Phone's PIN input dialog does. I see the Phone's PIN dialog uses 12 buttons(10 for numbers, 1 for * and 1 for #) for input. And I am wondering whether it's a MUST to let the CAknTextQueryDialog support emergency call. Is there a way to re-use the system PIN input dialog?

Any guides are highly appreciated.