qtmobileextensions/src/keycapture/tsrc/test_xqkeycapture.cpp
changeset 5 453da2cfceef
parent 4 90517678cc4f
child 14 6fbed849b4f4
--- a/qtmobileextensions/src/keycapture/tsrc/test_xqkeycapture.cpp	Mon May 03 13:18:40 2010 +0300
+++ b/qtmobileextensions/src/keycapture/tsrc/test_xqkeycapture.cpp	Fri May 14 16:41:33 2010 +0300
@@ -43,40 +43,76 @@
 
     void testCaptureKey_data();
     void testCaptureKey();
-	
+
+    void testCaptureKeyList_data();
+    void testCaptureKeyList();
+
 	void testCaptureKey_S60_data();
 	void testCaptureKey_S60();
 
+    void testCaptureKeyList_S60_data();
+	void testCaptureKeyList_S60();
+
     void testCaptureKeyUpAndDowns_data();
     void testCaptureKeyUpAndDowns();
-	
+
+    void testCaptureKeyUpAndDownsList_data();
+    void testCaptureKeyUpAndDownsList();
+
     void testCaptureKeyUpAndDowns_S60_data();
     void testCaptureKeyUpAndDowns_S60();
-    
+
+    void testCaptureKeyUpAndDownsList_S60_data();
+    void testCaptureKeyUpAndDownsList_S60();
+
     void testCaptureLongKey_data();
     void testCaptureLongKey();
-	
+
+    void testCaptureLongKeyList_data();
+    void testCaptureLongKeyList();
+
     void testCaptureLongKey_S60_data();
     void testCaptureLongKey_S60();
-    
+
+    void testCaptureLongKeyList_S60_data();
+    void testCaptureLongKeyList_S60();
+
     void testCancelCaptureKey_data();
     void testCancelCaptureKey();
-	
+
+    void testCancelCaptureKeyList_data();
+    void testCancelCaptureKeyList();
+
     void testCancelCaptureKey_S60_data();
     void testCancelCaptureKey_S60();
 
+    void testCancelCaptureKeyList_S60_data();
+    void testCancelCaptureKeyList_S60();
+
     void testCancelCaptureKeyUpAndDowns_data();
     void testCancelCaptureKeyUpAndDowns();
-	
+
+    void testCancelCaptureKeyUpAndDownsList_data();
+    void testCancelCaptureKeyUpAndDownsList();
+
     void testCancelCaptureKeyUpAndDowns_S60_data();
     void testCancelCaptureKeyUpAndDowns_S60();
-    
+
+    void testCancelCaptureKeyUpAndDownsList_S60_data();
+    void testCancelCaptureKeyUpAndDownsList_S60();
+
     void testCancelCaptureLongKey_data();
     void testCancelCaptureLongKey();
-	
+
+    void testCancelCaptureLongKeyList_data();
+    void testCancelCaptureLongKeyList();
+
     void testCancelCaptureLongKey_S60_data();
     void testCancelCaptureLongKey_S60();
 
+    void testCancelCaptureLongKeyList_S60_data();
+    void testCancelCaptureLongKeyList_S60();
+
     void testErrorString();
     void testErrorId();
 	
@@ -256,103 +292,21 @@
     additionalResults << additionalSymbianKey << symbianMask << symbianModifier;
     
     MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+
     keyCapture->captureKey( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+
+//    keyCapture->captureKey( QList<Qt::Key>() << static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
 }
 
-////////////////////////////////////////////////////////////////
-//Capture Key Up And Downs
-////////////////////////////////////////////////////////////////
-void TestXqKeyCapture::testCaptureKeyUpAndDowns_data()
+void TestXqKeyCapture::testCaptureKeyList_data() 
 {
-    QTest::addColumn<unsigned int>("qtKey");
-    QTest::addColumn<unsigned int>("qtMask");
-    QTest::addColumn<unsigned int>("qtModifier");
-
-    QTest::addColumn<unsigned int>("symbianKey");
-    QTest::addColumn<unsigned int>("symbianMask");
-    QTest::addColumn<unsigned int>("symbianModifier");
-        
-    QTest::addColumn<long int>("reqNum");
-    
-    QTest::addColumn<bool>("additional");
-    QTest::addColumn<unsigned int>("additionalSymbianKey");
-    
-    QTest::newRow("esc_key") << static_cast<unsigned int> ( Qt::Key_Escape ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier ) 
-                            << static_cast<unsigned int> ( EStdKeyEscape )
-                            << static_cast<unsigned int> ( 0 )
-                            << static_cast<unsigned int> ( 0 )
-                            << static_cast<long int> ( 12 )
-                            << false
-                            << static_cast<unsigned int> ( 0 );
+    testCaptureKey_data();
 }
 
