Diffstat (limited to 'development/keyview/keyview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | development/keyview/keyview.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/development/keyview/keyview.cpp b/development/keyview/keyview.cpp new file mode 100644 index 0000000..15d9f51 --- a/dev/null +++ b/development/keyview/keyview.cpp | |||
@@ -0,0 +1,69 @@ | |||
1 | #include "keyview.h" | ||
2 | #include <qgrid.h> | ||
3 | #include <iostream.h> | ||
4 | #include <qlineedit.h> | ||
5 | #include <qlabel.h> | ||
6 | |||
7 | Keyview::Keyview( QWidget* parent, const char* name, WFlags fl ) | ||
8 | : QGrid ( 2, parent, name, fl ) | ||
9 | { | ||
10 | setCaption( tr("Keyview") ); | ||
11 | setSpacing(3); | ||
12 | setMargin(4); | ||
13 | |||
14 | QLabel *l; | ||
15 | |||
16 | l = new QLabel(QString("unicode:"), this); | ||
17 | unicode = new QLineEdit(this); | ||
18 | unicode->setReadOnly(1); | ||
19 | |||
20 | l = new QLabel(QString("keycode:"), this); | ||
21 | keycode = new QLineEdit(this); | ||
22 | keycode->setReadOnly(1); | ||
23 | |||
24 | l = new QLabel(QString("modifiers:"), this); | ||
25 | modifiers = new QLineEdit(this); | ||
26 | modifiers->setReadOnly(1); | ||
27 | |||
28 | l = new QLabel(QString("isPress:"), this); | ||
29 | isPress = new QLineEdit(this); | ||
30 | isPress->setReadOnly(1); | ||
31 | |||
32 | l = new QLabel(QString("autoRepeat:"), this); | ||
33 | autoRepeat = new QLineEdit(this); | ||
34 | autoRepeat->setReadOnly(1); | ||
35 | |||
36 | // spacer | ||
37 | l = new QLabel(QString(""), this); | ||
38 | l->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding)); | ||
39 | |||
40 | |||
41 | KeyFilter *filter = new KeyFilter(this); | ||
42 | QWSServer::setKeyboardFilter(filter); | ||
43 | |||
44 | connect(filter, SIGNAL(keyPressed(int, int, int, bool, bool)), | ||
45 | this, SLOT(updateItems(int, int, int, bool, bool))); | ||
46 | } | ||
47 | |||
48 | Keyview::~Keyview() { } | ||
49 | |||
50 | void Keyview::updateItems(int u, int k, int m, bool p, bool a) { | ||
51 | |||
52 | unicode->setText("0x" + QString::number(u, 16)); | ||
53 | keycode->setText("0x" + QString::number(k, 16)); | ||
54 | modifiers->setText("0x" + QString::number(m, 16)); | ||
55 | isPress->setText("0x" + QString::number(p, 16)); | ||
56 | autoRepeat->setText("0x" + QString::number(a, 16)); | ||
57 | } | ||
58 | |||
59 | KeyFilter::KeyFilter(QObject * parent, const char *name) : QObject( parent, name ) { | ||
60 | |||
61 | } | ||
62 | |||
63 | bool KeyFilter::filter(int unicode, int keycode, int modifiers, bool isPress, | ||
64 | bool autoRepeat) { | ||
65 | |||
66 | emit keyPressed(unicode, keycode, modifiers, isPress, autoRepeat); | ||
67 | return 0; // return 1 to stop key emiting | ||
68 | |||
69 | } | ||