A tecla Shift não funciona com teclas F1, F2 etc. no gnome2. Qual seria a razão?

1

Eu tenho uma sessão vnc com o desktop gnome2.

Seguem-se alguns exemplos em que o pressionamento múltiplo de teclas funciona como esperado e os dois últimos exemplos têm resultados inesperados (com F1 & F2 ).

Por favor ajude.

( 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

( Deslocamento + 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

Em todos os exemplos acima:

  • A tecla Shift é pressionada
  • Outra tecla é pressionada e é liberada
  • A tecla Shift é liberada.

( Deslocamento + 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

( Deslocamento + 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

Então, mantendo pressionada a tecla Shift e Pressionando F1 , obtemos o seguinte resultado:

  • Shift é pressionado e (e a tecla Shift é liberada)
  • A tecla F1 é pressionada (e a tecla Shift é pressionada)
  • A tecla F1 é liberada e a tecla Shift é liberada

Isso significa que a tecla shift está sendo liberada quando a tecla F é pressionada.

Como evitar isso?

Alt está funcionando bem com as teclas F.

O seguinte é o xmodmap para esse servidor:

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)

O seguinte é o xmodmap de outro servidor onde as teclas Shift + F funcionam:

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      

Eu tentei remover os últimos 3 modificadores. Mas ainda não funciona. Será necessário reiniciar qualquer serviço para entrar em vigor. Se assim for, não o fiz. No entanto, o reinício do VNC foi completamente redefinido para seus padrões.

Eu também tentei desabilitar as teclas F. Mas não sabe como. E mesmo se eu desabilitar essas ligações de tecla F, os comandos Alt + Chave F não funcionarão direito. Portanto, não devo desabilitar completamente a ligação da tecla F.

Por favor ajude.

    
por GP92 04.11.2015 / 09:11

0 respostas