summaryrefslogtreecommitdiff
path: root/inputmethods/jumpx/keyboard.h
Side-by-side diff
Diffstat (limited to 'inputmethods/jumpx/keyboard.h') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/jumpx/keyboard.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/inputmethods/jumpx/keyboard.h b/inputmethods/jumpx/keyboard.h
new file mode 100644
index 0000000..1be095d
--- a/dev/null
+++ b/inputmethods/jumpx/keyboard.h
@@ -0,0 +1,71 @@
+/**************************************************************************************94x78**
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+*********************************************************************************************/
+#include <qframe.h>
+#include <qpixmap.h>
+#include <qtimer.h>
+
+class Keyboard : public QFrame
+{
+ Q_OBJECT
+public:
+ Keyboard( QWidget* parent=0, const char* name=0, WFlags f=0 );
+
+ void resetState();
+
+ void mousePressEvent(QMouseEvent*);
+ void mouseReleaseEvent(QMouseEvent*);
+ void mouseMoveEvent(QMouseEvent*);
+ void resizeEvent(QResizeEvent*);
+ void paintEvent(QPaintEvent* e);
+ //void timerEvent(QTimerEvent* e);
+
+ QSize sizeHint() const;
+
+signals:
+ void key( ushort unicode, ushort qcode, ushort modifiers, bool, bool );
+
+private slots:
+ void delayTimerDone();
+ void rateTimerDone();
+
+private:
+ int shift; // 0, 1, 2
+ int paren; // 0, 1, 2
+ int ctrl; // 0, 1
+ int alt; // 0, 1
+
+ int pressedKeyUnicode, pressedKeyQcode, pressedMod;
+ int pressedx, pressedy, pressedw, pressedh;
+ bool isnoncont;
+ int pressed2x, pressed2y, pressed2w, pressed2h;
+
+ int slideKeyUnicodeH, slideKeyQcodeH, slideKeyUnicodeV, slideKeyQcodeV;
+ bool enableMouseTracking;
+ QPixmap *slidePix, *slidePixH, *slidePixV;
+
+ QPixmap releasedPlain;
+ QPixmap releasedShift;
+ QPixmap releasedParen;
+
+ QPixmap pressedPlain;
+ QPixmap pressedShift;
+ QPixmap pressedParen;
+ QPixmap pressedDigit;
+
+ QPixmap offscreen;
+
+ QPixmap *releasedPix;
+ QPixmap *pressedPix;
+
+ QTimer *delayTimer;
+ QTimer *rateTimer;
+};