qtmobileextensions/src/keycapture/xqkeycapture.h
branchRCL_3
changeset 9 5d007b20cfd0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/qtmobileextensions/src/keycapture/xqkeycapture.h	Tue Aug 31 16:02:37 2010 +0300
@@ -0,0 +1,326 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 2.1 of the License.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program.  If not, 
+ * see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
+ *
+ * Description:
+ *
+ */
+
+#ifndef XQKEYCAPTURE_H
+#define XQKEYCAPTURE_H
+
+#include <qnamespace.h>
+#include <QString>
+#include <QObject>
+#include <QList>
+#include <QFlag>
+#include <QEvent>
+
+#include <w32std.h>
+
+#ifdef XQKEYCAPTURE_LIBRARY
+#define XQKEYCAPTURE_EXPORT Q_DECL_EXPORT
+#else
+#define XQKEYCAPTURE_EXPORT Q_DECL_IMPORT
+#endif
+
+class KeyCapturePrivate;
+
+typedef QList<Qt::Key> XQKeyCaptureKeyList; 
+typedef QList<TUint> XQKeyCaptureNativeKeyList; 
+
+class XQKEYCAPTURE_EXPORT XQKeyCapture {
+
+public:
+    enum LongFlags {
+    LongShortEventImmediately = ELongCaptureShortEventImmediately,
+    LongRepeatEvents = ELongCaptureRepeatEvents,
+    LongNormal = ELongCaptureNormal,
+    LongWaitShort = ELongCaptureWaitShort,
+    LongWaitNotApplicable = 0
+    };
+		
+    enum CapturingFlag {
+      CaptureNone = 0x0,
+      CaptureBasic = 0x1,
+      CaptureCallHandlingExt = 0x2,
+      CaptureEnableRemoteExtEvents = 0x4
+    };
+    
+    Q_DECLARE_FLAGS(CapturingFlags, CapturingFlag)
+    
+public:
+    XQKeyCapture();
+
+    ~XQKeyCapture();
+
+    bool captureKey(Qt::Key aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool captureKey(TUint aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+
+    bool captureLongKey(Qt::Key aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+        XQKeyCapture::LongFlags aLongType = XQKeyCapture::LongNormal);
+
+    bool captureLongKey(TUint aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+        XQKeyCapture::LongFlags aLongType = XQKeyCapture::LongNormal);
+
+    bool captureKeyUpAndDowns(Qt::Key aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool captureKeyUpAndDowns(TUint aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+
+    bool captureKey(XQKeyCaptureKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool captureKey(XQKeyCaptureNativeKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool captureLongKey(XQKeyCaptureKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+            XQKeyCapture::LongFlags aLongType = XQKeyCapture::LongNormal);
+    
+    bool captureLongKey(XQKeyCaptureNativeKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+            XQKeyCapture::LongFlags aLongType = XQKeyCapture::LongNormal);
+    
+    bool captureKeyUpAndDowns(XQKeyCaptureKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool captureKeyUpAndDowns(XQKeyCaptureNativeKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+		
+    bool cancelCaptureKey(Qt::Key aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+
+    bool cancelCaptureKey(TUint aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+
+    bool cancelCaptureLongKey(Qt::Key aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+        XQKeyCapture::LongFlags aLongType = XQKeyCapture::LongNormal);
+
+    bool cancelCaptureLongKey(TUint aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+        XQKeyCapture::LongFlags aLongType = XQKeyCapture::LongNormal);
+
+    bool cancelCaptureKeyUpAndDowns(Qt::Key aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+
+    bool cancelCaptureKeyUpAndDowns(TUint aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool cancelCaptureKey(XQKeyCaptureKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool cancelCaptureKey(XQKeyCaptureNativeKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool cancelCaptureLongKey(XQKeyCaptureKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+            XQKeyCapture::LongFlags aLongType = XQKeyCapture::LongNormal);
+    
+    bool cancelCaptureLongKey(XQKeyCaptureNativeKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+            XQKeyCapture::LongFlags aLongType = XQKeyCapture::LongNormal);
+    
+    bool cancelCaptureKeyUpAndDowns(XQKeyCaptureKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool cancelCaptureKeyUpAndDowns(XQKeyCaptureNativeKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+
+	bool captureRemoteKeys(CapturingFlags flags = CaptureNone);
+    
+    bool cancelCaptureRemoteKeys(CapturingFlags flags = CaptureNone);
+    
+    static QEvent::Type remoteEventType_KeyPress();
+    
+    static QEvent::Type remoteEventType_KeyRelease();
+			
+    QString errorString() const;
+
+    int errorId() const;
+
+private:
+    KeyCapturePrivate* d;
+
+};
+
+/*
+@deprecated
+*/
+
+class XQKEYCAPTURE_EXPORT XqKeyCapture {
+
+public:
+    enum LongFlags {
+    LongShortEventImmediately = ELongCaptureShortEventImmediately,
+    LongRepeatEvents = ELongCaptureRepeatEvents,
+    LongNormal = ELongCaptureNormal,
+    LongWaitShort = ELongCaptureWaitShort,
+    LongWaitNotApplicable = 0
+    };
+	
+public:
+    XqKeyCapture();
+
+    ~XqKeyCapture();
+	
+    bool captureKey(Qt::Key aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool captureKey(TUint aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+
+    bool captureLongKey(Qt::Key aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+        XqKeyCapture::LongFlags aLongType = XqKeyCapture::LongNormal);
+
+    bool captureLongKey(TUint aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+        XqKeyCapture::LongFlags aLongType = XqKeyCapture::LongNormal);
+
+    bool captureKeyUpAndDowns(Qt::Key aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool captureKeyUpAndDowns(TUint aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+
+    bool captureKey(XQKeyCaptureKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool captureKey(XQKeyCaptureNativeKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool captureLongKey(XQKeyCaptureKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+            XqKeyCapture::LongFlags aLongType = XqKeyCapture::LongNormal);
+    
+    bool captureLongKey(XQKeyCaptureNativeKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+            XqKeyCapture::LongFlags aLongType = XqKeyCapture::LongNormal);
+    
+    bool captureKeyUpAndDowns(XQKeyCaptureKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool captureKeyUpAndDowns(XQKeyCaptureNativeKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+		
+    bool cancelCaptureKey(Qt::Key aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+
+    bool cancelCaptureKey(TUint aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+
+    bool cancelCaptureLongKey(Qt::Key aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+        XqKeyCapture::LongFlags aLongType = XqKeyCapture::LongNormal);
+
+    bool cancelCaptureLongKey(TUint aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+        XqKeyCapture::LongFlags aLongType = XqKeyCapture::LongNormal);
+
+    bool cancelCaptureKeyUpAndDowns(Qt::Key aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+
+    bool cancelCaptureKeyUpAndDowns(TUint aKey,
+        Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+        Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool cancelCaptureKey(XQKeyCaptureKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool cancelCaptureKey(XQKeyCaptureNativeKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool cancelCaptureLongKey(XQKeyCaptureKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+            XqKeyCapture::LongFlags aLongType = XqKeyCapture::LongNormal);
+    
+    bool cancelCaptureLongKey(XQKeyCaptureNativeKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier,
+            XqKeyCapture::LongFlags aLongType = XqKeyCapture::LongNormal);
+    
+    bool cancelCaptureKeyUpAndDowns(XQKeyCaptureKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+    
+    bool cancelCaptureKeyUpAndDowns(XQKeyCaptureNativeKeyList list, 
+            Qt::KeyboardModifiers aModifiersMask = Qt::NoModifier,
+            Qt::KeyboardModifiers aModifier = Qt::NoModifier);
+
+    QString errorString() const;
+
+    int errorId() const;
+
+private:
+    KeyCapturePrivate* d;
+
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(XQKeyCapture::CapturingFlags)
+
+#endif /* XQKEYCAPTURE_H */