Simulation einer Tastatur mittels QKeyEvent
Verfasst: 5. Januar 2010 12:04
Hallo zusammen,
meine Anwendung basiert auf QApplication (also eine grafische Anwendung) mit QMainWindow als Haupt-Widget.
Innerhalb eines Projektes möchte ich die GUI Anwendung mittels Brain-Computer-Interface steuern. Da hier nur eine begrenzte Anzahl an möglichen Kommandos zur Verfügung steht wollte ich die Möglichkeit der Steuerung mittels Tabulatortaste verwenden.
Als Realisierungsansatz habe ich folgendes verwendet:
Leider funktioniert das nicht wie erwartet: Das KeyEvent wird zwar gepostet und erreicht meine Anwendung (ermittelt über einen EventFilter im Widget) jedoch ist keie Tabulatorsteuerung möglich. Die aktivierte/hervorgehobene Schaltfläche ändert sich nicht.
Ich habe so den Eindruck das die Tabulatorsteuerung an anderer Stelle realisiert wird und ich das KeyEvent evtl. in die falsche Queue poste. Verwendet man nämlich eine normale Tastatur so funktioniert die Tabulatorsteuerung mein Widget mit dem Event Filter zeigt in diesem Fall jedoch nicht den Tastendruck der Tabulatortaste an. Irgendwer filter das also raus.... nur wer...?
Würde mich freuen hier den ein oder anderen Tipp zu bekommen.
Viele Grüße,
Marco
meine Anwendung basiert auf QApplication (also eine grafische Anwendung) mit QMainWindow als Haupt-Widget.
Innerhalb eines Projektes möchte ich die GUI Anwendung mittels Brain-Computer-Interface steuern. Da hier nur eine begrenzte Anzahl an möglichen Kommandos zur Verfügung steht wollte ich die Möglichkeit der Steuerung mittels Tabulatortaste verwenden.
Als Realisierungsansatz habe ich folgendes verwendet:
Code: Alles auswählen
QKeyEvent * pEvent = NULL;
pEvent = new QKeyEvent(QEvent::KeyPress,
Qt::Key_Tab,
Qt::NoModifier);
QApplication::postEvent(QApplication::instance(), pEvent);Ich habe so den Eindruck das die Tabulatorsteuerung an anderer Stelle realisiert wird und ich das KeyEvent evtl. in die falsche Queue poste. Verwendet man nämlich eine normale Tastatur so funktioniert die Tabulatorsteuerung mein Widget mit dem Event Filter zeigt in diesem Fall jedoch nicht den Tastendruck der Tabulatortaste an. Irgendwer filter das also raus.... nur wer...?
Würde mich freuen hier den ein oder anderen Tipp zu bekommen.
Viele Grüße,
Marco