Martwe klucze w emacsie z ibus

13

Właśnie zaktualizowałem do wersji 13.10 i zauważyłem, że martwe klawisze nie działają już w emacsie (naciśnięcie klawisza „powoduje, że emacs wyświetla się <dead-acute> is undefinedzamiast czekać na następny klawisz. Ponadto użycie klawisza„ komponuj ”prowadzi do <Multi_key> is undefinedi niemożliwe jest używaj skrótów klawiszowych, takich jak <M-^>. Inne aplikacje działają dobrze, o ile wiem.

Poszukiwania w internecie krótki zaproponował (require 'iso-transl)do .emacs. To rozwiązuje pierwszy problem, ale nie pozostałe.

Innym możliwym obejściem w sieci jest uruchomienie emacsa z pustą XMODIFIERSzmienną, ponieważ XMODIFIERS='' emacszamiast tego XMODIFIERS= @im=ibuswydaje się być domyślną w 13.10. Wtedy wszystko działa dobrze, ale wygląda jak kludge. Czy istnieje sposób, aby emacs działał z ibus na ten temat?

Aktualizacja: Obserwuję to samo zachowanie w 14.04.

Aktualizacja: treść .dmrcżądana w komentarzach:

[Desktop]
Session=xubuntu
Language=fr_FR
Layout=us       intl
Langlist=fr_FR:en
LCMess=fr_FR.UTF-8
Virgile
źródło
Prawidłowa nazwa pakietu to iso-transl(zwróć uwagę na myślnik).
Lars Haugseth,
@LarsHaugseth dobrze zauważony, dzięki. Odpowiednio zredagowałem pytanie.
Virgile,
Używam emacsa z klawiszami AltGr Dead i działa dobrze.
Charo
Którą wersję emacsa posiadasz?
Charo
@Charo GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK + wersja 3.10.7) z 2014-03-07 na lamiak, zmodyfikowany przez Debiana. Nadal mam ten problem w 14.04, odpowiednio zaktualizuję pytanie
Virgile,

Odpowiedzi:

2

Oto rzeczy, których możesz spróbować.

Edytuj plik ~ / .dmrc i upewnij się, że ustawiłeś na nim następujące linie:

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

Edytuj plik ~/.emacsi dodaj do niego następujące wiersze zamiast (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)

Trzeba będzie dodać linie podobne do ostatniego jeśli używasz martwych klawiszy z innych trybów w emacs (na przykład latex-mode, tex-mode, html-mode...).

Wyloguj się, a następnie zaloguj ponownie.

Mimo to, jeśli kiedykolwiek zdarzy ci się, że martwe klucze nie działają w emacsie, spróbuj wpisać C-\i sprawdź, czy działają.

Aktualizacja:

Jeśli to nie zadziała, jedyne, co przychodzi mi do głowy, to zdefiniowanie dwóch układów klawiatury w ustawieniach systemu

  • Międzynarodowe martwe klucze w języku angielskim (ten, który masz)
  • Angielski w USA

i dodaj selektor układu klawiatury w sposób wyjaśniony tutaj:

Jak zmienić kombinację klawiatury językowej?

Podczas pracy z emacsem wybierz układ „English US”. Jeśli dodałeś do swojego .emacspliku wiersze, które wspomniałem powyżej, to zmusi twoją klawiaturę do zachowywania się jak „klawiatura martwych klawiszy” w emacsie. Wiem, że to może być denerwujące, ale to jedyne rozwiązanie twojego problemu, które przychodzi mi do głowy.

Charo
źródło
Dodałem wspomniane wiersze, ale to niczego nie zmienia. Podobnie jak `C-`. W każdym razie dziękuję za sugestie.
Virgile,
Spróbuj zmienić niektóre wiersze w pliku ~ / .dmrc, jak wskazano w mojej odpowiedzi.
Charo,
Ale czy to nie oznacza, że ​​językiem mojej sesji będzie angielski?
Virgile,
@Virgile: Zobaczmy jednak, czy w ten sposób problem zniknie. Po wypróbowaniu tego zawsze możesz wrócić do francuskich ustawień regionalnych, ponownie modyfikując plik ~ / .dmrc. Przeczytałem to tutaj .
Charo
@ Virgile: Zobacz „Aktualizacja” mojej odpowiedzi.
Charo,