diff --git a/JGE/src/Qtmain.cpp b/JGE/src/Qtmain.cpp index 453cf4d2f..3dc8c5cf1 100644 --- a/JGE/src/Qtmain.cpp +++ b/JGE/src/Qtmain.cpp @@ -327,6 +327,16 @@ void JGEQtRenderer::mousePressEvent(QMouseEvent *event) g_engine->LeftClicked((lastPos.x()*SCREEN_WIDTH)/actualWidth, (lastPos.y()*SCREEN_HEIGHT)/actualHeight); event->accept(); } + else if(event->button() == Qt::RightButton) + { /* next phase please */ + g_engine->HoldKey_NoRepeat(JGE_BTN_PREV); + event->accept(); + } + else if(event->button() == Qt::MidButton) + { /* interrupt please */ + g_engine->HoldKey_NoRepeat(JGE_BTN_SEC); + event->accept(); + } else { QGLWidget::mousePressEvent(event); @@ -341,12 +351,12 @@ void JGEQtRenderer::mouseReleaseEvent(QMouseEvent *event) } else if(event->button() == Qt::RightButton) { /* next phase please */ - g_engine->HoldKey_NoRepeat(JGE_BTN_PREV); + g_engine->ReleaseKey(JGE_BTN_PREV); event->accept(); } else if(event->button() == Qt::MidButton) { /* interrupt please */ - g_engine->HoldKey_NoRepeat(JGE_BTN_SEC); + g_engine->ReleaseKey(JGE_BTN_SEC); event->accept(); } else @@ -355,7 +365,6 @@ void JGEQtRenderer::mouseReleaseEvent(QMouseEvent *event) } } - void JGEQtRenderer::mouseMoveEvent(QMouseEvent *event) { // this is intended to convert window coordinate into game coordinate. @@ -367,63 +376,6 @@ void JGEQtRenderer::mouseMoveEvent(QMouseEvent *event) event->accept(); } -/* -void JGEQtRenderer::mousePressEvent(QMouseEvent *event) -{ - if(event->button() == Qt::LeftButton) - { - lastPos = event->pos(); - event->accept(); - } - else - { - QGLWidget::mousePressEvent(event); - } -} - -void JGEQtRenderer::mouseReleaseEvent(QMouseEvent *event) -{ - if(event->button() == Qt::LeftButton) - { - QPoint currentPos = event->pos(); - int dx = currentPos.x() - lastPos.x(); - int dy = currentPos.y() - lastPos.y(); - - if(abs(dx) > abs(dy) && dx > 5) - { - g_engine->HoldKey_NoRepeat(JGE_BTN_RIGHT); - } - else if(abs(dx) > abs(dy) && dx < -5) - { - g_engine->HoldKey_NoRepeat(JGE_BTN_LEFT); - } - else if(abs(dx) < abs(dy) && dy < -5) - { - g_engine->HoldKey_NoRepeat(JGE_BTN_UP); - } - else if(abs(dx) < abs(dy) && dy > 5) - { - g_engine->HoldKey_NoRepeat(JGE_BTN_DOWN); - } - event->accept(); - } - else if(event->button() == Qt::RightButton) - { - g_engine->HoldKey_NoRepeat(JGE_BTN_PREV); - event->accept(); - } - else if(event->button() == Qt::MidButton) - { - g_engine->HoldKey_NoRepeat(JGE_BTN_SEC); - event->accept(); - } - else - { - QGLWidget::mouseReleaseEvent(event); - } -} -*/ - void JGEQtRenderer::mouseDoubleClickEvent(QMouseEvent *event) { if(event->button() == Qt::LeftButton) @@ -462,7 +414,6 @@ void JGEQtRenderer::wheelEvent(QWheelEvent *event) event->accept(); } - void JGEQtRenderer::keyPressEvent(QKeyEvent *event) { switch(event->key()) @@ -488,6 +439,29 @@ void JGEQtRenderer::keyPressEvent(QKeyEvent *event) return; } +void JGEQtRenderer::keyReleaseEvent(QKeyEvent *event) +{ + switch(event->key()) + { + #ifdef Q_WS_MAEMO_5 + case Qt::Key_F7: + /* interrupt please */ + g_engine->ReleaseKey(JGE_BTN_SEC); + break; + case Qt::Key_F8: + /* next phase please */ + g_engine->ReleaseKey(JGE_BTN_PREV); + break; + #endif // Q_WS_MAEMO_5 + default: + g_engine->ReleaseKey((LocalKeySym)event->key()); + } + + event->accept(); + QWidget::keyReleaseEvent(event); + return; +} + void JGEQtRenderer::showEvent ( QShowEvent * event ) { if(!timerStarted) @@ -512,15 +486,6 @@ void JGEQtRenderer::hideEvent ( QHideEvent * event ) } } -void JGEQtRenderer::keyReleaseEvent(QKeyEvent *event) -{ - g_engine->ReleaseKey((LocalKeySym)event->key()); - event->accept(); - QWidget::keyReleaseEvent(event); - return; -} - - int main(int argc, char* argv[]) { QApplication a( argc, argv ); diff --git a/projects/mtg/debian/control b/projects/mtg/debian/control index b4f7850b4..e0de1ae85 100644 --- a/projects/mtg/debian/control +++ b/projects/mtg/debian/control @@ -2,7 +2,7 @@ Source: wagic Section: user/games Priority: extra Maintainer: xawotihs -Build-Depends: debhelper (>= 5), libqt4-dev, zlib1g-dev +Build-Depends: debhelper (>= 5), libqt4-dev, zlib1g-dev, libx11-dev, mce-dev Standards-Version: 3.7.3 Homepage: http://wololo.net/wagic/ XSBC-Bugtracker: http://code.google.com/p/wagic/issues/list