x11Event
Verfasst: 10. Oktober 2005 20:16
Hi @ forum,
sieht irgendjemand einen offensichtlichen Fehler in folgendem Codestück?
Folgender Code sollte den KeyPressEvent verarbeiten und den entsprechenden Keycode bzw. KeySym (Key Symbol unter x11) liefern. Das ganze sollte geschehen, bevor der Event an die Eventverarbeitung von qt weitergereicht wird. Das geschieht dann, wenn FALSE zurückgegeben wird.
Leider führt es dazu, dass offenbar die switch-Anweisung gar nicht durchlaufen wird und der Event nur von qt verabeitet wird ( s.o. keyPressEvent ).
Wird 'FALSE' nicht zurückgegeben, dann wird kein Event mehr von QT verarbeitet. Das zeigt sich z.B. darin, dass ein Klick auf das x in der Fensterleiste nichts bewirkt. Allerdings wird dann die switch-Anweisung durchlaufen und die untere Funktion verabreitet den Event.
Leuchtet mir auf Anhieb nicht ein!?
xlib-docu gibt es hier: http://tronche.com/gui/x/xlib/introduction
cu,
pumbah
sieht irgendjemand einen offensichtlichen Fehler in folgendem Codestück?
Code: Alles auswählen
void myWidget::keyPressEvent ( QKeyEvent * e ) {
cout << e->text() << endl;
}
bool myWidget::x11Event ( XEvent * xe) {
// QWidget::x11Event( XEvent * )
char buffer[20];
int bufsize = 20;
XComposeStatus compose;
KeySym keysym;
int charcount;
switch(xe->type) {
case KeyPress:
charcount = XLookupString((XKeyEvent*) xe, buffer, bufsize, &keysym, &compose);
cout << "keysym: " << keysym << endl;
cout << "buffer: " << buffer << endl;
break;
case MappingNotify:
//XRefreshKeyboardMappint(xe); // Keyboard was remapped!
break;
}
//return FALSE;
}
Leider führt es dazu, dass offenbar die switch-Anweisung gar nicht durchlaufen wird und der Event nur von qt verabeitet wird ( s.o. keyPressEvent ).
Wird 'FALSE' nicht zurückgegeben, dann wird kein Event mehr von QT verarbeitet. Das zeigt sich z.B. darin, dass ein Klick auf das x in der Fensterleiste nichts bewirkt. Allerdings wird dann die switch-Anweisung durchlaufen und die untere Funktion verabreitet den Event.
Leuchtet mir auf Anhieb nicht ein!?
xlib-docu gibt es hier: http://tronche.com/gui/x/xlib/introduction
cu,
pumbah