Existe um layout de teclado internacional dos EUA no Linux que imita o comportamento do Windows?

10

Estou acostumado a usar o US International como meu layout de teclado. No entanto, a implementação parece diferir muito entre o Windows e o Linux (no meu caso, o Gnome - pode muito bem ser um problema do GTK, já que o GTK se comporta da mesma maneira no Windows).

O layout usa chaves mortas, por exemplo, para chaves como ', ", ^ , & c. permitindo fácil entrada de caracteres no diacrítico No Windows, pressionar uma tecla morta e, em seguida, uma tecla que não possui par associado resulta no caractere da chave inativa (quando emparelhado com espaço) e no caractere da segunda tecla Exemplo: Pressionar " , a produz “ä”, no entanto, pressionando ', s produz “' s”, já que não há emparelhamento para ' e s .

Agora, há um idioma chamado inglês que faz uso freqüente desses dois caracteres e, como funciona no Windows para digitá-los como de costume, agora é memória muscular para mim. O que me leva ao meu problema:

No Linux (e GTK no Windows), existe um emparelhamento para ' e s (entre muitos outros), resultando em ś (o que, por sua vez, me leva a digitar com frequência “itś”). Então, digitando “it's” requer que eu digite ', , s no final.

Existem algumas outras combinações com as quais estou acostumado e que não funcionam. Entre esses é que para pares inexistentes simplesmente nada é o resultado. Digitando "eu" resulta em "eu". Acertar uma dessas chaves duas vezes resulta em um diacrítico sem espaçamento, que quebra meu hábito de digitar strings primeiro digitando aspas (o que agora resulta em um acento agudo sem espaçamento ou macron).

Longa história: nenhum dos layouts fornecidos pela US International parece funcionar da mesma maneira que no Windows - há algum que faça funcione de forma idêntica? Ou alguma chance de configurá-lo dessa maneira? Embora possa ser bom digitar um s com sotaque agudo ou diacríticos sem espaçamento, essas não são exatamente necessidades comuns para mim.

    
por Joey 19.06.2010 / 02:21

3 respostas

7

Uma possibilidade é evitar chaves mortas e digitar letras acentuadas com uma tecla Compose. Por exemplo, digite Compor " a para inserir ä . Você terá que escolher uma opção de layout de teclado que inclua um Tecla Compor , uma escolha comum é a tecla à esquerda da tecla direita Ctrl (que eu acho que o Windows chama de Menu ). A vantagem de Compor é que você consegue digitar muitos caracteres especiais sem alterar seu layout principal. A desvantagem é que são necessárias três impressoras em vez de duas para uma letra acentuada.

Como alternativa, você pode configurar o efeito de chaves inativas criando um arquivo chamado .XCompose (note CApitalization) em seu diretório pessoal e listando as combinações desejadas. Algo como:

include "/usr/share/X11/locale/en_US.UTF-8/Compose"

<dead_acute> <space> : "'" apostrophe
<dead_acute> <exclam> : "'!"
<dead_acute> <quotedbl> : "'\""
# etc...
<dead_acute> <a> : "á"
<dead_acute> <b> : "'b"
# etc...

A sintaxe é bastante simples: a sequência de chaves à esquerda do : é transformada na string entre "" à direita de : . A palavra extra à direita é o keysym (ou seja, o nome da chave) correspondente a esta sequência de chaves; não é muito importante. Qualquer coisa entre # e o final da linha é ignorada.

Altere a primeira linha para apontar para o arquivo do sistema, se a sua distribuição colocar em um local diferente. Você pode procurar neste arquivo por mais exemplos de sintaxe. <Multi_key> é outro nome para a tecla Compor .

À esquerda, os nomes entre < colchetes angulares > são keyyms. Você pode encontrar a lista de keyyms em /usr/include/X11/keysymdef.h (este arquivo está em um pacote de desenvolvimento, por exemplo, x11proto-core-dev no Ubuntu).

Sim, é muita digitação, mas você deve ser capaz de automatizar grande parte dela copiando blocos de keysymdef.h e fazendo algumas substituições de massa inteligentes. Algo que ajudará é que você pode reutilizar o código hexadecimal à direita para criar a string da direita, graças à sintaxe "\ x dd ": por exemplo, por exemplo.

#define XK_exclam                        0x0021  /* U+0021 EXCLAMATION MARK */

em

<dead_acute> <exclam> : "'\x21"

Finalmente, você pode configurar um layout de teclado com chaves inativas e uma tecla Compor . Sendo alemão, você pode configurar apenas " como uma chave morta. Se você estiver indo nessa rota, a opção mais simples é usar a GUI para configurar um teclado sem chave morta e um .Xmodmap arquivo para a chave morta, contendo algo como

keysym apostrophe = apostrophe dead_quotedbl
    
por 10.07.2010 / 02:40
3

Estou ciente de que esta questão foi "resolvida" por um tempo. No entanto, quero apresentar minha solução, que combina os resultados desta página com muitos testes e experimentos.

Win US Intl para Linux é uma série de scripts que escrevi para resolver o problema de ter problemas com o layout de teclado nativo dos EUA no Linux, assim como o OP escreveu. Eu o uso principalmente porque minha língua materna é o espanhol, e eu ainda uso muitos fóruns em inglês, textos, bate-papos e assim por diante (como este site).

Observação: isso é realmente semelhante (não totalmente igual) ao comportamento do layout de teclado internacional do Windows XP nos EUA.

Você pode acessar o link para conferir. Eu estou no processo de torná-lo melhor, adicionando mais entradas XCompose para vários outros casos limítrofes, entre outras mudanças.

    
por 04.04.2011 / 03:34
3

Atualmente, há um repositório do github que fornece um arquivo .deb que resolve esse problema:

Windows® EUA International XCompose para Linux

Ele é baseado em um arquivo .XCompose personalizado, como outras respostas sugeriram.

    
por 18.05.2016 / 19:19