Chiavi morte in emacs con ibus


13

Ho appena effettuato l'aggiornamento a 13.10 e ho notato che le chiavi morte non funzionano più in emacs (la pressione di un tasto porta a visualizzare emacs <dead-acute> is undefinedinvece di attendere la chiave successiva. Inoltre, l'uso della chiave di composizione porta a <Multi_key> is undefineded è impossibile usare le combinazioni di tasti come <M-^>. Altre applicazioni funzionano bene per quanto ne so.

Una breve ricerca su Internet ha suggerito di (require 'iso-transl)farlo .emacs. Questo risolve il primo problema, ma non gli altri.

Un'altra possibile soluzione alternativa vista sul web è lanciare emacs con una XMODIFIERSvariabile vuota , poiché XMODIFIERS='' emacs, invece, XMODIFIERS= @im=ibussembra essere l'impostazione predefinita in 13.10. Quindi tutto funziona bene, ma sembra un kludge. C'è un modo per far funzionare emacs con ibus su questo argomento?

Aggiornamento: osservo lo stesso comportamento in 14.04.

Aggiornamento: contenuto di .dmrcquanto richiesto nei commenti:

[Desktop]
Session=xubuntu
Language=fr_FR
Layout=us       intl
Langlist=fr_FR:en
LCMess=fr_FR.UTF-8

Il nome corretto del pacchetto è iso-transl(notare il trattino.)
Lars Haugseth,

@LarsHaugseth ben individuato, grazie. Ho modificato la domanda di conseguenza.
Virgile,

Uso emacs con i tasti AltGr Dead e funziona benissimo.
Charo

Quale versione di emacs hai?
Charo,

@Charo GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK + Versione 3.10.7) del 2014-03-07 su lamiak, modificato da Debian. Ho ancora questo problema nel 14.04, aggiornerò la domanda di conseguenza
Virgile

Risposte:


2

Ecco le cose che puoi provare.

Modifica il file ~ / .dmrc e assicurati di impostare queste righe su di esso:

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

Modifica il file ~/.emacse aggiungi queste righe al posto di (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)

Si dovrà aggiungere linee simili a quello ultimo, se si utilizza tasti morti con altri modi di emacs (per esempio, latex-mode, tex-mode, html-mode...).

Disconnettersi e quindi riconnettersi.

Anche così, se ti capita mai che le chiavi morte non funzionano all'interno di emacs, prova a digitare C-\e vedi se funzionano.

Aggiornare:

Se non funziona, l'unica cosa che mi viene in mente è che tu definisca due layout di tastiera nelle impostazioni del tuo sistema

  • Chiavi morte internazionali inglesi statunitensi (quella che hai)
  • Inglese americano

e aggiungi un selettore di layout di tastiera nel modo spiegato qui:

Come cambiare la combinazione di tastiera della lingua?

Quando lavori con emacs, scegli il layout "English US". Se hai aggiunto al tuo .emacsfile le righe che ho menzionato sopra, questo costringerà la tua tastiera a comportarsi come una "tastiera con tasti morti" all'interno di emacs. So che questo può essere fastidioso, ma è l'unica soluzione al tuo problema che mi viene in mente.


Ho aggiunto le righe in questione, ma questo non cambia nulla. Nemmeno `C-`. Grazie comunque per i suggerimenti.
Virgile,

Prova a cambiare alcune righe nel tuo file ~ / .dmrc come indicato nella mia risposta.
Charo,

Ma questo non significa che la lingua della mia sessione sarà l'inglese?
Virgile,

@Virgile: Ma vediamo se in questo modo il problema scompare. Dopo averlo provato, puoi sempre tornare alle impostazioni internazionali francesi modificando di nuovo il tuo file ~ / .dmrc. L'ho letto qui .
Charo

@Virgile: vedi "Aggiorna" alla mia risposta.
Charo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.