Composez des séquences de touches personnalisées sans xim (par exemple dans Sublime Text 2)


15

J'ai pas mal de séquences de touches personnalisées. Je sais que je peux les faire travailler avec un ~/.XComposeet changer la méthode d'entrée xim. Cependant, Sublime Text 2 n'accepte aucune séquence de touches de composition lorsque j'utilise xim. Il les accepte lorsque j'utilise la méthode d'entrée par défaut. Je pense que j'ai signalé ce bogue pour Sublime Text 2 il y a quelque temps.

En utilisant la méthode de saisie par défaut, j'ai ajouté le contenu de mon ~/.XComposeà /usr/share/X11/locale/en_US.UTF-8/Composemais cela n'a rien changé. Existe-t-il un moyen de faire fonctionner les séquences clés de composition dans mon ~/.XComposesans compter sur xim?

Réponses:


10

Je sais que vous avez posé cette question il y a un an, mais au cas où cela aiderait quelqu'un, voici ce qui a fonctionné pour moi pour activer les .XComposeajouts personnalisés :

sudo apt-get install uim
export "GTK_IM_MODULE=uim"
(log out and in again)

uim est une méthode de saisie qui respecte les ajouts de fichiers de composition, mais permet également la fonctionnalité non disponible dans xim, par exemple Ctrl+Shift+Upour entrer un ID de caractère Unicode hexadécimal.

Cela peut fonctionner pour la situation du PO, s'il a toujours besoin d'une solution, je ne sais pas.


1
Finalement! Après avoir rencontré tant de problèmes avec xim et ibus, cela a finalement résolu mon problème. Vous pouvez également activer uim uniquement pour Sublime Text, en utilisant export GTK_IM_MODULE=uim subl.
Gui Ambros

4

Ce que @coteyr dit n'est, en fait, pas correct. Sublime Text utilise l'API de méthode d'entrée GTK standard, mais il ne le fait pas correctement.


J'ai créé un package qui corrige Sublime Text. Vous pouvez trouver tous les détails sur le bogue et ma solution de contournement sur mon article de blog, mais voici un bref aperçu de l'installation:

  1. Ajoutez le sublime-imethod-fix-PPA à vos sources APT en exécutant la commande suivante:

    sudo add-apt-repository ppa:whitequark/sublime-imethod-fix
    
  2. Installez le package de correctifs qui correspond à votre version Sublime Text:

    • pour la prise en charge de XCompose dans ST2:

      sudo apt-get install libsublime-text-2-xim-xcompose
      
    • pour la prise en charge de XCompose dans ST3:

      sudo apt-get install libsublime-text-3-xim-xcompose
      
  3. Redémarrez Sublime Text (s'il est en cours d'exécution). Les séquences de composition devraient maintenant fonctionner correctement.

Ne fonctionne pas avec Sublime 3064, canal de développement. ST3 ne démarre même pas.
Gui Ambros

@GuiAmbros Utilisez ST3 stable pour l'instant. J'y reviendrai un peu plus tard
whitequark

1
J'ai corrigé en changeant en uim au lieu de xim. J'ai écrit sur l'expérience ici wrgms.com/using-xcompose-with-chrome-and-sublime-text
Gui Ambros

Cela a bien fonctionné pour moi
opensas

2

C'est une supposition extrêmement aléatoire, mais je pense que c'est parce que Sublime Text utilise une bibliothèque de widgets différente et que celle-ci n'est pas configurée pour l'entrée xim.

Vous pouvez essayer (si vous ne l'avez pas déjà fait) de configurer une configuration persistante sur ce lien

Si cela ne fonctionne pas, vous pouvez toujours pirater le support de messagerie instantanée.

Ce poste devrait aider à cela.

Les deux sont assez techniques et signifient tous les deux un peu de votre côté pour le faire fonctionner.


J'ai essayé la solution de cjacker à partir de votre deuxième lien, mais je n'ai pas réussi à la faire fonctionner. Si quelqu'un a eu plus de chance avec cela, j'apprécierais grandement si vous pouviez décrire vos étapes.
Glutanimate

0

Voici une solution de contournement pour Sublime Text 2 en particulier. Installez ce package , soit via le contrôle des packages, soit manuellement:

cd ~/.config/sublime-text-2/Packages

git clone https://github.com/xgenvn/InputHelper.git

Après avoir redémarré Sublime, vous pouvez accéder à une fenêtre d'entrée pour les séquences de touches composées avec Ctrl+ Shift+ Z. Appuyez sur Enterpour insérer la séquence à la position du curseur.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.