On 2006-06-06 21:18:02 +0200, Ola Lundqvist wrote:
> With this in mind I'm not really sure if this is a vnc problem or
> a console/X problem. If you do similar things with for example just
> an xterm instead of the vnc client, do the same thing happen then?

I've started a normal X server (with the fvwm2 window manager), and
from a remote machine, I did a ssh, then "xev -display :0.0". When I
type Ctrl-Meta-F2 to switch to the virtual terminal 2, xev outputs:

----------------------------------------------------------------------
KeyPress event, serial 30, synthetic NO, window 0x2000001,
    root 0x44, subw 0x2000002, time 85303, (47,45), root:(808,472),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 30, synthetic NO, window 0x2000001,
    root 0x44, subw 0x2000002, time 85323, (47,45), root:(808,472),
    state 0x4, keycode 115 (keysym 0xffe7, Meta_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

VisibilityNotify event, serial 30, synthetic NO, window 0x2000001,
    state VisibilityFullyObscured
----------------------------------------------------------------------

Then I can do various things in the virtual terminal (xev outputs
nothing, as expected). After a "chvt 7", xev outputs:

----------------------------------------------------------------------
VisibilityNotify event, serial 30, synthetic NO, window 0x2000001,
    state VisibilityUnobscured

Expose event, serial 30, synthetic NO, window 0x2000001,
    (0,0), width 178, height 10, count 3

Expose event, serial 30, synthetic NO, window 0x2000001,
    (0,10), width 10, height 58, count 2

Expose event, serial 30, synthetic NO, window 0x2000001,
    (68,10), width 110, height 58, count 1

Expose event, serial 30, synthetic NO, window 0x2000001,
    (0,68), width 178, height 110, count 0

KeyRelease event, serial 30, synthetic NO, window 0x2000001,
    root 0x44, subw 0x2000002, time 306663, (47,45), root:(808,472),
    state 0xc, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 

KeyRelease event, serial 30, synthetic NO, window 0x2000001,
    root 0x44, subw 0x2000002, time 306663, (47,45), root:(808,472),
    state 0x8, keycode 115 (keysym 0xffe7, Meta_L), same_screen YES,
    XLookupString gives 0 bytes:
----------------------------------------------------------------------

So, the KeyRelease events are sent *after* returning to the X server.
This seems to be the problem. Can you reproduce it if you do the same
things I did?

-- 
Vincent Lefèvre <[EMAIL PROTECTED]> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / SPACES project at LORIA

Reply via email to