-rw-r--r-- | noncore/apps/opie-console/mainwindow.cpp | 16 | ||||
-rw-r--r-- | noncore/apps/opie-console/mainwindow.h | 2 |
2 files changed, 18 insertions, 0 deletions
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp index 29dbcf3..d3b6c8a 100644 --- a/noncore/apps/opie-console/mainwindow.cpp +++ b/noncore/apps/opie-console/mainwindow.cpp @@ -200,16 +200,18 @@ void MainWindow::initUI() { /* and the keyboard */ m_keyBar = new QToolBar(this); addToolBar( m_keyBar, "Keyboard", QMainWindow::Top, TRUE ); m_keyBar->setHorizontalStretchable( TRUE ); m_keyBar->hide(); m_kb = new FunctionKeyboard(m_keyBar); + connect(m_kb, SIGNAL(keyPressed(ushort, ushort, bool, bool, bool)), + this, SLOT(slotKeyReceived(ushort, ushort, bool, bool, bool))); m_connect->setEnabled( false ); m_disconnect->setEnabled( false ); m_terminate->setEnabled( false ); m_transfer->setEnabled( false ); m_recordScript->setEnabled( false ); @@ -471,8 +473,22 @@ void MainWindow::slotFullscreen() { // need teh scrollbar // ( m_curSession->widgetStack() )->setCornerWidget( cornerButton ); m_fullscreen->setText( tr("Stop full screen") ); } m_isFullscreen = !m_isFullscreen; } + + +void MainWindow::slotKeyReceived(ushort u, ushort q, bool, bool, bool) { + + qWarning("received key event! relay to TE widget"); + + if ( m_curSession ) { + QKeyEvent ke(QEvent::KeyPress, q, u, 0); + + ke.ignore(); + // where should i send this event? doesnt work sending it here + QApplication::sendEvent((QObject *)m_curSession->widgetStack(), &ke); + } +} diff --git a/noncore/apps/opie-console/mainwindow.h b/noncore/apps/opie-console/mainwindow.h index e63078a..91ca147 100644 --- a/noncore/apps/opie-console/mainwindow.h +++ b/noncore/apps/opie-console/mainwindow.h @@ -59,16 +59,18 @@ private slots: void slotProfile(int); void slotTransfer(); void slotOpenKeb(bool); void slotRecordScript(); void slotSaveScript(); void slotRunScript(); void slotFullscreen(); void slotSessionChanged( Session* ); + void slotKeyReceived(ushort, ushort, bool, bool, bool); + private: void initUI(); void populateProfiles(); void create( const Profile& ); /** * the current session */ Session* m_curSession; |