-void TestXqKeyCapture::testCaptureKeyUpAndDowns()
+void TestXqKeyCapture::testCaptureKeyList()
 {
     numOfArgs = 3;
-    actionType = WGATCaptureKeyUpAndDowns;
-    additionalResult = false;
-    ignoreWindowGroupAction = false;
-    
-    QFETCH(unsigned int, qtKey);
-    QFETCH(unsigned int, qtMask);
-    QFETCH(unsigned int, qtModifier);
-
-    QFETCH(unsigned int, symbianKey);
-    QFETCH(unsigned int, symbianMask);
-    QFETCH(unsigned int, symbianModifier);
-
-    QFETCH(long int, reqNum);
-    
-    QFETCH(bool, additional);
-    QFETCH(unsigned int, additionalSymbianKey);
-    
-    willBeAdditionalRequest = additional;
-    
-    results.clear();
-    results << symbianKey << symbianMask << symbianModifier;
-    
-    additionalResults.clear();
-    additionalResults << additionalSymbianKey << symbianMask << symbianModifier;
-    
-    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
-    keyCapture->captureKeyUpAndDowns( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
-}
-
-////////////////////////////////////////////////////////////////
-//Capture Key Up And Downs
-////////////////////////////////////////////////////////////////
-void TestXqKeyCapture::testCaptureKeyUpAndDowns_S60_data()
-{
-    QTest::addColumn<unsigned int>("qtKey");
-    QTest::addColumn<unsigned int>("qtMask");
-    QTest::addColumn<unsigned int>("qtModifier");
-
-    QTest::addColumn<unsigned int>("symbianKey");
-    QTest::addColumn<unsigned int>("symbianMask");
-    QTest::addColumn<unsigned int>("symbianModifier");
-        
-    QTest::addColumn<long int>("reqNum");
-    
-    QTest::addColumn<bool>("additional");
-    QTest::addColumn<unsigned int>("additionalSymbianKey");
-    
-    QTest::newRow("esc_key") << static_cast<unsigned int> ( EStdKeyEscape ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier ) 
-                            << static_cast<unsigned int> ( EStdKeyEscape )
-                            << static_cast<unsigned int> ( 0 )
-                            << static_cast<unsigned int> ( 0 )
-                            << static_cast<long int> ( 12 )
-                            << false
-                            << static_cast<unsigned int> ( 0 );
-}
-
-void TestXqKeyCapture::testCaptureKeyUpAndDowns_S60()
-{
-    numOfArgs = 3;
-    actionType = WGATCaptureKeyUpAndDowns;
+    actionType = WGATCaptureKey;
     additionalResult = false;
     ignoreWindowGroupAction = false;
     
@@ -378,570 +332,13 @@
     additionalResults << additionalSymbianKey << symbianMask << symbianModifier;
     
     MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
-    keyCapture->captureKeyUpAndDowns( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
-}
 
-////////////////////////////////////////////////////////////////
-//Capture Long Key
-////////////////////////////////////////////////////////////////
-void TestXqKeyCapture::testCaptureLongKey_data()
-{
-    QTest::addColumn<unsigned int>("qtKey");
-    QTest::addColumn<unsigned int>("qtMask");
-    QTest::addColumn<unsigned int>("qtModifier");
-    QTest::addColumn<int>("longFlags");
-    
-    QTest::addColumn<unsigned int>("symbianKey");
-    QTest::addColumn<unsigned int>("symbianMask");
-    QTest::addColumn<unsigned int>("symbianModifier");
-    QTest::addColumn<int>("symbianPriority");
-    QTest::addColumn<int>("symbianLongFlags");
-        
-    QTest::addColumn<long int>("reqNum");
-    
-    QTest::addColumn<bool>("additional");
-    QTest::addColumn<unsigned int>("additionalSymbianKey");
-    
-    
-    QTest::newRow("esc_key") << static_cast<unsigned int> ( Qt::Key_Escape ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier ) 
-                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
-                            << static_cast<unsigned int> ( EKeyEscape )
-                            << static_cast<unsigned int> ( 0 )
-                            << static_cast<unsigned int> ( 0 )
-                            << static_cast<int> ( 0 ) //priority
-                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
-                            << static_cast<long int> ( 12 )
-                            << false
-                            << static_cast<unsigned int> ( 0 );
-
-}
-
-void TestXqKeyCapture::testCaptureLongKey()
-{
-    numOfArgs = 6;
-    actionType = WGATCaptureLongKey;
-    additionalResult = false;
-    ignoreWindowGroupAction = false;
-    
-    QFETCH(unsigned int, qtKey);
-    QFETCH(unsigned int, qtMask);
-    QFETCH(unsigned int, qtModifier);
-    QFETCH(int, longFlags);
-    
-    QFETCH(unsigned int, symbianKey);
-    QFETCH(unsigned int, symbianMask);
-    QFETCH(unsigned int, symbianModifier);
-    QFETCH(int, symbianPriority);
-    QFETCH(int, symbianLongFlags);
-    
-    QFETCH(long int, reqNum);
-    
-    QFETCH(bool, additional);
-    QFETCH(unsigned int, additionalSymbianKey);
-    
-    willBeAdditionalRequest = additional;
-    
-    results.clear();
-    results << symbianKey << symbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
-    
-    additionalResults.clear();
-    additionalResults << additionalSymbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
-    
-    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
-    keyCapture->captureLongKey( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
-}
-
-////////////////////////////////////////////////////////////////
-//Capture Long Key
-////////////////////////////////////////////////////////////////
-void TestXqKeyCapture::testCaptureLongKey_S60_data()
-{
-    QTest::addColumn<unsigned int>("qtKey");
-    QTest::addColumn<unsigned int>("qtMask");
-    QTest::addColumn<unsigned int>("qtModifier");
-    QTest::addColumn<int>("longFlags");
-    
-    QTest::addColumn<unsigned int>("symbianKey");
-    QTest::addColumn<unsigned int>("symbianMask");
-    QTest::addColumn<unsigned int>("symbianModifier");
-    QTest::addColumn<int>("symbianPriority");
-    QTest::addColumn<int>("symbianLongFlags");
-        
-    QTest::addColumn<long int>("reqNum");
-    
-    QTest::addColumn<bool>("additional");
-    QTest::addColumn<unsigned int>("additionalSymbianKey");
-    
-    
-    QTest::newRow("esc_key") << static_cast<unsigned int> ( EKeyEscape ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier ) 
-                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
-                            << static_cast<unsigned int> ( EKeyEscape )
-                            << static_cast<unsigned int> ( 0 )
-                            << static_cast<unsigned int> ( 0 )
-                            << static_cast<int> ( 0 ) //priority
-                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
-                            << static_cast<long int> ( 12 )
-                            << false
-                            << static_cast<unsigned int> ( 0 );
-
-}
-
-void TestXqKeyCapture::testCaptureLongKey_S60()
-{
-    numOfArgs = 6;
-    actionType = WGATCaptureLongKey;
-    additionalResult = false;
-    ignoreWindowGroupAction = false;
-    
-    QFETCH(unsigned int, qtKey);
-    QFETCH(unsigned int, qtMask);
-    QFETCH(unsigned int, qtModifier);
-    QFETCH(int, longFlags);
-    
-    QFETCH(unsigned int, symbianKey);
-    QFETCH(unsigned int, symbianMask);
-    QFETCH(unsigned int, symbianModifier);
-    QFETCH(int, symbianPriority);
-    QFETCH(int, symbianLongFlags);
-    
-    QFETCH(long int, reqNum);
-    
-    QFETCH(bool, additional);
-    QFETCH(unsigned int, additionalSymbianKey);
-    
-    willBeAdditionalRequest = additional;
-    
-    results.clear();
-    results << symbianKey << symbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
-    
-    additionalResults.clear();
-    additionalResults << additionalSymbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
-    
-    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
-    keyCapture->captureLongKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
-}
-
-////////////////////////////////////////////////////////////////
-// CANCEL
-//Cancel Capture Key
-////////////////////////////////////////////////////////////////
-void TestXqKeyCapture::testCancelCaptureKey_data()
-{
-    QTest::addColumn<unsigned int>("qtKey");
-    QTest::addColumn<unsigned int>("qtMask");
-    QTest::addColumn<unsigned int>("qtModifier");
-
-    QTest::addColumn<long int>("reqNum");
-    
-    QTest::addColumn<bool>("additional");
-    QTest::addColumn<long int>("additionalReqNum");
-    
-    QTest::newRow("esc_key") << static_cast<unsigned int> ( Qt::Key_Escape ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier ) 
-                            << static_cast<long int> ( 12 )
-                            << false
-                            << static_cast<long int> ( 0 );
-
-    QTest::newRow("esc_key_not_supported") << static_cast<unsigned int> ( Qt::Key_Escape ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier ) 
-                            << static_cast<long int> ( KErrNotSupported )
-                            << false
-                            << static_cast<long int> ( 0 );
-    
-    QTest::newRow("esc_key_modifiers") << static_cast<unsigned int> ( Qt::Key_Escape ) 
-                            << static_cast<unsigned int> ( Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt:: KeypadModifier )
-                            << static_cast<unsigned int> ( Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt:: KeypadModifier ) 
-                            << static_cast<long int> ( 13 )
-                            << false
-                            << static_cast<long int> ( 0 );
-    
-    QTest::newRow("shift_key") << static_cast<unsigned int> ( Qt::Key_Shift ) 
-                            << static_cast<unsigned int> ( Qt::ShiftModifier )
-                            << static_cast<unsigned int> ( Qt::ControlModifier ) 
-                            << static_cast<long int> ( 15 )
-                            << true
-                            << static_cast<long int> ( 16 );
-
-    QTest::newRow("control_key") << static_cast<unsigned int> ( Qt::Key_Control ) 
-                            << static_cast<unsigned int> ( Qt::ControlModifier )
-                            << static_cast<unsigned int> ( Qt::ShiftModifier ) 
-                            << static_cast<long int> ( 17 )
-                            << true
-                            << static_cast<long int> ( 18 );
-                            
-    QTest::newRow("meta_key") << static_cast<unsigned int> ( Qt::Key_Meta ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier ) 
-                            << static_cast<long int> ( 19 )
-                            << true
-                            << static_cast<long int> ( 20 );
-
-
-}
-
-void TestXqKeyCapture::testCancelCaptureKey()
-{
-    numOfArgs = 1;
-    actionType = WGATCancelCaptureKey;
-    additionalResult = false;
-    
-    QFETCH(unsigned int, qtKey);
-    QFETCH(unsigned int, qtMask);
-    QFETCH(unsigned int, qtModifier);
-
-    QFETCH(long int, reqNum);
-    
-    QFETCH(bool, additional);
-    QFETCH(long int, additionalReqNum);
-    
-    willBeAdditionalRequest = additional;
-    additionalRequestHandle = additionalReqNum;
-    
-    cancelResults.clear();
-    cancelResults << reqNum;
-    
-    cancelAdditionalResults.clear();
-    cancelAdditionalResults << additionalReqNum;
-    
-    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
-    ignoreWindowGroupAction = true;
-    keyCapture->captureKey( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
-    ignoreWindowGroupAction = false;
-    willBeAdditionalRequest = additional;
-    keyCapture->cancelCaptureKey( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+    keyCapture->captureKey( QList<Qt::Key>() << static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
 }
 
 ////////////////////////////////////////////////////////////////
-// CANCEL
-//Cancel Capture Key
-////////////////////////////////////////////////////////////////
-void TestXqKeyCapture::testCancelCaptureKey_S60_data()
-{
-    QTest::addColumn<unsigned int>("qtKey");
-    QTest::addColumn<unsigned int>("qtMask");
-    QTest::addColumn<unsigned int>("qtModifier");
-
-    QTest::addColumn<long int>("reqNum");
-    
-    QTest::addColumn<bool>("additional");
-    QTest::addColumn<long int>("additionalReqNum");
-    
-    QTest::newRow("esc_key") << static_cast<unsigned int> ( EKeyEscape ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier ) 
-                            << static_cast<long int> ( 12 )
-                            << false
-                            << static_cast<long int> ( 0 );
-
-    QTest::newRow("esc_key_not_supported") << static_cast<unsigned int> ( EKeyEscape ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier ) 
-                            << static_cast<long int> ( KErrNotSupported )
-                            << false
-                            << static_cast<long int> ( 0 );
-    
-    QTest::newRow("esc_key_modifiers") << static_cast<unsigned int> ( EKeyEscape ) 
-                            << static_cast<unsigned int> ( Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt:: KeypadModifier )
-                            << static_cast<unsigned int> ( Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt:: KeypadModifier ) 
-                            << static_cast<long int> ( 13 )
-                            << false
-                            << static_cast<long int> ( 0 );
-    
-    QTest::newRow("shift_key") << static_cast<unsigned int> ( EKeyLeftShift ) 
-                            << static_cast<unsigned int> ( Qt::ShiftModifier )
-                            << static_cast<unsigned int> ( Qt::ControlModifier ) 
-                            << static_cast<long int> ( 15 )
-                            << true
-                            << static_cast<long int> ( 16 );
-
-    QTest::newRow("control_key") << static_cast<unsigned int> ( EKeyLeftCtrl ) 
-                            << static_cast<unsigned int> ( Qt::ControlModifier )
-                            << static_cast<unsigned int> ( Qt::ShiftModifier ) 
-                            << static_cast<long int> ( 17 )
-                            << true
-                            << static_cast<long int> ( 18 );
-                            
-    QTest::newRow("meta_key") << static_cast<unsigned int> ( EKeyRightCtrl ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier ) 
-                            << static_cast<long int> ( 19 )
-                            << true
-                            << static_cast<long int> ( 20 );
-
-
-}
-
-void TestXqKeyCapture::testCancelCaptureKey_S60()
-{
-    numOfArgs = 1;
-    actionType = WGATCancelCaptureKey;
-    additionalResult = false;
-    
-    QFETCH(unsigned int, qtKey);
-    QFETCH(unsigned int, qtMask);
-    QFETCH(unsigned int, qtModifier);
-
-    QFETCH(long int, reqNum);
-    
-    QFETCH(bool, additional);
-    QFETCH(long int, additionalReqNum);
-    
-    willBeAdditionalRequest = additional;
-    additionalRequestHandle = additionalReqNum;
-    
-    cancelResults.clear();
-    cancelResults << reqNum;
-    
-    cancelAdditionalResults.clear();
-    cancelAdditionalResults << additionalReqNum;
-    
-    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
-    ignoreWindowGroupAction = true;
-    keyCapture->captureKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
-    ignoreWindowGroupAction = false;
-    willBeAdditionalRequest = additional;
-    keyCapture->cancelCaptureKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
-}
-
-////////////////////////////////////////////////////////////////
-//Cancel Capture Key Up And Downs
-////////////////////////////////////////////////////////////////
-void TestXqKeyCapture::testCancelCaptureKeyUpAndDowns_data()
-{
-    QTest::addColumn<unsigned int>("qtKey");
-    QTest::addColumn<unsigned int>("qtMask");
-    QTest::addColumn<unsigned int>("qtModifier");
-
-    QTest::addColumn<long int>("reqNum");
-    
-    QTest::addColumn<bool>("additional");
-    QTest::addColumn<long int>("additionalReqNum");
-    
-    QTest::newRow("esc_key") << static_cast<unsigned int> ( Qt::Key_Escape ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier ) 
-                            << static_cast<long int> ( 34 )
-                            << false
-                            << static_cast<long int> ( 35 );
-
-}
-
-void TestXqKeyCapture::testCancelCaptureKeyUpAndDowns()
-{
-    numOfArgs = 1;
-    actionType = WGATCancelCaptureKeyUpAndDowns;
-    additionalResult = false;
-    
-    QFETCH(unsigned int, qtKey);
-    QFETCH(unsigned int, qtMask);
-    QFETCH(unsigned int, qtModifier);
-
-    QFETCH(long int, reqNum);
-    
-    QFETCH(bool, additional);
-    QFETCH(long int, additionalReqNum);
-    
-    willBeAdditionalRequest = additional;
-    additionalRequestHandle = additionalReqNum;
-    
-    cancelResults.clear();
-    cancelResults << reqNum;
-    
-    cancelAdditionalResults.clear();
-    cancelAdditionalResults << additionalReqNum;
-    
-    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
-    ignoreWindowGroupAction = true;
-    keyCapture->captureKeyUpAndDowns( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
-    ignoreWindowGroupAction = false;
-    willBeAdditionalRequest = additional;
-    keyCapture->cancelCaptureKeyUpAndDowns( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
-}
-
-////////////////////////////////////////////////////////////////
-//Cancel Capture Key Up And Downs
+//Capture Key Up And Downs
 ////////////////////////////////////////////////////////////////
-void TestXqKeyCapture::testCancelCaptureKeyUpAndDowns_S60_data()
-{
-    QTest::addColumn<unsigned int>("qtKey");
-    QTest::addColumn<unsigned int>("qtMask");
-    QTest::addColumn<unsigned int>("qtModifier");
-
-    QTest::addColumn<long int>("reqNum");
-    
-    QTest::addColumn<bool>("additional");
-    QTest::addColumn<long int>("additionalReqNum");
-    
-    QTest::newRow("esc_key") << static_cast<unsigned int> ( EKeyEscape ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier ) 
-                            << static_cast<long int> ( 34 )
-                            << false
-                            << static_cast<long int> ( 35 );
-
-}
-
-void TestXqKeyCapture::testCancelCaptureKeyUpAndDowns_S60()
-{
-    numOfArgs = 1;
-    actionType = WGATCancelCaptureKeyUpAndDowns;
-    additionalResult = false;
-    
-    QFETCH(unsigned int, qtKey);
-    QFETCH(unsigned int, qtMask);
-    QFETCH(unsigned int, qtModifier);
-
-    QFETCH(long int, reqNum);
-    
-    QFETCH(bool, additional);
-    QFETCH(long int, additionalReqNum);
-    
-    willBeAdditionalRequest = additional;
-    additionalRequestHandle = additionalReqNum;
-    
-    cancelResults.clear();
-    cancelResults << reqNum;
-    
-    cancelAdditionalResults.clear();
-    cancelAdditionalResults << additionalReqNum;
-    
-    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
-    ignoreWindowGroupAction = true;
-    keyCapture->captureKeyUpAndDowns( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
-    ignoreWindowGroupAction = false;
-    willBeAdditionalRequest = additional;
-    keyCapture->cancelCaptureKeyUpAndDowns( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
-}
-
-////////////////////////////////////////////////////////////////
-//Cancel Capture Long Key
-////////////////////////////////////////////////////////////////
-void TestXqKeyCapture::testCancelCaptureLongKey_data()
-{
-    QTest::addColumn<unsigned int>("qtKey");
-    QTest::addColumn<unsigned int>("qtMask");
-    QTest::addColumn<unsigned int>("qtModifier");
-    QTest::addColumn<int>("longFlags");
-    
-    QTest::addColumn<long int>("reqNum");
-    
-    QTest::addColumn<bool>("additional");
-    QTest::addColumn<long int>("additionalReqNum");
-    
-    QTest::newRow("esc_key") << static_cast<unsigned int> ( Qt::Key_Escape ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
-                            << static_cast<long int> ( 22 )
-                            << false
-                            << static_cast<long int> ( 23 );
-
-
-
-
-
-}
-
-void TestXqKeyCapture::testCancelCaptureLongKey()
-{
-    numOfArgs = 1;
-    actionType = WGATCancelCaptureLongKey;
-    additionalResult = false;
-    
-    QFETCH(unsigned int, qtKey);
-    QFETCH(unsigned int, qtMask);
-    QFETCH(unsigned int, qtModifier);
-    QFETCH(int, longFlags);
-
-    QFETCH(long int, reqNum);
-    
-    QFETCH(bool, additional);
-    QFETCH(long int, additionalReqNum);
-    
-    willBeAdditionalRequest = additional;
-    additionalRequestHandle = additionalReqNum;
-    
-    cancelResults.clear();
-    cancelResults << reqNum;
-    
-    cancelAdditionalResults.clear();
-    cancelAdditionalResults << additionalReqNum;
-    
-    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
-    ignoreWindowGroupAction = true;
-    keyCapture->captureLongKey( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
-    ignoreWindowGroupAction = false;
-    willBeAdditionalRequest = additional;
-    keyCapture->cancelCaptureLongKey( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
-}
-
-////////////////////////////////////////////////////////////////
-//Cancel Capture Long Key
-////////////////////////////////////////////////////////////////
-void TestXqKeyCapture::testCancelCaptureLongKey_S60_data()
-{
-    QTest::addColumn<unsigned int>("qtKey");
-    QTest::addColumn<unsigned int>("qtMask");
-    QTest::addColumn<unsigned int>("qtModifier");
-    QTest::addColumn<int>("longFlags");
-    
-    QTest::addColumn<long int>("reqNum");
-    
-    QTest::addColumn<bool>("additional");
-    QTest::addColumn<long int>("additionalReqNum");
-    
-    QTest::newRow("esc_key") << static_cast<unsigned int> ( EKeyEscape ) 
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<unsigned int> ( Qt::NoModifier )
-                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
-                            << static_cast<long int> ( 22 )
-                            << false
-                            << static_cast<long int> ( 23 );
-
-
-
-
-
-}
-
-void TestXqKeyCapture::testCancelCaptureLongKey_S60()
-{
-    numOfArgs = 1;
-    actionType = WGATCancelCaptureLongKey;
-    additionalResult = false;
-    
-    QFETCH(unsigned int, qtKey);
-    QFETCH(unsigned int, qtMask);
-    QFETCH(unsigned int, qtModifier);
-    QFETCH(int, longFlags);
-
-    QFETCH(long int, reqNum);
-    
-    QFETCH(bool, additional);
-    QFETCH(long int, additionalReqNum);
-    
-    willBeAdditionalRequest = additional;
-    additionalRequestHandle = additionalReqNum;
-    
-    cancelResults.clear();
-    cancelResults << reqNum;
-    
-    cancelAdditionalResults.clear();
-    cancelAdditionalResults << additionalReqNum;
-    
-    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
-    ignoreWindowGroupAction = true;
-    keyCapture->captureLongKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
-    ignoreWindowGroupAction = false;
-    willBeAdditionalRequest = additional;
-    keyCapture->cancelCaptureLongKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
-}
 
 void TestXqKeyCapture::testCaptureKey_S60_data()
 {
@@ -1053,6 +450,1107 @@
     keyCapture->captureKey( static_cast<TUint> (s60Key), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
 }
 
+void TestXqKeyCapture::testCaptureKeyList_S60_data()
+{
+    testCaptureKey_S60_data();
+}
+
+void TestXqKeyCapture::testCaptureKeyList_S60()
+{
+    numOfArgs = 3;
+    actionType = WGATCaptureKey;
+    additionalResult = false;
+    ignoreWindowGroupAction = false;
+    
+    QFETCH(unsigned int, s60Key);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(unsigned int, symbianKey);
+    QFETCH(unsigned int, symbianMask);
+    QFETCH(unsigned int, symbianModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(unsigned int, additionalSymbianKey);
+    
+    willBeAdditionalRequest = additional;
+    
+    results.clear();
+    results << symbianKey << symbianMask << symbianModifier;
+    
+    additionalResults.clear();
+    additionalResults << additionalSymbianKey << symbianMask << symbianModifier;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    keyCapture->captureKey(QList<TUint>() << static_cast<TUint> (s60Key), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+////////////////////////////////////////////////////////////////
+//Capture Key Up And Downs
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCaptureKeyUpAndDowns_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+
+    QTest::addColumn<unsigned int>("symbianKey");
+    QTest::addColumn<unsigned int>("symbianMask");
+    QTest::addColumn<unsigned int>("symbianModifier");
+        
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<unsigned int>("additionalSymbianKey");
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( Qt::Key_Escape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<unsigned int> ( EStdKeyEscape )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<long int> ( 12 )
+                            << false
+                            << static_cast<unsigned int> ( 0 );
+}
+
+void TestXqKeyCapture::testCaptureKeyUpAndDowns()
+{
+    numOfArgs = 3;
+    actionType = WGATCaptureKeyUpAndDowns;
+    additionalResult = false;
+    ignoreWindowGroupAction = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(unsigned int, symbianKey);
+    QFETCH(unsigned int, symbianMask);
+    QFETCH(unsigned int, symbianModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(unsigned int, additionalSymbianKey);
+    
+    willBeAdditionalRequest = additional;
+    
+    results.clear();
+    results << symbianKey << symbianMask << symbianModifier;
+    
+    additionalResults.clear();
+    additionalResults << additionalSymbianKey << symbianMask << symbianModifier;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    keyCapture->captureKeyUpAndDowns( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+void TestXqKeyCapture::testCaptureKeyUpAndDownsList_data()
+{
+    testCaptureKeyUpAndDowns_data();
+}
+
+void TestXqKeyCapture::testCaptureKeyUpAndDownsList()
+{
+    numOfArgs = 3;
+    actionType = WGATCaptureKeyUpAndDowns;
+    additionalResult = false;
+    ignoreWindowGroupAction = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(unsigned int, symbianKey);
+    QFETCH(unsigned int, symbianMask);
+    QFETCH(unsigned int, symbianModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(unsigned int, additionalSymbianKey);
+    
+    willBeAdditionalRequest = additional;
+    
+    results.clear();
+    results << symbianKey << symbianMask << symbianModifier;
+    
+    additionalResults.clear();
+    additionalResults << additionalSymbianKey << symbianMask << symbianModifier;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    keyCapture->captureKeyUpAndDowns( QList<Qt::Key>() << static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+////////////////////////////////////////////////////////////////
+//Capture Key Up And Downs
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCaptureKeyUpAndDowns_S60_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+
+    QTest::addColumn<unsigned int>("symbianKey");
+    QTest::addColumn<unsigned int>("symbianMask");
+    QTest::addColumn<unsigned int>("symbianModifier");
+        
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<unsigned int>("additionalSymbianKey");
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( EStdKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<unsigned int> ( EStdKeyEscape )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<long int> ( 12 )
+                            << false
+                            << static_cast<unsigned int> ( 0 );
+}
+
+void TestXqKeyCapture::testCaptureKeyUpAndDowns_S60()
+{
+    numOfArgs = 3;
+    actionType = WGATCaptureKeyUpAndDowns;
+    additionalResult = false;
+    ignoreWindowGroupAction = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(unsigned int, symbianKey);
+    QFETCH(unsigned int, symbianMask);
+    QFETCH(unsigned int, symbianModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(unsigned int, additionalSymbianKey);
+    
+    willBeAdditionalRequest = additional;
+    
+    results.clear();
+    results << symbianKey << symbianMask << symbianModifier;
+    
+    additionalResults.clear();
+    additionalResults << additionalSymbianKey << symbianMask << symbianModifier;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    keyCapture->captureKeyUpAndDowns( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+void TestXqKeyCapture::testCaptureKeyUpAndDownsList_S60_data()
+{
+    testCaptureKeyUpAndDowns_S60_data();
+}
+
+void TestXqKeyCapture::testCaptureKeyUpAndDownsList_S60()
+{
+    numOfArgs = 3;
+    actionType = WGATCaptureKeyUpAndDowns;
+    additionalResult = false;
+    ignoreWindowGroupAction = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(unsigned int, symbianKey);
+    QFETCH(unsigned int, symbianMask);
+    QFETCH(unsigned int, symbianModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(unsigned int, additionalSymbianKey);
+    
+    willBeAdditionalRequest = additional;
+    
+    results.clear();
+    results << symbianKey << symbianMask << symbianModifier;
+    
+    additionalResults.clear();
+    additionalResults << additionalSymbianKey << symbianMask << symbianModifier;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    keyCapture->captureKeyUpAndDowns( QList<TUint>() << static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+////////////////////////////////////////////////////////////////
+//Capture Long Key
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCaptureLongKey_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+    QTest::addColumn<int>("longFlags");
+    
+    QTest::addColumn<unsigned int>("symbianKey");
+    QTest::addColumn<unsigned int>("symbianMask");
+    QTest::addColumn<unsigned int>("symbianModifier");
+    QTest::addColumn<int>("symbianPriority");
+    QTest::addColumn<int>("symbianLongFlags");
+        
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<unsigned int>("additionalSymbianKey");
+    
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( Qt::Key_Escape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
+                            << static_cast<unsigned int> ( EKeyEscape )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<int> ( 0 ) //priority
+                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
+                            << static_cast<long int> ( 12 )
+                            << false
+                            << static_cast<unsigned int> ( 0 );
+
+}
+
+void TestXqKeyCapture::testCaptureLongKey()
+{
+    numOfArgs = 6;
+    actionType = WGATCaptureLongKey;
+    additionalResult = false;
+    ignoreWindowGroupAction = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+    QFETCH(int, longFlags);
+    
+    QFETCH(unsigned int, symbianKey);
+    QFETCH(unsigned int, symbianMask);
+    QFETCH(unsigned int, symbianModifier);
+    QFETCH(int, symbianPriority);
+    QFETCH(int, symbianLongFlags);
+    
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(unsigned int, additionalSymbianKey);
+    
+    willBeAdditionalRequest = additional;
+    
+    results.clear();
+    results << symbianKey << symbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
+    
+    additionalResults.clear();
+    additionalResults << additionalSymbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    keyCapture->captureLongKey( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+}
+
+void TestXqKeyCapture::testCaptureLongKeyList_data()
+{
+    testCaptureLongKey_data();
+}
+
+void TestXqKeyCapture::testCaptureLongKeyList()
+{
+    numOfArgs = 6;
+    actionType = WGATCaptureLongKey;
+    additionalResult = false;
+    ignoreWindowGroupAction = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+    QFETCH(int, longFlags);
+    
+    QFETCH(unsigned int, symbianKey);
+    QFETCH(unsigned int, symbianMask);
+    QFETCH(unsigned int, symbianModifier);
+    QFETCH(int, symbianPriority);
+    QFETCH(int, symbianLongFlags);
+    
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(unsigned int, additionalSymbianKey);
+    
+    willBeAdditionalRequest = additional;
+    
+    results.clear();
+    results << symbianKey << symbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
+    
+    additionalResults.clear();
+    additionalResults << additionalSymbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    keyCapture->captureLongKey( QList<Qt::Key>() << static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+}
+
+////////////////////////////////////////////////////////////////
+//Capture Long Key
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCaptureLongKey_S60_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+    QTest::addColumn<int>("longFlags");
+    
+    QTest::addColumn<unsigned int>("symbianKey");
+    QTest::addColumn<unsigned int>("symbianMask");
+    QTest::addColumn<unsigned int>("symbianModifier");
+    QTest::addColumn<int>("symbianPriority");
+    QTest::addColumn<int>("symbianLongFlags");
+        
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<unsigned int>("additionalSymbianKey");
+    
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
+                            << static_cast<unsigned int> ( EKeyEscape )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<unsigned int> ( 0 )
+                            << static_cast<int> ( 0 ) //priority
+                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
+                            << static_cast<long int> ( 12 )
+                            << false
+                            << static_cast<unsigned int> ( 0 );
+
+}
+
+void TestXqKeyCapture::testCaptureLongKey_S60()
+{
+    numOfArgs = 6;
+    actionType = WGATCaptureLongKey;
+    additionalResult = false;
+    ignoreWindowGroupAction = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+    QFETCH(int, longFlags);
+    
+    QFETCH(unsigned int, symbianKey);
+    QFETCH(unsigned int, symbianMask);
+    QFETCH(unsigned int, symbianModifier);
+    QFETCH(int, symbianPriority);
+    QFETCH(int, symbianLongFlags);
+    
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(unsigned int, additionalSymbianKey);
+    
+    willBeAdditionalRequest = additional;
+    
+    results.clear();
+    results << symbianKey << symbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
+    
+    additionalResults.clear();
+    additionalResults << additionalSymbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    keyCapture->captureLongKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+}
+
+void TestXqKeyCapture::testCaptureLongKeyList_S60_data()
+{
+    testCaptureLongKey_S60_data();
+}
+
+void TestXqKeyCapture::testCaptureLongKeyList_S60()
+{
+    numOfArgs = 6;
+    actionType = WGATCaptureLongKey;
+    additionalResult = false;
+    ignoreWindowGroupAction = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+    QFETCH(int, longFlags);
+    
+    QFETCH(unsigned int, symbianKey);
+    QFETCH(unsigned int, symbianMask);
+    QFETCH(unsigned int, symbianModifier);
+    QFETCH(int, symbianPriority);
+    QFETCH(int, symbianLongFlags);
+    
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(unsigned int, additionalSymbianKey);
+    
+    willBeAdditionalRequest = additional;
+    
+    results.clear();
+    results << symbianKey << symbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
+    
+    additionalResults.clear();
+    additionalResults << additionalSymbianKey << symbianMask << symbianModifier << symbianPriority << symbianLongFlags;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    keyCapture->captureLongKey( QList<TUint>() << static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+}
+
+////////////////////////////////////////////////////////////////
+// CANCEL
+//Cancel Capture Key
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCancelCaptureKey_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<long int>("additionalReqNum");
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( Qt::Key_Escape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<long int> ( 12 )
+                            << false
+                            << static_cast<long int> ( 0 );
+
+    QTest::newRow("esc_key_not_supported") << static_cast<unsigned int> ( Qt::Key_Escape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<long int> ( KErrNotSupported )
+                            << false
+                            << static_cast<long int> ( 0 );
+    
+    QTest::newRow("esc_key_modifiers") << static_cast<unsigned int> ( Qt::Key_Escape ) 
+                            << static_cast<unsigned int> ( Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt:: KeypadModifier )
+                            << static_cast<unsigned int> ( Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt:: KeypadModifier ) 
+                            << static_cast<long int> ( 13 )
+                            << false
+                            << static_cast<long int> ( 0 );
+    
+    QTest::newRow("shift_key") << static_cast<unsigned int> ( Qt::Key_Shift ) 
+                            << static_cast<unsigned int> ( Qt::ShiftModifier )
+                            << static_cast<unsigned int> ( Qt::ControlModifier ) 
+                            << static_cast<long int> ( 15 )
+                            << true
+                            << static_cast<long int> ( 16 );
+
+    QTest::newRow("control_key") << static_cast<unsigned int> ( Qt::Key_Control ) 
+                            << static_cast<unsigned int> ( Qt::ControlModifier )
+                            << static_cast<unsigned int> ( Qt::ShiftModifier ) 
+                            << static_cast<long int> ( 17 )
+                            << true
+                            << static_cast<long int> ( 18 );
+                            
+    QTest::newRow("meta_key") << static_cast<unsigned int> ( Qt::Key_Meta ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<long int> ( 19 )
+                            << true
+                            << static_cast<long int> ( 20 );
+
+
+}
+
+void TestXqKeyCapture::testCancelCaptureKey()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureKey;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureKey( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureKey( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+void TestXqKeyCapture::testCancelCaptureKeyList_data()
+{
+    testCancelCaptureKey_data();
+}
+
+void TestXqKeyCapture::testCancelCaptureKeyList()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureKey;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureKey( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureKey( QList<Qt::Key>() << static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+////////////////////////////////////////////////////////////////
+// CANCEL
+//Cancel Capture Key
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCancelCaptureKey_S60_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<long int>("additionalReqNum");
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<long int> ( 12 )
+                            << false
+                            << static_cast<long int> ( 0 );
+
+    QTest::newRow("esc_key_not_supported") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<long int> ( KErrNotSupported )
+                            << false
+                            << static_cast<long int> ( 0 );
+    
+    QTest::newRow("esc_key_modifiers") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt:: KeypadModifier )
+                            << static_cast<unsigned int> ( Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt:: KeypadModifier ) 
+                            << static_cast<long int> ( 13 )
+                            << false
+                            << static_cast<long int> ( 0 );
+    
+    QTest::newRow("shift_key") << static_cast<unsigned int> ( EKeyLeftShift ) 
+                            << static_cast<unsigned int> ( Qt::ShiftModifier )
+                            << static_cast<unsigned int> ( Qt::ControlModifier ) 
+                            << static_cast<long int> ( 15 )
+                            << true
+                            << static_cast<long int> ( 16 );
+
+    QTest::newRow("control_key") << static_cast<unsigned int> ( EKeyLeftCtrl ) 
+                            << static_cast<unsigned int> ( Qt::ControlModifier )
+                            << static_cast<unsigned int> ( Qt::ShiftModifier ) 
+                            << static_cast<long int> ( 17 )
+                            << true
+                            << static_cast<long int> ( 18 );
+                            
+    QTest::newRow("meta_key") << static_cast<unsigned int> ( EKeyRightCtrl ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<long int> ( 19 )
+                            << true
+                            << static_cast<long int> ( 20 );
+
+
+}
+
+void TestXqKeyCapture::testCancelCaptureKey_S60()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureKey;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+void TestXqKeyCapture::testCancelCaptureKeyList_S60_data()
+{
+    testCancelCaptureKey_S60_data();
+}
+
+void TestXqKeyCapture::testCancelCaptureKeyList_S60()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureKey;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureKey( QList<TUint>() << static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+////////////////////////////////////////////////////////////////
+//Cancel Capture Key Up And Downs
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCancelCaptureKeyUpAndDowns_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<long int>("additionalReqNum");
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( Qt::Key_Escape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<long int> ( 34 )
+                            << false
+                            << static_cast<long int> ( 35 );
+
+}
+
+void TestXqKeyCapture::testCancelCaptureKeyUpAndDowns()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureKeyUpAndDowns;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureKeyUpAndDowns( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureKeyUpAndDowns( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+void TestXqKeyCapture::testCancelCaptureKeyUpAndDownsList_data()
+{
+    testCancelCaptureKeyUpAndDowns_data();
+}
+
+void TestXqKeyCapture::testCancelCaptureKeyUpAndDownsList()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureKeyUpAndDowns;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureKeyUpAndDowns( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureKeyUpAndDowns(QList<Qt::Key>() << static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+////////////////////////////////////////////////////////////////
+//Cancel Capture Key Up And Downs
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCancelCaptureKeyUpAndDowns_S60_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<long int>("additionalReqNum");
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier ) 
+                            << static_cast<long int> ( 34 )
+                            << false
+                            << static_cast<long int> ( 35 );
+
+}
+
+void TestXqKeyCapture::testCancelCaptureKeyUpAndDowns_S60()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureKeyUpAndDowns;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureKeyUpAndDowns( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureKeyUpAndDowns( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+void TestXqKeyCapture::testCancelCaptureKeyUpAndDownsList_S60_data()
+{
+    testCancelCaptureKeyUpAndDowns_S60_data();
+}
+
+void TestXqKeyCapture::testCancelCaptureKeyUpAndDownsList_S60()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureKeyUpAndDowns;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureKeyUpAndDowns( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureKeyUpAndDowns(QList<TUint>() << static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ) );
+}
+
+////////////////////////////////////////////////////////////////
+//Cancel Capture Long Key
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCancelCaptureLongKey_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+    QTest::addColumn<int>("longFlags");
+    
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<long int>("additionalReqNum");
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( Qt::Key_Escape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
+                            << static_cast<long int> ( 22 )
+                            << false
+                            << static_cast<long int> ( 23 );
+
+
+
+
+
+}
+
+void TestXqKeyCapture::testCancelCaptureLongKey()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureLongKey;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+    QFETCH(int, longFlags);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureLongKey( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureLongKey( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+}
+
+void TestXqKeyCapture::testCancelCaptureLongKeyList_data()
+{
+    testCancelCaptureLongKey_data();
+}
+
+void TestXqKeyCapture::testCancelCaptureLongKeyList()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureLongKey;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+    QFETCH(int, longFlags);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureLongKey( static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureLongKey( QList<Qt::Key>() << static_cast<Qt::Key> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+}
+
+////////////////////////////////////////////////////////////////
+//Cancel Capture Long Key
+////////////////////////////////////////////////////////////////
+void TestXqKeyCapture::testCancelCaptureLongKey_S60_data()
+{
+    QTest::addColumn<unsigned int>("qtKey");
+    QTest::addColumn<unsigned int>("qtMask");
+    QTest::addColumn<unsigned int>("qtModifier");
+    QTest::addColumn<int>("longFlags");
+    
+    QTest::addColumn<long int>("reqNum");
+    
+    QTest::addColumn<bool>("additional");
+    QTest::addColumn<long int>("additionalReqNum");
+    
+    QTest::newRow("esc_key") << static_cast<unsigned int> ( EKeyEscape ) 
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<unsigned int> ( Qt::NoModifier )
+                            << static_cast<int> ( XqKeyCapture::LongNormal ) 
+                            << static_cast<long int> ( 22 )
+                            << false
+                            << static_cast<long int> ( 23 );
+
+
+
+
+
+}
+
+void TestXqKeyCapture::testCancelCaptureLongKey_S60()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureLongKey;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+    QFETCH(int, longFlags);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureLongKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureLongKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+}
+
+void TestXqKeyCapture::testCancelCaptureLongKeyList_S60_data()
+{
+    testCancelCaptureLongKey_S60_data();
+}
+
+void TestXqKeyCapture::testCancelCaptureLongKeyList_S60()
+{
+    numOfArgs = 1;
+    actionType = WGATCancelCaptureLongKey;
+    additionalResult = false;
+    
+    QFETCH(unsigned int, qtKey);
+    QFETCH(unsigned int, qtMask);
+    QFETCH(unsigned int, qtModifier);
+    QFETCH(int, longFlags);
+
+    QFETCH(long int, reqNum);
+    
+    QFETCH(bool, additional);
+    QFETCH(long int, additionalReqNum);
+    
+    willBeAdditionalRequest = additional;
+    additionalRequestHandle = additionalReqNum;
+    
+    cancelResults.clear();
+    cancelResults << reqNum;
+    
+    cancelAdditionalResults.clear();
+    cancelAdditionalResults << additionalReqNum;
+    
+    MyTestWindowGroup::Instance()->setRequestNumber(reqNum);
+    ignoreWindowGroupAction = true;
+    keyCapture->captureLongKey( static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+    ignoreWindowGroupAction = false;
+    willBeAdditionalRequest = additional;
+    keyCapture->cancelCaptureLongKey(QList<TUint>() << static_cast<TUint> (qtKey), Qt::KeyboardModifier( qtMask ), Qt::KeyboardModifier( qtModifier ), static_cast<XqKeyCapture::LongFlags> (longFlags) );
+}
+
+
+
 ////////////////////////////////////////////////////////////////
 // ERRORS
 //errorString
@@ -1090,10 +1588,10 @@
     QStringList qt;
     QStringList kc;
 
-    QFile qtFile("c:\qkeymapper_s60.cpp");
+    QFile qtFile("c:\\qkeymapper_s60.cpp");
     QVERIFY(qtFile.open(QIODevice::ReadOnly | QIODevice::Text));
     
-    QFile kcFile("c:\keymapper.cpp");
+    QFile kcFile("c:\\keymapper.cpp");
     QVERIFY(kcFile.open(QIODevice::ReadOnly | QIODevice::Text));
     
     QTextStream inQtFile(&qtFile);