Fazer um backtick produzir apenas um backtick

3

Minha chave backtick (') não produz nada quando pressionada pela primeira vez - tenho que pressioná-la duas vezes para gerar um'. Se eu esquecer e digitar 'e, recebo um caractere acentuado.

Só posso consertar isso temporariamente, para a sessão atual, executando:

xmodmap -e 'keycode 49 = grave asciitilde'

O problema é que não consigo descobrir como tornar essa mudança permanente. Eu encontrei muitas questões relacionadas ao Ask Ubuntu, mas nenhuma que resolva este problema específico.

Estou usando o KDE.

    
por Robin Green 28.08.2012 / 14:34

2 respostas

9

Nas preferências do sistema, layouts de teclado, há três "variantes" do Reino Unido:

Layout          Variants
------          --------
English (UK)    Default
English (UK)    English (UK, extended WinKeys)
English (UK)    English (UK, international with dead keys)

Meu teclado tem teclas do Windows, então eu selecionei a segunda variante durante o processo de instalação, como parecia razoável.

Na verdade, a diferença entre "Padrão" e a variante "WinKeys estendidos" parece não ter nada a ver com as chaves do Windows. A variante "winKeys estendida" na verdade faz muitas alterações no comportamento da tecla AltGr, a maioria delas para melhor, por exemplo, as teclas de apóstrofo e circunflexo AltGr-shift adicionam o acento agudo e circunflexo à próxima letra que é pressionada resultados aleatórios que a variante "Padrão" fornece.

No entanto, a variante "extended Winkeys" também corrige o backtick AltGr-shift e retorna uma barra quebrada conforme impressa na chave, em vez da barra sólida incorreta fornecida por "Default". Isso, por sua vez, significa que o AltGr-backtick não pode ser usado para adicionar o sotaque grave à próxima letra, como seria consistente com a variante "extended Winkeys", então alguém evidentemente decidiu simplesmente substituir o backtick por essa função. / p>

Como qualquer usuário do Linux no Reino Unido usaria a funcionalidade de teclas compostas para escrever letras acentuadas, ninguém sabe sobre as diferenças entre essas variantes de teclado e apenas pega as pessoas. Nos vários fóruns que mencionam o backtick-key dando esse comportamento inesperado, todo mundo ficou perplexo sobre o porquê isso aconteceu.

Esse é o tipo de coisa que esse bug causa. Se eu quisesse exibir o conteúdo de um script de shell em algum lugar no caminho, eu poderia digitar:

$ cat 'which zegrep'

Mas, em vez disso, recebo:

$ cat ẁhich zegrep

... o backtick e o "w" se combinam em w-with-grave

Este é o mapeamento da chave backtick com o layout "extended WinKeys" do Reino Unido:

$ xmodmap -pke | grep "keycode  49"
keycode  49 = dead_grave notsign grave notsign brokenbar notsign bar bar

E se você alterar o layout do teclado para UK "Default", o mapeamento de teclas dead_grave será deslocado para a terceira posição, que é a posição "mode_shifted" (ativada por uma tecla Mode_shift se você tiver definido em seu teclado) faz muito mais sentido:

$ xmodmap -pke | grep "keycode  49"
keycode  49 = grave notsign dead_grave notsign bar bar brokenbar notsign

Estou pensando em relatar um bug, já que evidentemente outras pessoas se deparam com isso, mas não tenho certeza do que recomendar. Talvez renomeie "UK, estendeu WinKeys" para "UK, deadkeys via AltGr", para que as pessoas geralmente não o selecionassem a menos que soubessem quais eram os "deadkeys" e especificamente queriam esse comportamento. Ou mude a função dead_grave para a posição AltGr-shift na chave backtick, o que a tornaria consistente com os outros deadkeys.

Enfim, vá para os layouts de teclado, adicione um novo layout e selecione o teclado Padrão do Reino Unido.

    
por Dave Farrance 02.09.2012 / 21:47
1

Isso é chamado de "chave morta". Procure uma variante do layout do teclado que diga algo como "eliminar chaves inativas" ou uma variante que não seja "chave inativa". Para o teclado gb, a variante é chamada English (UK) , eu acho. Você também pode configurá-lo com a linha de comando:

setxkbmap -layout gb -variant basic

No entanto, isso não será permanente. Fint o básico

Se você não encontrar um assim, é possível (e muito fácil) criar seu próprio layout.

    
por January 28.08.2012 / 20:03