summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-02-16 02:00:41 (UTC)
committer harlekin <harlekin>2002-02-16 02:00:41 (UTC)
commitf8744f9a9a59f7968ddbac66c927ba8da358f223 (patch) (side-by-side diff)
tree8a9670929d1025bd1c610cd3350a6e2cb35ef6b8
parentc91dc39fb820f6f6b9805b96aea282f1deb4d576 (diff)
downloadopie-f8744f9a9a59f7968ddbac66c927ba8da358f223.zip
opie-f8744f9a9a59f7968ddbac66c927ba8da358f223.tar.gz
opie-f8744f9a9a59f7968ddbac66c927ba8da358f223.tar.bz2
Quick and dirty fix for the sticky keyboard problem on ipaq - just turn it off. Turned on on zaurus
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--inputmethods/keyboard/keyboard.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/inputmethods/keyboard/keyboard.cpp b/inputmethods/keyboard/keyboard.cpp
index 9dd24e4..233f08e 100644
--- a/inputmethods/keyboard/keyboard.cpp
+++ b/inputmethods/keyboard/keyboard.cpp
@@ -27,8 +27,10 @@
#include <qfontmetrics.h>
#include <qtimer.h>
#include <ctype.h>
+#include <sys/utsname.h>
+
#define USE_SMALL_BACKSPACE
Keyboard::Keyboard(QWidget* parent, const char* name, WFlags f) :
@@ -48,10 +50,22 @@ Keyboard::Keyboard(QWidget* parent, const char* name, WFlags f) :
QObject::connect( picks, SIGNAL(key(ushort,ushort,ushort,bool,bool) ),
this, SIGNAL(key(ushort,ushort,ushort,bool,bool)) );
repeatTimer = new QTimer( this );
+
+ // temporary quick and dirty fix for the "sticky keyboard bug"
+ // on ipaq.
+ struct utsname name;
+ if (uname(&name) != -1)
+ {
+ QString release=name.release;
+ qWarning("System release: %s\n", name.release);
+ if(release.find("embedix",0,TRUE) !=-1)
+ {
connect( repeatTimer, SIGNAL(timeout()), this, SLOT(repeat()) );
}
+ }
+}
void Keyboard::resizeEvent(QResizeEvent*)
{
int ph = picks->sizeHint().height();
@@ -760,9 +774,10 @@ void Keyboard::timerEvent(QTimerEvent* e)
}
void Keyboard::repeat()
{
- repeatTimer->start( 150 );
+
+ repeatTimer->start( 200 );
emit key( unicode, qkeycode, modifiers, true, true );
}
void Keyboard::clearHighlight()