Shift + Ctrl + [Esquerda | Direita] para realçar o texto e, em seguida, digite, ignora os dois primeiros caracteres digitados

2

Estou usando o openSuse. Foi instalado para mim pelo grupo de TI aqui no trabalho esta semana. Eu costumo usar Shift + Ctrl + tecla de seta para destacar o texto, e eu tenho o hábito de simplesmente digitar para substituir o texto que foi destacado.

Se eu destacar o texto com o mouse e começar a digitar, tudo funcionará bem. Se eu destacar o texto usando a combinação de teclado, o primeiro caractere que eu digitar excluirá o texto realçado e o segundo não fará nada, então o restante dos caracteres que eu digito serão colocados como um substituto para o texto realçado. Esse comportamento parece acontecer independentemente do aplicativo. Eu vi isso no Google Chrome (embora não na barra de URL), no Firefox e nos editores de texto do Eclipse.

Eu não tenho idéia do que está acontecendo, mas é realmente irritante e me atrasando no Eclipse. Eu posso me locomover no linux, mas não sou guru. Onde devo procurar descobrir o que está acontecendo?

Atualização: estou no Gnome. Eu vi o comportamento no escritor Open Office, Google Chrome, Firefox, Eclipse, Thunderbird. Eu fiz não vê-lo no Tomboy Notes ou no gedit.

    
por digitaljoel 27.01.2011 / 22:53

2 respostas

2

Isso tem me incomodado há algum tempo também.

Trabalhei que usar Ctrl esquerda em vez de Ctrl direita (o que eu estava fazendo o tempo todo porque está mais perto das teclas de seta) elimina o problema.

Eu me pergunto por que e se isso pode ser alterado em algum lugar na configuração? Eu também estou usando o openSuse e o Eclipse.

EDIT: Resolvido usando o arquivo .Xmodmap como instruído aqui: link

O direito-ctrl é uma chave de composição para caracteres multi-chave por padrão, daí o problema.

EDIT2: A correção acima parou de funcionar para mim há um tempo atrás. Encontrou uma maneira diferente de resolvê-lo, usando também o Xmodmap. Desta vez eu tenho apenas uma linha ativa no arquivo .Xmodmap no meu diretório home:

keycode 105 = Controle_R Controle_R Controle_R Controle_R Controle_R Controle_R

Anteriormente, a chave 105 foi mapeada como

Control_R Multi_Key Control_R Multi_Key Control_R Multi_Key

o que significa que pressionar Shift, Alt ou Meta com Control_R tornou Multi_Key, o que causou esse problema.

    
por 14.06.2014 / 07:51
1

Então você esperaria que o primeiro e o segundo caractere substituíssem o texto selecionado, certo?

O que xev imprime?
(Execute-o a partir de um terminal, mova o mouse sobre a janela, depois pressione Deslocamento Esquerda Esquerda a b )

Para mim, isso acontece.

Pressionando e mantendo pressionado Ctrl , em seguida, Shift ...

    KeyPress event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143718968, (47,65), root:(48,147),
        state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False

    KeyPress event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143719024, (47,65), root:(48,147),
        state 0x14, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False

então Esquerda , Esquerda ...

    KeyPress event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143720176, (47,65), root:(48,147),
        state 0x15, keycode 113 (keysym 0xff51, Left), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False

    KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143720280, (47,65), root:(48,147),
        state 0x15, keycode 113 (keysym 0xff51, Left), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False

    KeyPress event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143720952, (47,65), root:(48,147),
        state 0x15, keycode 113 (keysym 0xff51, Left), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False

    KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143721040, (47,65), root:(48,147),
        state 0x15, keycode 113 (keysym 0xff51, Left), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False

em seguida, soltando as teclas Ctrl e Shift ...

    KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143723304, (47,65), root:(48,147),
        state 0x15, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False

    KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143723304, (47,65), root:(48,147),
        state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False

pressionando a , b

    KeyPress event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143724576, (47,65), root:(48,147),
        state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
        XLookupString gives 1 bytes: (61) "a"
        XmbLookupString gives 1 bytes: (61) "a"
        XFilterEvent returns: False

    KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143724672, (47,65), root:(48,147),
        state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
        XLookupString gives 1 bytes: (61) "a"
        XFilterEvent returns: False

    KeyPress event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143725048, (47,65), root:(48,147),
        state 0x10, keycode 57 (keysym 0x62, b), same_screen YES,
        XLookupString gives 1 bytes: (62) "b"
        XmbLookupString gives 1 bytes: (62) "b"
        XFilterEvent returns: False

    KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143725136, (47,65), root:(48,147),
        state 0x10, keycode 57 (keysym 0x62, b), same_screen YES,
        XLookupString gives 1 bytes: (62) "b"
        XFilterEvent returns: False

Eu olharia especialmente nos últimos dois blocos, ou seja, quando liberando Ctrl e Shift e depois pressionando a b para ver se existem diferenças.

Outros pensamentos:

  • você tem as Sticky Keys?
  • você tem Ctrl + Shift definido para alterar o layout ou a linguagem do teclado?
por 28.01.2011 / 01:33