Tote Schlüssel in Emacs mit ibus


13

Ich habe gerade ein Upgrade auf 13.10 durchgeführt und festgestellt, dass tote Schlüssel in Emacs nicht mehr funktionieren (ein Tastendruck zum Anzeigen <dead-acute> is undefinedvon Emacs führt statt zum Warten auf den nächsten Schlüssel. Außerdem führt die Verwendung des Compose-Schlüssels zu <Multi_key> is undefinedund es ist unmöglich zu Verwenden Sie Tastenkombinationen wie <M-^>. Andere Anwendungen funktionieren soweit ich das beurteilen kann.

Eine kurze Suche im Internet empfahl sich (require 'iso-transl)dazu .emacs. Dies löst das erste Problem, aber nicht die anderen.

Eine weitere mögliche Abhilfe im Web zu sehen ist Emacs mit einem leeren zu starten XMODIFIERSVariable, wie XMODIFIERS='' emacs, statt XMODIFIERS= @im=ibusdem scheint in 13.10 der Standard zu sein. Dann funktioniert alles gut, aber es sieht aus wie ein Kludge. Gibt es eine Möglichkeit, Emacs in diesem Bereich mit ibus arbeiten zu lassen?

Update: Ich beobachte das gleiche Verhalten in 14.04.

Update: Inhalt .dmrcwie in Kommentaren gewünscht:

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

Der korrekte Name des Pakets ist iso-transl(beachten Sie den Bindestrich.)
Lars Haugseth

@ LarsHaugseth gut gesehen, danke. Ich habe die Frage entsprechend bearbeitet.
Virgile

Ich benutze Emacs mit AltGr Dead-Tasten und es funktioniert gut.
Charo

Welche Version von Emacs hast du?
Charo

@Charo GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK + Version 3.10.7) vom 07.03.2014 auf lamiak, modifiziert von Debian. Ich habe dieses Problem noch in 14.04., Ich werde die Frage entsprechend aktualisieren
Virgile

Antworten:


2

Hier sind die Dinge, die Sie ausprobieren können.

Bearbeiten Sie die Datei ~ / .dmrc und stellen Sie sicher, dass Sie diese Zeilen darauf setzen:

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

Bearbeiten Sie die Datei ~/.emacsund fügen Sie diese Zeilen hinzu, anstatt (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)

Sie werden analog der letzten hinzufügen müssen , wenn Sie Tottasten mit anderen Modi in Emacs verwenden (zum Beispiel latex-mode, tex-mode, html-mode...).

Melden Sie sich ab und dann erneut an.

Sollte es Ihnen dennoch einmal passieren, dass tote Schlüssel in Emacs nicht funktionieren, versuchen Sie zu tippen C-\und zu prüfen, ob sie funktionieren.

Aktualisieren:

Wenn das nicht funktioniert, denke ich nur daran, dass Sie in Ihren Systemeinstellungen zwei Tastaturlayouts definieren

  • Englisch US internationale tote Schlüssel (die, die Sie haben)
  • Amerikanisches Englisch

und fügen Sie einen Tastaturlayout-Selektor hinzu, wie hier erklärt:

Wie wechselt man die Sprachkombination?

Wenn Sie mit Emacs arbeiten, wählen Sie das Layout "English US". Wenn Sie zu Ihrer .emacsDatei die oben erwähnten Zeilen hinzugefügt haben , wird Ihre Tastatur in Emacs als "Tastatur mit toten Tasten" angezeigt. Ich weiß, dass dies ärgerlich sein kann, aber es ist die einzige Lösung für Ihr Problem, die mir in den Sinn kommt.


Ich habe die fraglichen Zeilen hinzugefügt, aber das ändert nichts. Auch nicht "C". Trotzdem danke für die Vorschläge.
Virgile

Versuchen Sie, einige Zeilen in Ihrer ~ / .dmrc-Datei wie in meiner Antwort angegeben zu ändern.
Charo

Aber heißt das nicht, dass die Sprache meiner Sitzung Englisch ist?
Virgile

@Virgile: Aber mal sehen, ob auf diese Weise das Problem verschwindet. Nachdem Sie dies versucht haben, können Sie jederzeit zu Ihrem französischen Gebietsschema zurückkehren, indem Sie Ihre ~ / .dmrc-Datei erneut ändern. Ich habe das hier gelesen .
Charo

@Virgile: Siehe "Update" zu meiner Antwort.
Charo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.