summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/mainwindow.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp
index fdb0452..f0130e1 100644
--- a/noncore/apps/opie-console/mainwindow.cpp
+++ b/noncore/apps/opie-console/mainwindow.cpp
@@ -464,24 +464,30 @@ void MainWindow::slotFullscreen() {
( m_curSession->widgetStack() )->setFocus();
( m_curSession->widgetStack() )->show();
( ( m_curSession->emulationHandler() )->cornerButton() )->show();
connect( ( m_curSession->emulationHandler() )->cornerButton(), SIGNAL( pressed() ), this, SLOT( slotFullscreen() ) );
}
m_isFullscreen = !m_isFullscreen;
}
-void MainWindow::slotKeyReceived(ushort u, ushort q, bool, bool, bool) {
+void MainWindow::slotKeyReceived(ushort u, ushort q, bool, bool pressed, bool) {
- qWarning("received key event! relay to TE widget");
+ qWarning("unicode: %x, qkey: %x, %s", u, q, pressed ? "pressed" : "released");
if ( m_curSession ) {
- QKeyEvent ke(QEvent::KeyPress, q, u, 0);
- ke.ignore();
+ QEvent::Type state;
+
+ if (pressed) state = QEvent::KeyPress;
+ else state = QEvent::KeyRelease;
+
+ QKeyEvent ke(state, q, u, 0, QString(QChar(u)));
+
// where should i send this event? doesnt work sending it here
- QApplication::sendEvent((QObject *)m_curSession->widgetStack(), &ke);
+ QApplication::sendEvent((QObject *)m_curSession->widget(), &ke);
+ ke.ignore();
}
}