summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/main.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp
index 1e741d5..3ee5e26 100644
--- a/core/launcher/main.cpp
+++ b/core/launcher/main.cpp
@@ -208,64 +208,66 @@ public:
{
bool kill = false;
// Rotate cursor keys 180°
switch ( m_model ) {
case OMODEL_iPAQ_H31xx:
case OMODEL_iPAQ_H38xx: {
int newkeycode = keycode;
switch ( keycode ) {
case Key_Left : newkeycode = Key_Right; break;
case Key_Right: newkeycode = Key_Left; break;
case Key_Up : newkeycode = Key_Down; break;
case Key_Down : newkeycode = Key_Up; break;
}
if ( newkeycode != keycode ) {
QWSServer::sendKeyEvent ( -1, newkeycode, modifiers, isPress, autoRepeat );
kill = true;
}
break;
}
default: break;
}
// map Power Button short/long press to F34/F35
switch ( m_model ) {
case OMODEL_iPAQ_H31xx:
case OMODEL_iPAQ_H36xx:
case OMODEL_iPAQ_H37xx:
case OMODEL_iPAQ_H38xx: {
if ( keycode == Key_SysReq ) {
if ( isPress ) {
+ if ( m_power_timer )
+ killTimer ( m_power_timer );
m_power_timer = startTimer ( 500 );
}
else if ( m_power_timer ) {
killTimer ( m_power_timer );
m_power_timer = 0;
QWSServer::sendKeyEvent ( -1, Key_F34, 0, true, false );
QWSServer::sendKeyEvent ( -1, Key_F34, 0, false, false );
}
kill = true;
}
break;
}
default: break;
}
return kill;
}
virtual void timerEvent ( QTimerEvent * )
{
killTimer ( m_power_timer );
m_power_timer = 0;
QWSServer::sendKeyEvent ( -1, Key_F35, 0, true, false );
QWSServer::sendKeyEvent ( -1, Key_F35, 0, false, false );
}
private:
OModel m_model;
int m_power_timer;
};