sl@0: // Copyright (c) 1996-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0: // All rights reserved.
sl@0: // This component and the accompanying materials are made available
sl@0: // under the terms of "Eclipse Public License v1.0"
sl@0: // which accompanies this distribution, and is available
sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0: //
sl@0: // Initial Contributors:
sl@0: // Nokia Corporation - initial contribution.
sl@0: //
sl@0: // Contributors:
sl@0: //
sl@0: // Description:
sl@0: //
sl@0: 
sl@0: /**
sl@0:  @file
sl@0:  @test
sl@0:  @internalComponent - Internal Symbian test code
sl@0: */
sl@0: 
sl@0: #ifndef __TKEY_H__
sl@0: #define __TKEY_H__
sl@0: 
sl@0: #include <e32std.h>
sl@0: #include <w32std.h>
sl@0: #include "../tlib/testbase.h"
sl@0: #include "AUTO.H"
sl@0: #include <hal.h>
sl@0: #include "TGraphicsHarness.h"
sl@0: 
sl@0: _LIT(KSemaphoreName,"KeyProcSem");
sl@0: 
sl@0: 
sl@0: class CVisibleGroup: public CBase
sl@0: 	{
sl@0: public:
sl@0: 	CVisibleGroup(TInt aScreenNo);
sl@0: 	~CVisibleGroup();
sl@0: 	void ConstructL();
sl@0: 	void SetMode(TInt aMode);
sl@0: private:
sl@0: 	RWsSession iWs;
sl@0: 	RWindowGroup iGroup;
sl@0: 	CWsScreenDevice* iScr;
sl@0: 	TInt iScreenNo;
sl@0: 	TInt iMode;
sl@0: 	};
sl@0: 
sl@0: 
sl@0: class ClientToKill : public CTClient
sl@0: 	{
sl@0: public:
sl@0: 	ClientToKill();
sl@0: 	~ClientToKill();
sl@0: 	void ConstructL();
sl@0: private:
sl@0: 	TestWindow *iTestWin;
sl@0: 	};
sl@0: 
sl@0: 
sl@0: 
sl@0: class CTKey : public CTWsGraphicsBase
sl@0: 	{
sl@0: public:
sl@0: 	enum {EFuncCtrlShift=EModifierFunc|EModifierCtrl|EModifierShift};
sl@0: public:
sl@0: 	CTKey(CTestStep* aStep);
sl@0: 	~CTKey();
sl@0: 	void ConstructL();
sl@0: 
sl@0: 	void KeyOfDeathL();
sl@0: 	void KeyOfOrientation();
sl@0: 	void CycleDisplaySize();
sl@0: 	void ContrastKeysL();
sl@0: 	void BackLightKeysL();
sl@0: 	void BrightnessKeysL();
sl@0: 	void ScreenSizeModeKeysL();
sl@0: protected:
sl@0: 	virtual void RunTestCaseL(TInt aCurTestCase);
sl@0: private:
sl@0: 	void SendKey(TInt aScanCode);
sl@0: 	void SendUpDown(TInt aScanCode);
sl@0: 	void SendCtrlAltShift(TInt aScanCode);
sl@0: 	void SendCtrlAltShift(TRawEvent::TType aType);
sl@0: 	void SetHotKey(THotKey aType, TUint aKeyCode);
sl@0: 	void LogWindowGroupIds();
sl@0: 	void TestContrastL(TBool aChange);
sl@0: 	void TestDefaultContrastL(TBool aChange);
sl@0: 	void TestBackLightL(TBool aChange);
sl@0: 	void TestDefaultBackLightL(TBool aChange);
sl@0: 	void TestBrightnessL(TBool aChange);
sl@0: 	void TestDefaultBrightnessL(TBool aChange);
sl@0: 	void TestScreenSizeModeL(TInt aKeys,TBool aChange);
sl@0: 	void TestDefaultScreenSizeModeL(TInt aKeys,TBool aChange);
sl@0: 
sl@0: private:
sl@0: 	RSemaphore iSem;
sl@0: 	TSize iWinSize;
sl@0: 	CVisibleGroup* iVisibleGroup;
sl@0: 	};
sl@0: 
sl@0: class CTKeyStep : public CTGraphicsStep
sl@0: 	{
sl@0: public:
sl@0: 	CTKeyStep();
sl@0: protected:
sl@0: 	//from CTGraphicsStep
sl@0: 	virtual CTGraphicsBase* CreateTestL();
sl@0: 	};
sl@0: 
sl@0: _LIT(KTKeyStep,"TKey");
sl@0: 
sl@0: 
sl@0: #endif