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


12

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

O layout usa chaves mortas, por exemplo para as chaves tais como ', ", ^, & c. permitindo fácil entrada de caracteres com sinais diacríticos. No Windows, pressionar uma tecla morta e, em seguida, uma chave que não possui par associado resulta no caractere da chave morta (quando emparelhado com espaço) e o caractere da segunda tecla. Exemplo: pressionar ", aproduz "ä", no entanto, pressionar ', sproduz "'s", pois não há emparelhamento para 'e s.

Agora, existe um idioma chamado inglês que faz uso frequente exatamente desses dois caracteres e, como funciona no Windows para digitá-los normalmente, é memória muscular para mim agora. O que me leva ao meu problema:

No Linux (e GTK no Windows), não é um emparelhamento para 'e s(entre muitos outros), resultando em ś(que, por sua vez, leva a me frequentemente digitando “seu”). Então, digitando “É” me obriga a digitar ',         , sno final.

Existem algumas outras combinações com as quais estou acostumado que não funcionam. Entre eles está o de que para pares inexistentes simplesmente nada é o resultado. Digitar "eu" resulta em "eu". Pressionar uma dessas teclas duas vezes resulta em um diacrítico sem espaçamento, que quebra meu hábito de digitar seqüências de caracteres digitando primeiro as duas aspas (que agora resultam em um sotaque agudo ou macron).

Para encurtar a história: Nenhum dos fornecidos aparece US internacionais layouts para a função o mesmo que no Windows - Há algum que fazer o trabalho de forma idêntica? Ou alguma chance de configurá-lo dessa maneira? Embora possa ser bom digitar um s com acentuação aguda ou diacríticos sem espaçamento, essas não são exatamente as necessidades comuns para mim.


1
Para quem se pergunta por que uso a US International, em vez de outra coisa: sou da Alemanha e preciso digitar coisas como ä, ö, ü, ß às vezes. Mas a maioria dos designers de linguagem de programação projeta suas linguagens para exatamente um layout, para que as pessoas tenham que recorrer a combinações de teclas que quebram os dedos para inserir caracteres como chaves ou uma barra invertida.
Joey

Respostas:


6

Uma possibilidade é evitar chaves inativas e digitar letras acentuadas com uma tecla Compor. Por exemplo, digite Compose " apara entrar ä. Você terá que escolher uma opção de layout de teclado que inclua uma Composetecla; uma escolha comum é a chave à esquerda da Ctrltecla direita (que eu acho que o Windows chama Menu). A vantagem Composeé que você pode digitar muitos caracteres extravagantes sem alterar o layout principal. A desvantagem é que são necessárias três prensas em vez de duas para uma letra acentuada.

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

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

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

A sintaxe é bastante simples: a sequência de teclas à esquerda da :é transformada na string entre ""à direita da :. A palavra extra à direita é o teclado (isto é, o nome da chave) correspondente a essa sequência de teclas; não é muito importante. Qualquer coisa de a #até o final da linha é ignorado.

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

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

Sim, é muita digitação, mas você deve poder automatizar muito disso, copiando e colando partes keysymdef.he realizando algumas substituições em 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 ": turn eg

#define XK_exclam 0x0021 / * U + 0021 MARCA DE EXCLAMAÇÃO * /

para dentro

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

Por fim, você pode configurar um layout de teclado com teclas mortas e uma Composetecla. Sendo alemão, você pode configurar apenas "como uma chave morta. Se você estiver seguindo esse caminho, a opção mais simples é usar a GUI para configurar um teclado sem chave morta e um .Xmodmaparquivo para a chave morta, contendo algo como

keysym apóstrofo = apóstrofo dead_quotedbl

1
Ok, vou dar uma olhada nele (não na outra máquina agora). Usar o Compose não é uma opção, pois eu teria que reaprender a memória muscular e o Linux não é o meu sistema principal. E não assuma que, só porque sou alemão, nunca precisarei de nada além de trema ;-). Existem muitas palavras importadas de outros idiomas que também usam sotaque grave ou agudo.
Joey

Provavelmente seria melhor começar apenas substituindo exatamente as combinações com as quais você tem problemas e adicioná-las à mesa quando encontrar coisas novas que o <dead_acute> <s> : "'s"
incomodam

Você também pode precisar configurar GTK_IM_MODULE=ximas seqüências de composição definidas em ~/.XCompose, e não os built-ins do GTK (!).
RolKau

3

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

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

Observação: na verdade, é semelhante (não totalmente igual) ao comportamento do layout do teclado Windows XP US - International.

Você pode ir para http://tamh.info/en/win-us-intl-4-linux/ para conferir. Estou no processo de melhorar, adicionando mais entradas do XCompose para vários outros casos de fronteira, entre outras alterações.


2
O link não está funcionando.
dez

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.