summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--qt/qte233-for-opie091-keyboard.patch4
1 files changed, 2 insertions, 2 deletions
diff --git a/qt/qte233-for-opie091-keyboard.patch b/qt/qte233-for-opie091-keyboard.patch
index c1b85b6..9d76a64 100644
--- a/qt/qte233-for-opie091-keyboard.patch
+++ b/qt/qte233-for-opie091-keyboard.patch
@@ -6,125 +6,125 @@
{ Qt::Key_BraceLeft, '[' , '{' , 0xffff },
- { Qt::Key_Escape, ']' , '}' , 0xffff },
+ { Qt::Key_BraceRight, ']' , '}' , 0xffff },
{ Qt::Key_Return, 13 , 13 , 0xffff },
{ Qt::Key_Control, 0xffff , 0xffff , 0xffff },
{ Qt::Key_A, 'a' , 'A' , 'A'-64 }, // 30
@@ -394,7 +394,7 @@
bool numLock;
#endif
bool caps;
- bool extended;
+ int extended;
int modifiers;
int prevuni;
int prevkey;
@@ -524,7 +524,7 @@
shift = false;
alt = false;
ctrl = false;
- extended = false;
+ extended = 0;
prevuni = 0;
prevkey = 0;
caps = FALSE;
@@ -561,10 +561,24 @@
int keyCode = Qt::Key_unknown;
bool release = false;
int keypad = 0;
+#if defined(QT_QWS_IPAQ)
+ static int ipaq_return_pressed = false; // iPAQ Action Key has ScanCode 0x60: 0x60|0x80 = 0xe0 == extended mode 1 !
+#endif
+
- #if !defined(QT_QWS_SHARP)
+ #if !defined(QT_QWS_CUSTOM)
- if (code == 224) {
+ if ((code == 224)
+#if defined(QT_QWS_IPAQ)
+ && !ipaq_return_pressed
+#endif
+ )
+ {
// extended
- extended = true;
+ extended = 1;
+ return;
+ }
+ else if (code == 225) {
+ // extended 2
+ extended = 2;
return;
}
#endif
@@ -574,7 +588,7 @@
code &= 0x7f;
}
- if (extended) {
+ if (extended == 1) {
switch (code) {
case 72:
keyCode = Qt::Key_Up;
@@ -612,6 +626,32 @@
case 53:
keyCode = Qt::Key_Slash;
break;
+ case 0x1d:
+ keyCode = Qt::Key_Control;
+ break;
+ case 0x2a:
+ keyCode = Qt::Key_SysReq;
+ break;
+ case 0x38:
+ keyCode = Qt::Key_Alt;
+ break;
+ case 0x5b:
+ keyCode = Qt::Key_Super_L;
+ break;
+ case 0x5c:
+ keyCode = Qt::Key_Super_R;
+ break;
+ case 0x5d:
+ keyCode = Qt::Key_Menu;
+ break;
+ }
+ } else if (extended == 2) {
+ switch (code) {
+ case 0x1d:
+ return;
+ case 0x45:
+ keyCode = Qt::Key_Pause;
+ break;
}
} else {
- #if defined(QT_QWS_SHARP)
+ #if defined(QT_QWS_CUSTOM)
@@ -650,6 +690,7 @@
repeatable = FALSE;
break;
case 0x60:
+ ipaq_return_pressed = !release;
keyCode = Key_Return;
break;
case 0x67:
@@ -687,13 +728,19 @@
else
repeater->stop();
#endif
+
+ /*
+ Translate shift+Key_Tab to Key_Backtab
+ */
+ if (( keyCode == Key_Tab ) && shift )
+ keyCode = Key_Backtab;
}
/*
Keypad consists of extended keys 53 and 28,
and non-extended keys 55 and 71 through 83.
*/
- if ( extended ? (code == 53 || code == 28) :
+ if ((extended == 1) ? (code == 53 || code == 28) :
(code == 55 || ( code >= 71 && code <= 83 )) )
keypad = Qt::Keypad;
@@ -803,7 +850,7 @@
unicode = QWSServer::keyMap()[code].shift_unicode ? QWSServer::keyMap()[code].shift_unicode : 0xffff;
else