--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bluetoothengine/bthid/manager/inc/hidkeys.h Mon Jan 18 20:28:57 2010 +0200
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Key types.
+ *
+*/
+
+
+#ifndef __HIDKEYS_H
+#define __HIDKEYS_H
+
+#include <e32std.h>
+#include <e32svr.h>
+
+// CLASS DECLARATIONS
+
+/*!
+ TLockKeys is used to represent the current state of the locking
+ modifier keys, i.e. Caps Lock and Num Lock.
+ */
+
+class TLockKeys
+ {
+public:
+ inline TLockKeys();
+ inline TLockKeys(TBool aCapsLock, TBool aNumLock);
+
+ TBool iCapsLock; //!< ETrue if Caps Lock is active
+ TBool iNumLock; //!< ETrue if Num Lock is active
+ };
+
+/*!
+ TTranslatedKey contains the details of a decoded HID key event. It
+ is returned (as part of a TDecodedKeyInfo object) from a call to
+ RLayoutManager::KeyEvent().
+ */
+
+class TTranslatedKey
+ {
+public:
+ inline TTranslatedKey();
+ inline TTranslatedKey(TUint16 aUnicode, TInt aScanCode, TInt aHidKey,
+ TInt aUsagePage, TBool aIsRepeatingKey);
+
+ TUint16 iUnicode; //!< Symbian (Unicode) key code value (cf TKeyCode)
+ TInt iScanCode; //!< Symbian raw scan code value (cf TStdScanCode)
+ TInt iHidKey; //!< HID code for the key that caused this event
+ TInt iUsagePage; //!< Usage page for the key that caused this event
+ TBool iIsRepeatingKey; //!< ETrue if the key can repeat
+ };
+
+/*!
+ TDecodedKeyInfo contains the results of decoding a HID key event. It is
+ the output of a call to RLayoutManager::KeyEvent().
+
+ Note that the iScanCode member corresponds to the current key event
+ as given in the arguments to RLayoutManager::KeyEvent(), whereas the
+ iScanCode values in #iEvent correspond to the key event that caused
+ the translated key press; this could be the previous event in the
+ case of a dead key.
+ */
+
+class TDecodedKeyInfo
+ {
+public:
+ inline TDecodedKeyInfo();
+
+ TInt iCount; //!< Number of key press events (0, 1 or 2)
+ TInt iScanCode; //!< Symbian raw scan code value
+ TTranslatedKey iEvent[2]; //!< Translated key press data
+ };
+
+// ----------------------------------------------------------------------
+
+inline TTranslatedKey::TTranslatedKey() :
+ iUnicode(0), iScanCode(0), iHidKey(0), iUsagePage(0), iIsRepeatingKey(
+ EFalse)
+ {
+ // nothing else to do
+ }
+
+inline TTranslatedKey::TTranslatedKey(TUint16 aUnicode, TInt aScanCode,
+ TInt aHidKey, TInt aUsagePage, TBool aIsRepeatingKey) :
+ iUnicode(aUnicode), iScanCode(aScanCode), iHidKey(aHidKey), iUsagePage(
+ aUsagePage), iIsRepeatingKey(aIsRepeatingKey)
+ {
+ // nothing else to do
+ }
+
+inline TDecodedKeyInfo::TDecodedKeyInfo() :
+ iCount(0), iScanCode(0)
+ {
+ // nothing else to do
+ }
+
+// ----------------------------------------------------------------------
+
+inline TLockKeys::TLockKeys() :
+ iCapsLock(EFalse), iNumLock(EFalse)
+ {
+ // nothing else to do
+ }
+
+inline TLockKeys::TLockKeys(TBool aCapsLock, TBool aNumLock) :
+ iCapsLock(aCapsLock), iNumLock(aNumLock)
+ {
+ // nothing else to do
+ }
+
+#endif //HIDKEYS_H
+// End of File