Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

keyboard.h

Go to the documentation of this file.
00001 /**************************************************************************************94x78**
00002 **
00003 ** This file may be distributed and/or modified under the terms of the
00004 ** GNU General Public License version 2 as published by the Free Software
00005 ** Foundation and appearing in the file LICENSE.GPL included in the
00006 ** packaging of this file.
00007 **
00008 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00009 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00010 **
00011 *********************************************************************************************/
00012 #include <qframe.h>
00013 #include <qpixmap.h>
00014 #include <qtimer.h>
00015 
00016 namespace JumpX
00017 {
00018 
00019 class Keyboard : public QFrame
00020 {
00021     Q_OBJECT
00022 public:
00023     Keyboard( QWidget* parent=0, const char* name=0, WFlags f=0 );
00024 
00025     void resetState();
00026 
00027     void mousePressEvent(QMouseEvent*);
00028     void mouseReleaseEvent(QMouseEvent*);
00029     void mouseMoveEvent(QMouseEvent*);
00030     void resizeEvent(QResizeEvent*);
00031     void paintEvent(QPaintEvent* e);
00032     //void timerEvent(QTimerEvent* e);
00033 
00034     QSize sizeHint() const;
00035 
00036 signals:
00037     void key( ushort unicode, ushort qcode, ushort modifiers, bool, bool );
00038 
00039 private slots:
00040     void delayTimerDone();
00041     void rateTimerDone();
00042 
00043 private:
00044     int shift; // 0, 1, 2
00045     int paren; // 0, 1, 2
00046     int ctrl;  // 0, 1
00047     int alt;   // 0, 1
00048 
00049     int pressedKeyUnicode, pressedKeyQcode, pressedMod;
00050     int pressedx, pressedy, pressedw, pressedh;
00051     bool isnoncont;
00052     int pressed2x, pressed2y, pressed2w, pressed2h;
00053 
00054     int slideKeyUnicodeH, slideKeyQcodeH, slideKeyUnicodeV, slideKeyQcodeV;
00055     bool enableMouseTracking;
00056     QPixmap *slidePix, *slidePixH, *slidePixV;
00057 
00058     QPixmap releasedPlain;
00059     QPixmap releasedShift;
00060     QPixmap releasedParen;
00061 
00062     QPixmap pressedPlain;
00063     QPixmap pressedShift;
00064     QPixmap pressedParen;
00065     QPixmap pressedDigit;
00066 
00067     QPixmap offscreen;
00068 
00069     QPixmap *releasedPix;
00070     QPixmap *pressedPix;
00071 
00072     QTimer *delayTimer;
00073     QTimer *rateTimer;
00074 };
00075 
00076 } // namespace JumpX

Generated on Sat Nov 5 16:16:03 2005 for OPIE by  doxygen 1.4.2