1

I have a vnc session with gnome2 desktop.

The following are couple of examples where multiple key press working as expected and the last two examples have unexpected results (with F1 & F2).

Please help.

(Shift + Enter)

KeyPress event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513198614, (95,-14), root:(97,63),
state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyPress event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513198717, (95,-14), root:(97,63),
state 0x1, keycode 36 (keysym 0xff0d, Return), same_screen YES,
"   XLookupString gives 1 bytes: (0d) "
"   XmbLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513198790, (95,-14), root:(97,63),
state 0x1, keycode 36 (keysym 0xff0d, Return), same_screen YES,
"   XLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513198810, (95,-14), root:(97,63),
state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

(Shift + \ )

KeyPress event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513201404, (95,-14), root:(97,63),
state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyPress event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513201476, (95,-14), root:(97,63),
state 0x1, keycode 51 (keysym 0x7c, bar), same_screen YES,
XLookupString gives 1 bytes: (7c) "|"
XmbLookupString gives 1 bytes: (7c) "|"
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513201547, (95,-14), root:(97,63),
state 0x1, keycode 51 (keysym 0x7c, bar), same_screen YES,
XLookupString gives 1 bytes: (7c) "|"
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513201577, (95,-14), root:(97,63),
state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

(Shift + Backspace)

KeyPress event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513204915, (95,-14), root:(97,63),
state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyPress event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513205006, (95,-14), root:(97,63),
state 0x1, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,
XLookupString gives 1 bytes: (08) "
XmbLookupString gives 1 bytes: (08) "
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513205075, (95,-14), root:(97,63),
state 0x1, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,
XLookupString gives 1 bytes: (08) "
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513205107, (95,-14), root:(97,63),
state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

In all the above examples:

  • Shift key is pressed
  • Other key is pressed and is released
  • Shift key is released.

(Shift + F1)

KeyPress event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513207893, (95,-14), root:(97,63),
state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513208137, (95,-14), root:(97,63),
state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyPress event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513208137, (95,-14), root:(97,63),
state 0x0, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyPress event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513208137, (95,-14), root:(97,63),
state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513208208, (95,-14), root:(97,63),
state 0x1, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513208273, (95,-14), root:(97,63),
state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

(Shift + F2)

KeyPress event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513219709, (79,-12), root:(81,65),
state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513219812, (79,-12), root:(81,65),
state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyPress event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513219812, (79,-12), root:(81,65),
state 0x0, keycode 68 (keysym 0xffbf, F2), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyPress event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513219812, (79,-12), root:(81,65),
state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513219885, (79,-12), root:(81,65),
state 0x1, keycode 68 (keysym 0xffbf, F2), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x6600001,
root 0x3f, subw 0x0, time 3513219925, (79,-12), root:(81,65),
state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

So, Holding Shift and Pressing F1 key gives the following result:

  • Shift is pressed and (and Shift Key is released)
  • F1 Key is pressed (and Shift Key is pressed)
  • F1 key is released and Shift Key is released

It means, the shift key is being released when F key are pressed.

How to prevent this?

Alt is working fine with F keys.

The following is the xmodmap for that server:

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x6d)
mod1        Alt_L (0x40),  Alt_R (0x71),  Meta_L (0x9c)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x73),  Super_R (0x74),  Super_L (0x7f),  Hyper_L (0x80)
mod5        Mode_switch (0x8),  ISO_Level3_Shift (0x7c)

The following is the xmodmap of another server where Shift + F keys works:

xmodmap:  up to 2 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock      
control     Control_L (0x25),  Control_R (0x6d)
mod1        Alt_L (0x40),  Alt_R (0x71)
mod2        Num_Lock (0x4d)
mod3      
mod4      
mod5      

I have tried removing the last 3 modifiers. But still doesn't work. Will it need to restart any service to take effect. If so, haven't done it. However restart of VNC completely resetting to its defaults.

I'v also tried to disable F keys. But don't know how. And even if I disable these F key bindings, Alt+F key commands won't work right. So I should not disable F key binding s completely.

Please help.

0

You must log in to answer this question.