From: <m.w...@wo...> - 2003-01-08 09:54:22
|
Peter, I also think this is a Xserver bug - or is XGrabkeyboard supposed to alter the way in which X translates the keyboard inputs? After reading the manpages I don=92t think so (but I am far from being = an "Xlib expert). I checked with another system (netstation 0.9pre3), there I see no problems with AltGr - with our without -K. Bacause this (netstation) is the target system I can live with the problem on my development system (SuSe 7.2) - maybe when (if) I update the X Server, the problem goes away there also. Thanks for your assistance, Markus > -----Urspr=FCngliche Nachricht----- > Von: Peter =C5strand [mailto:pe...@ce...]=20 > Gesendet: Dienstag, 7. Januar 2003 15:00 > An: Markus W=F6ssner > Cc: rde...@li... > Betreff: Re: AW: AW: AW: AW: AW: AW: [rdesktop-devel] Problem=20 > with keysyms returned by XLookupString >=20 >=20 > On Tue, 7 Jan 2003, Markus W=F6ssner wrote: >=20 > > This cures the problem. > > But it brings up the problem, that my users need to be able=20 > to use for=20 > > example Alt+Tab inside rdesktop (which gets processed by the window=20 > > manager now). >=20 > I understand.=20 >=20 > > If you like, I can send you additional debug output, if you tell me=20 > > how to produce something which will help you. >=20 > To tell you the truth, I have no idea why this happens; why=20 > XGrabkeyboard=20 > brakes XLookupString. It may be an Xserver/Xlib bug. The=20 > reason why you=20 > don't notice this in other applications may be that most other=20 > applications don't grab the keyboard. Have you tried rdesktop on some=20 > other machines, perhaps with a different version of XFree86? >=20 > /Peter > > > -----Urspr=FCngliche Nachricht----- > > > Von: Peter =C5strand [mailto:pe...@ce...] > > > Gesendet: Dienstag, 7. Januar 2003 12:52 > > > An: Markus W=F6ssner > > > Betreff: Re: AW: AW: AW: AW: AW: [rdesktop-devel] Problem > > > with keysyms returned by XLookupString > > >=20 > > >=20 > > > On Tue, 7 Jan 2003, Markus W=F6ssner wrote: > > >=20 > > > > > > Obviously your assumptions concerning those events=20 > are right. > > > > >=20 > > > > > Good. > > > > >=20 > > > > > > Unluckily I need using rdesktop without the -K option - > > > so if you > > > > > > could provide a fix, this would be fine. > > >=20 > > > Can you try the patch below? It will disable keyboard=20 > grabbing, but=20 > > > it does less than -K. It's a bit hard for me to debug=20 > since I cannot > > > reproduce your problem... > > >=20 > > >=20 > > > Index: xwin.c > > >=20 > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > RCS file: /cvsroot/rdesktop/rdesktop/xwin.c,v > > > retrieving revision 1.87 > > > diff -u -r1.87 xwin.c > > > --- xwin.c 5 Jan 2003 20:06:32 -0000 1.87 > > > +++ xwin.c 7 Jan 2003 11:49:25 -0000 > > > @@ -621,17 +621,21 @@ > > > XQueryPointer(display, wnd, > > > &wdummy, &wdummy, &dummy, &dummy, > > > &dummy, &dummy, &state); > > > reset_modifier_keys(state); > > > - if (grab_keyboard && mouse_in_wnd) > > > - XGrabKeyboard(display,=20 > > > wnd, True, > > > - =20 > > GrabModeAsync, GrabModeAsync, CurrentTime); > > > + /* > > > + if (grab_keyboard && mouse_in_wnd) > > > + XGrabKeyboard(display, wnd, True, > > > + GrabModeAsync, GrabModeAsync, > > > CurrentTime); > > > + */ > > > break; > > > =20 > > > case FocusOut: > > > if (xevent.xfocus.mode =3D=3D NotifyUngrab) > > > break; > > > focused =3D False; > > > - if (xevent.xfocus.mode =3D=3D=20 > > > NotifyWhileGrabbed) > > > - =09 > > > XUngrabKeyboard(display, CurrentTime); > > > + /* > > > + if (xevent.xfocus.mode =3D=3D > > > NotifyWhileGrabbed) > > > + XUngrabKeyboard(display, CurrentTime); > > > + */ > > > break; > > > =20 > > > case EnterNotify: > > > @@ -644,15 +648,19 @@ > > > CurrentTime); > > > break; > > > } > > > - if (focused) > > > - XGrabKeyboard(display,=20 > > > wnd, True, > > > - =20 > > GrabModeAsync, GrabModeAsync, CurrentTime); > > > + /* > > > + if (focused) > > > + XGrabKeyboard(display, wnd, True, > > > + GrabModeAsync, GrabModeAsync, > > > CurrentTime); > > > + */ > > > break; > > > =20 > > > case LeaveNotify: > > > /* we only register for this > > > event when grab_keyboard */ > > > mouse_in_wnd =3D False; > > > + /* > > > XUngrabKeyboard(display, CurrentTime); > > > + */ > > > break; > > > =20 > > > case Expose: > > >=20 > > >=20 >=20 >=20 > --=20 > Peter =C5strand Telephone: +46-13-21 46 00 > Cendio Systems E-mail: pe...@ce... > Teknikringen 3 > 583 30 Link=F6ping >=20 >=20 |