summaryrefslogtreecommitdiff
path: root/inputmethods
Unidiff
Diffstat (limited to 'inputmethods') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/keyboard/keyboard.cpp21
1 files changed, 18 insertions, 3 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
@@ -28,6 +28,8 @@
28#include <qtimer.h> 28#include <qtimer.h>
29#include <ctype.h> 29#include <ctype.h>
30 30
31#include <sys/utsname.h>
32
31 33
32#define USE_SMALL_BACKSPACE 34#define USE_SMALL_BACKSPACE
33 35
@@ -49,7 +51,19 @@ Keyboard::Keyboard(QWidget* parent, const char* name, WFlags f) :
49 this, SIGNAL(key(ushort,ushort,ushort,bool,bool)) ); 51 this, SIGNAL(key(ushort,ushort,ushort,bool,bool)) );
50 52
51 repeatTimer = new QTimer( this ); 53 repeatTimer = new QTimer( this );
52 connect( repeatTimer, SIGNAL(timeout()), this, SLOT(repeat()) ); 54
55 // temporary quick and dirty fix for the "sticky keyboard bug"
56 // on ipaq.
57 struct utsname name;
58 if (uname(&name) != -1)
59 {
60 QString release=name.release;
61 qWarning("System release: %s\n", name.release);
62 if(release.find("embedix",0,TRUE) !=-1)
63 {
64 connect( repeatTimer, SIGNAL(timeout()), this, SLOT(repeat()) );
65 }
66 }
53} 67}
54 68
55void Keyboard::resizeEvent(QResizeEvent*) 69void Keyboard::resizeEvent(QResizeEvent*)
@@ -761,8 +775,9 @@ void Keyboard::timerEvent(QTimerEvent* e)
761 775
762void Keyboard::repeat() 776void Keyboard::repeat()
763{ 777{
764 repeatTimer->start( 150 ); 778
765 emit key( unicode, qkeycode, modifiers, true, true ); 779 repeatTimer->start( 200 );
780 emit key( unicode, qkeycode, modifiers, true, true );
766} 781}
767 782
768void Keyboard::clearHighlight() 783void Keyboard::clearHighlight()