📄 mguardkeycapture.cpp,v
字号:
//User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyNull , 0, 0 ) ); //iCaptureHandleCount ++; //User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyBell , 0, 0 ) ); //iCaptureHandleCount ++; //User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyBackspace , 0, 0 ) ); //iCaptureHandleCount ++; //User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyTab , 0, 0 ) ); //iCaptureHandleCount ++; //User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyLineFeed , 0, 0 ) ); //iCaptureHandleCount ++; //User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyVerticalTab , 0, 0 ) ); //iCaptureHandleCount ++; //User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyFormFeed , 0, 0 ) ); //iCaptureHandleCount ++; //User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyEnter , 0, 0 ) ); //iCaptureHandleCount ++; //User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyEscape , 0, 0 ) ); //iCaptureHandleCount ++; //User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeySpace , 0, 0 ) ); //iCaptureHandleCount ++; //User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyBackspace , 0, 0 ) ); //iCaptureHandleCount ++; //User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyDelete , 0, 0 ) ); //iCaptureHandleCount ++; // //for ( TInt aCode = EKeyPrintScreen; aCode < EKeyDecBrightness; aCode ++ ) //{ // User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( aCode , 0, 0 ) ); // iCaptureHandleCount ++; //} // // And finally capture long key presses // User::LeaveIfError( iLongCaptureHandle = iWindowGroup->CaptureLongKey( KKeyCode , KKeyCode, 0, 0, 0, 0 ) ); // Send created window to the background and hide it from the // application switcher iWindowGroup->SetOrdinalPosition(-1); iWindowGroup->EnableReceiptOfFocus( EFalse ); iWindowGroupName = CApaWindowGroupName::NewL( iWsSession ); iWindowGroupName->SetHidden(ETrue); iWindowGroupName->SetWindowGroupName( *iWindowGroup ); // Tell window server, that we are ready to receive events // It's first time iWsSession.EventReady( &this->iStatus ); CActiveScheduler::Add( this ); iCaptureStarted = ETrue; SetActive(); // RAknKeyLock keyLock; // first step//// // Start phone app// _LIT(KPhoneAppPath, "\\system\\apps\\phone\\phone.app");// {// // Open with the default/last known app// CApaCommandLine * cmd = CApaCommandLine::NewL(); // cmd->SetLibraryNameL( KPhoneAppPath ); // cmd->SetCommandL( EApaCommandOpen );//// EikDll::StartAppL( *cmd );//// delete cmd;// }//// // Lock keyboard// User::LeaveIfError(keyLock.Connect()); // second step// CleanupClosePushL(keyLock);//// keyLock.EnableKeyLock(); // third step//// keyLock.Close(); // fourth step// CleanupStack::PopAndDestroy(); // keyLock //}// Key press happenedvoid CGuardKeyCapturer::RunL(){ if( iStatus == KErrNone ) { // EEventKey received TWsEvent we; iWsSession.GetEvent( we ); //if( we.Key()->iCode == KKeyCode ) { if( we.Key()->iRepeats == 0 ) { } else { } RAknKeyLock keyLock; // first step // Start phone app _LIT(KPhoneAppPath, "\\system\\apps\\phone\\phone.app"); { // Open with the default/last known app CApaCommandLine * cmd = CApaCommandLine::NewL(); cmd->SetLibraryNameL( KPhoneAppPath ); cmd->SetCommandL( EApaCommandOpen ); EikDll::StartAppL( *cmd ); delete cmd; } // Lock keyboard User::LeaveIfError(keyLock.Connect()); // second step CleanupClosePushL(keyLock); keyLock.EnableKeyLock(); // third step keyLock.Close(); // fourth step CleanupStack::PopAndDestroy(); // keyLock } //else // { // //// This should never happen, but just to demonstrate how // //// it is possible to forward events to the default destination // //TInt foregroundAppId = iWsSession.GetFocusWindowGroup(); // //iWsSession.SendEventToWindowGroup( foregroundAppId, we ); // } // if iCode //if( iCaptureCounter == KNumberOfPressesToCapture ) // { // // exit MainL() inner loop // CActiveScheduler::Stop(); // } //else { iWsSession.EventReady( &iStatus ); SetActive(); } // if captured enough times } // if iStatus else { // Framework notified of some error /** @@todo Handle error if required */ }}// End of file@1.1.1.1log@no message@text@@1.1.1.2log@code complete@text@a105 5 for ( TUint ii = 48; ii <= 57; ii ++ ) { User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( ii , 0, 0 ) ); iCaptureHandleCount ++; }d107 1a107 3 User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( 42 , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( 35 , 0, 0 ) );d110 42a151 22 User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyNull , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyBell , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyBackspace , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyTab , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyLineFeed , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyVerticalTab , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyFormFeed , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyEnter , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyEscape , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeySpace , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyDelete , 0, 0 ) ); iCaptureHandleCount ++;d153 5a157 11 for ( TInt aCode = EKeyPrintScreen; aCode < EKeyPrintScreen + 68; aCode ++ ) { User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( aCode , 0, 0 ) ); iCaptureHandleCount ++; } for ( TInt aCode = EKeyPrintScreen + 69; aCode < EKeyDecBrightness; aCode ++ ) { User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( aCode , 0, 0 ) ); iCaptureHandleCount ++; }d192 2a193 8 for ( TUint ii = 48; ii <= 57; ii ++ ) { User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( ii , 0, 0 ) ); iCaptureHandleCount ++; } User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( 42 , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( 35 , 0, 0 ) );d196 5d202 36a237 22 User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyNull , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyBell , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyBackspace , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyTab , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyLineFeed , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyVerticalTab , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyFormFeed , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyEnter , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyEscape , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeySpace , 0, 0 ) ); iCaptureHandleCount ++; User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( EKeyDelete , 0, 0 ) ); iCaptureHandleCount ++;d239 5a243 11 for ( TInt aCode = EKeyPrintScreen; aCode < EKeyPrintScreen + 68; aCode ++ ) { User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( aCode , 0, 0 ) ); iCaptureHandleCount ++; } for ( TInt aCode = EKeyPrintScreen + 69; aCode < EKeyDecBrightness; aCode ++ ) { User::LeaveIfError( iCaptureHandle[iCaptureHandleCount] = iWindowGroup->CaptureKey( aCode , 0, 0 ) ); iCaptureHandleCount ++; }@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -