Chaves inoperantes no emacs com ibus

13

Acabei de atualizar para a 13.10 e notei que as chaves mortas não estão mais funcionando no emacs (um pressionamento de tecla para 'leva o emacs a ser exibido em <dead-acute> is undefinedvez de esperar a próxima tecla. Além disso, o uso da tecla de composição leva a <Multi_key> is undefinede é impossível use combinações de teclas como <M-^>.. Outros aplicativos funcionam bem até onde eu sei.

Uma breve pesquisa na internet sugeriu (require 'iso-transl)para .emacs. Isso resolve o primeiro problema, mas não os outros.

Outra solução possível vista na web é iniciar o emacs com uma XMODIFIERSvariável vazia , pois XMODIFIERS='' emacs, em vez da XMODIFIERS= @im=ibusqual parece ser o padrão na 13.10. Então, tudo funciona bem, mas parece um kludge. Existe uma maneira de fazer o emacs funcionar com o ibus nesse assunto?

Atualização: Observo o mesmo comportamento na 14.04.

Atualização: conteúdo .dmrcconforme solicitado nos comentários:

[Desktop]
Session=xubuntu
Language=fr_FR
Layout=us       intl
Langlist=fr_FR:en
LCMess=fr_FR.UTF-8
Virgile
fonte
O nome correcto do pacote é iso-transl(note o traço.)
Lars Haugseth
@LarsHaugseth bem visto, obrigado. Eu editei a pergunta de acordo.
Virgil
Eu uso o emacs com as teclas AltGr Dead e funciona bem.
Charo
Qual versão do emacs você possui?
Charo
@Charo GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK + versão 3.10.7) de 07-03-2014 no lamiak, modificado pelo Debian. Eu ainda tenho esse problema no 14,04, eu vou atualizar a questão em conformidade
Virgile

Respostas:

2

Aqui estão as coisas que você pode tentar.

Edite o arquivo ~ / .dmrc e certifique-se de definir estas linhas nele:

Language=en_US.utf8
Langlist=en_US:en
LCMess=en_US.UTF-8

Edite o arquivo ~/.emacse adicione essas linhas a ele, em vez de (require 'iso-transl) :

(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(setq default-input-method "latin-1-prefix")
(defun my-set-default-input-method ()
  (set-input-method 'latin-1-prefix))
(add-hook 'text-mode-hook 'my-set-default-input-method)

Você terá que adicionar linhas semelhantes ao último se você usar as teclas mortas com outros modos em emacs (por exemplo, latex-mode, tex-mode, html-mode...).

Faça logout e, em seguida, faça login novamente.

Mesmo assim, se alguma vez acontecer com você que chaves mortas não funcionam no emacs, tente digitar C-\e veja se elas funcionam.

Atualizar:

Se isso não funcionar, a única coisa que me vem à mente é que você define dois layouts de teclado nas configurações do sistema

  • Chaves americanas internacionais em inglês (a que você possui)
  • Inglês EUA

e adicione um seletor de layout de teclado da maneira explicada aqui:

Como mudar a combinação de teclado de idiomas?

Ao trabalhar com o emacs, escolha o layout "Inglês dos EUA". Se você adicionou ao seu .emacsarquivo as linhas que eu mencionei acima, isso forçará o seu teclado a se comportar como um "teclado de teclas mortas" no emacs. Sei que isso pode ser irritante, mas é a única solução para o seu problema que me vem à cabeça.

Charo
fonte
Eu adicionei as linhas em questão, mas isso não muda nada. Nem `C-`. Obrigado pelas sugestões de qualquer maneira.
Virgile
Tente alterar algumas linhas no seu arquivo ~ / .dmrc, conforme indicado na minha resposta.
Charo 03/07
Mas isso não significa que o idioma da minha sessão será o inglês?
Virgile
@ Virgile: Mas vamos ver se dessa maneira o problema desaparece. Depois de tentar isso, você sempre poderá voltar ao seu idioma francês modificando seu arquivo ~ / .dmrc novamente. Eu li isso aqui .
Charo 03/07
@ Virgile: Veja a "Atualização" da minha resposta.
Charo 03/07