web-dev-qa-db-fra.com

Clés mortes dans emacs avec ibus

Je viens de passer à la version 13.10 et j'ai remarqué que les clés mortes ne fonctionnaient plus dans emacs (une frappe sur 'conduit emacs à afficher <dead-acute> is undefined au lieu d'attendre la clé suivante. De plus, l'utilisation de la touche de composition entraîne <Multi_key> is undefined et il est impossible d'utiliser des liaisons de clé telles que <M-^>. D'autres applications fonctionnent correctement, pour autant que je sache.

Une brève recherche sur Internet a suggéré de (require 'iso-transl) à .emacs. Cela résout le premier problème, mais pas les autres.

Une autre solution de contournement possible vue sur le Web consiste à lancer emacs avec une variable vide XMODIFIERS, sous la forme XMODIFIERS='' emacs, au lieu de XMODIFIERS= @im=ibus, qui semble être la valeur par défaut dans 13.10. Ensuite, tout fonctionne bien, mais cela ressemble à un kludge. Existe-t-il un moyen de faire travailler emacs avec ibus sur ce sujet?

Mise à jour: J'observe le même comportement en 14.04.

Mise à jour: contenu de .dmrc comme demandé dans les commentaires:

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

Voici les choses que vous pouvez essayer.

Editez le fichier ~/.dmrc et assurez-vous de définir les lignes suivantes:

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

Editez le fichier ~/.emacs et ajoutez-y ces lignes au lieu 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)

Vous devrez ajouter des lignes similaires à la dernière si vous utilisez des clés mortes avec d'autres modes dans emacs (par exemple, latex-mode, tex-mode, html-mode...).

Déconnectez-vous puis reconnectez-vous.

Néanmoins, s'il vous arrive que des clés mortes ne fonctionnent pas dans emacs, essayez de taper C-\ et voyez si elles fonctionnent.

Mise à jour:

Si cela ne fonctionne pas, la seule chose qui me vienne à l’esprit est de définir deux dispositions de clavier dans les paramètres de votre système.

  • Clés mortes anglais US internationales (celle que vous avez)
  • Anglais américain

et ajoutez un sélecteur de disposition du clavier de la manière expliquée ici:

Comment changer de combinaison de clavier?

Lorsque vous travaillez avec emacs, choisissez la disposition "Anglais américain". Si vous avez ajouté à votre fichier .emacs les lignes que j'ai mentionnées ci-dessus, cela forcera votre clavier à se comporter comme un "clavier à touches mortes" dans emacs. Je sais que cela peut être agaçant, mais c'est la seule solution à votre problème qui me vienne à l'esprit.

2
Charo