summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--libopie/odevice.cpp40
1 files changed, 19 insertions, 21 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp
index d8415ad..bc43c52 100644
--- a/libopie/odevice.cpp
+++ b/libopie/odevice.cpp
@@ -516,25 +516,26 @@ bool iPAQ::filter ( int /*unicode*/, int keycode, int modifiers, bool isPress, b
516 516
517 517 switch ( keycode ) {
518 // simple susbstitutions 518 // H38xx/H39xx have no "Q" key anymore - this is now the Mail key
519 switch ( d-> m_model ) { 519 case HardKey_Menu: {
520 case Model_iPAQ_H38xx: 520 if (( d-> m_model == Model_iPAQ_H38xx ) ||
521 // H38xx has no "Q" key anymore - this is now the Mail key 521 ( d-> m_model == Model_iPAQ_H39xx )) {
522 if ( keycode == HardKey_Menu )
523 newkeycode = HardKey_Mail; 522 newkeycode = HardKey_Mail;
524 //nobreak 523 }
524 break;
525 }
525 526
526 case Model_iPAQ_H31xx:
527 // Rotate cursor keys 180° 527 // Rotate cursor keys 180°
528 switch ( keycode ) { 528 case Key_Left :
529 case Key_Left : newkeycode = Key_Right; break; 529 case Key_Right:
530 case Key_Right: newkeycode = Key_Left; break; 530 case Key_Up :
531 case Key_Up : newkeycode = Key_Down; break; 531 case Key_Down : {
532 case Key_Down : newkeycode = Key_Up; break; 532 if (( d-> m_model == Model_iPAQ_H31xx ) ||
533 ( d-> m_model == Model_iPAQ_H38xx )) {
534 newkeycode = Key_Left + ( keycode - Key_Left + 2 ) % 4;
535 }
536 break;
533 } 537 }
534 //nobreak;
535 538
536 case Model_iPAQ_H36xx:
537 case Model_iPAQ_H37xx:
538 // map Power Button short/long press to F34/F35 539 // map Power Button short/long press to F34/F35
539 if ( keycode == Key_SysReq ) { 540 case Key_SysReq: {
540 if ( isPress ) { 541 if ( isPress ) {
@@ -551,8 +552,5 @@ bool iPAQ::filter ( int /*unicode*/, int keycode, int modifiers, bool isPress, b
551 newkeycode = Key_unknown; 552 newkeycode = Key_unknown;
552 }
553 //nobreak;
554
555 default:
556 break; 553 break;
557 } 554 }
555 }
558 556