Edit : Eu percebi que o "problema" não estava apenas no Ubuntu, mas no próprio Debian e no Ubuntu apenas o herdou, então eu fiz isso migrar do Ask Ubuntu
Uso o Linux há 10 anos e, mais recentemente, passei mais tempo com o OSX.
Mas ainda me lembro que no começo eu escolhia o layout de teclado internacional dos EUA e ele teria exatamente a mesma saída do layout de teclado do Windows (e, mais recentemente, o layout internacional do OSX nos EUA).
No entanto, alguns anos atrás, quando instalei o Ubuntu, notei que o cedilla não era mais impresso (ç ou Ç). Esta é uma combinação das seguintes teclas: '+ c. Em vez disso, o que recebo é a letra ć.
Quando isso começou a acontecer e por que a diferença de comportamento nos outros sistemas operacionais? O que me intriga ainda mais é que existe até um layout de teclado "Alternativa internacional dos EUA", que imprime exatamente as mesmas teclas! Então, qual é a alternativa?
Isso foi relatado como um bug na Canonical (não é possível encontrar o link agora), mas o layout do teclado nunca mudou para o que eu esperava. Conheço as soluções alternativas para corrigi-lo ao que preciso, mas gostaria de saber por que / quando ele se tornou diferente.
AltGr
+,
. Mas quando / se / por que mudou, eu não sei.Respostas:
Sumário
As configurações de chave morta dependem do local e do conjunto de caracteres.
Por exemplo:
en_US.UTF-8
é definido em/usr/share/X11/locale/en_US.UTF-8/Compose
ISO 8859-1
é definido em/usr/share/X11/locale/iso8859-1/Compose
Se você olhar neles usando
grep
, poderá ver que há uma diferença:Nomeadamente:
ç
ć
Os logs do git (( en_US.UTF-8 ) ( iso8859-1 )) mostram que tem sido assim desde pelo menos 2004.
A diferença entre US International e US Alternative International é definida em
/usr/share/X11/xkb/symbols/us
.Ou seja, o layout Internacional Alternativo dos EUA adiciona essas chaves inativas AltGr extras:
Por exemplo:
¥
ā
UTF-8 se tornou a codificação padrão:
fonte
<dead_acute> <c>
é remapeado paraç
(em vez deć
) se o seu código do idioma for pt_BR. Veja:/usr/share/X11/locale/pt_BR.UTF-8/Compose
Complementando a resposta de Vítor Souza
Usando um layout de teclado internacional dos EUA com o idioma do SO em inglês e com um lindo cedilha .
Para que o idioma inglês
ç/Ç
funcione perfeitamente ( 'c-> cedilla), não é necessário alterar os arquivos de composição. O que é preciso fazer é definir oLC_CTYPE
com um código de idioma que contém esta definição:Como pt_BR.UTF-8 (Português do Brasil / Português do Brasil).
Mapa do teclado X:
/etc/locale.conf
Atualizar localidade
E para tty:
Defina o mapa de teclas, a fonte e o mapa de fontes corretos, por exemplo.
fonte
De http://disi.unitn.it/~vitorsouza/linux/ubuntu-linux-10-10-maverick-meerkat/ e http://disi.unitn.it/~vitorsouza/linux/ubuntu-linux-10- 04-lince-lúcido / :
Problema com o cedilla:
Um cara legal decidiu que um c acentuado ("ć") é mais importante que um c com cedilha ("ç"); portanto, o comportamento padrão para pressionar '+ c em teclados internacionais com teclas mortas agora é "ć". Como sou brasileiro e não romeno ou algo assim, isso definitivamente me incomoda. '+ c usado para emitir “ç” uma vez.
Para corrigi-lo, edite como root o arquivo /usr/lib/gtk-2.0/2.10.0/gtk.immodules , localize esta linha:
E adicione: en after: wa, para que fique assim:
Edite para Ubuntu 12.10 ( fonte ):
o arquivo gtk.immodules a ser editado está localizado em:
/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
ou/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
Editar para Debian Wheezy (e provavelmente outras coisas do gtk 3)
O arquivo que precisa ser editado agora é
/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache
As
gtk20
linhas estão agora,gtk30
mas a adição de:en
no final é a mesma.Para corrigi-lo também para aplicativos não-GTK, edite como root o arquivo /usr/share/X11/locale/en_US.UTF-8/Componha e altere todas as instâncias de ć com ç e todas as instâncias de Ç com Ç.
Pode ser necessário repetir uma ou ambas as operações de tempos em tempos, quando você atualiza o sistema e leva os arquivos de configuração de volta ao seu conteúdo original.
fonte
dpkg-divert /usr/lib/gtk-2.0/2.10.0/gtk.immodules
. O sistema de pacotes gravará entãogtk.immodules.distrib
. Para desfazer isso, adicione o--remove
sinalizador ao mesmo comando e copie o arquivo .distrib sobre o original. Para mais informaçõesman dpkg-divert
,.Isso é um complemento à resposta de Vítor Souza .
No Xfce Quantal (Xubuntu 12.10, Mint 14 Xfce) não foi possível resolver isso pelos métodos já mencionados (veja abaixo). O que funcionou foi instalar o
ibus
pacote e suas dependências.( Fonte - mais exatamente aqui .)
A solução mais antiga não funcionou para mim: no Ubuntu 12.10, o arquivo
gtk.immodules
tem um local diferente:/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
ou
/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
(Minha fonte para isso aqui .)
fonte