summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--development/keyview/keyview.cpp17
-rw-r--r--development/keyview/keyview.h2
2 files changed, 12 insertions, 7 deletions
diff --git a/development/keyview/keyview.cpp b/development/keyview/keyview.cpp
index 8e24efc..8187744 100644
--- a/development/keyview/keyview.cpp
+++ b/development/keyview/keyview.cpp
@@ -1,71 +1,76 @@
#include "keyview.h"
#include <qgrid.h>
//#include <iostream.h>
#include <qlineedit.h>
#include <qlabel.h>
+#include <opie2/okeyfilter.h>
+#include <opie2/odebug.h>
Keyview::Keyview( QWidget* parent, const char* name, WFlags fl )
: QGrid ( 2, parent, name, fl )
{
setCaption( tr("Keyview") );
setSpacing(3);
setMargin(4);
QLabel *l;
l = new QLabel(QString("unicode:"), this);
unicode = new QLineEdit(this);
unicode->setReadOnly(1);
l = new QLabel(QString("keycode:"), this);
keycode = new QLineEdit(this);
keycode->setReadOnly(1);
l = new QLabel(QString("modifiers:"), this);
modifiers = new QLineEdit(this);
modifiers->setReadOnly(1);
l = new QLabel(QString("isPress:"), this);
isPress = new QLineEdit(this);
isPress->setReadOnly(1);
-
+
l = new QLabel(QString("autoRepeat:"), this);
autoRepeat = new QLineEdit(this);
autoRepeat->setReadOnly(1);
// spacer
l = new QLabel(QString(""), this);
l->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
KeyFilter *filter = new KeyFilter(this);
- QWSServer::setKeyboardFilter(filter);
+ Opie::Core::OKeyFilter::inst()->addHandler(filter);
+ odebug << "Creating keyview filter " << oendl;
- connect(filter, SIGNAL(keyPressed(int,int,int,bool,bool)),
+ connect(filter, SIGNAL(keyPressed(int,int,int,bool,bool)),
this, SLOT(updateItems(int,int,int,bool,bool)));
}
-Keyview::~Keyview() { }
+Keyview::~Keyview()
+{
+}
void Keyview::updateItems(int u, int k, int m, bool p, bool a) {
unicode->setText("0x" + QString::number(u, 16));
keycode->setText("0x" + QString::number(k, 16));
modifiers->setText("0x" + QString::number(m, 16));
isPress->setText("0x" + QString::number(p, 16));
autoRepeat->setText("0x" + QString::number(a, 16));
}
-KeyFilter::KeyFilter(QObject * parent, const char *name) : QObject( parent, name ) {
-
+KeyFilter::KeyFilter(QObject * parent, const char *name) : QObject( parent, name )
+{
}
bool KeyFilter::filter(int unicode, int keycode, int modifiers, bool isPress,
bool autoRepeat) {
qDebug( "unicode: %d, keycode: %d, modifiers: %0x, isPress: %d, autoRepeat: %d",
unicode, keycode, modifiers, isPress );
emit keyPressed(unicode, keycode, modifiers, isPress, autoRepeat);
return 0; // return 1 to stop key emiting
}
diff --git a/development/keyview/keyview.h b/development/keyview/keyview.h
index ab4ae60..5f1e943 100644
--- a/development/keyview/keyview.h
+++ b/development/keyview/keyview.h
@@ -1,43 +1,43 @@
#ifndef KEYVIEW_H
#define KEYVIEW_H
#include <qgrid.h>
#include <qlineedit.h>
#include <qwindowsystem_qws.h>
class Keyview : public QGrid
-{
+{
Q_OBJECT
public:
Keyview( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~Keyview();
private slots:
void updateItems(int, int, int, bool, bool);
private:
QLineEdit *unicode;
QLineEdit *keycode;
QLineEdit *modifiers;
QLineEdit *isPress;
QLineEdit *autoRepeat;
};
class KeyFilter : public QObject, public QWSServer::KeyboardFilter
{
Q_OBJECT
public:
KeyFilter( QObject* parent, const char* name = 0);
virtual bool filter(int unicode, int keycode, int modifiers, bool isPress,
bool autoRepeat);
signals:
void keyPressed(int, int, int, bool, bool);
};
#endif