Comment puis-je faire en sorte qu'IBus n'ignore pas ~ / .XCompose?

14

Comme UIM ne voulait pas jouer au ballon après avoir installé Ubuntu 12.04 à partir de zéro, j'ai essayé IBus, car c'est le cadre IME fourni avec Ubuntu par défaut.

Cependant, ibus-table-compose est pénible à utiliser, car pour saisir un seul caractère, je dois d'abord appuyer sur la combinaison de touches pour déclencher IBus, saisir la séquence de composition respective, puis appuyer à nouveau sur la combinaison de touches IBus pour la désactiver. Au lieu de cela, je préfère conserver mes fonctionnalités de composition de clés telles que fournies par XIM, car cela nécessite moins de frappes.

Le problème est, cependant, que lorsque la méthode d'entrée par défaut est définie sur IBus et IBus est désactivé de sorte que (AIUI, depuis que je l'ai démarré avec ibus-daemon --xim ), il soit contourné en faveur de XIM, les paramètres de ~ / .XCompose semble être remplacé par la propre version d'IBus, donc par exemple, Compose ca ne donne pas ± (a-ogonek) comme je l'ai défini dans le fichier .XCompose dans mon répertoire personnel, mais ǎ (a-hacek), comme défini par certains autres réglages.

Je me suis habitué à mes propres mnémoniques, donc y a-t-il un moyen de faire en sorte que mon système utilise mon propre fichier ~ / .XCompose avec la méthode d'entrée par défaut toujours définie sur IBus pour qu'IBus fonctionne toujours, par exemple dans OpenOffice et d'autres applications qui ne vous permettent pas de choisir la méthode de saisie avec un menu contextuel?

Remarque: Il ne s'agit pas d'un double de la question Comment puis-je récupérer la composition sur ibus?

Jipí
la source
Cette question semble être abandonnée et sans réponse. Si vous l'avez résolu, veuillez poster une réponse expliquant comment cela a été résolu (répondre à vos propres questions n'est pas simplement autorisé, mais encouragé lorsqu'il n'y a pas d'autre réponse qui fait le travail ). Si la question ne s'applique plus, vous pouvez la supprimer / fermer volontairement.
Eric Carvalho

Réponses:

6

Comme indiqué par @von, vous NE POUVEZ PAS utiliser votre .XComposeavec IBUS pour l'instant.

Vous pouvez utiliser uimcomme méthode d'entrée, qui prend en charge Unicode, les immodules GTK + et Qt avec XIMprise en charge héritée .

Un bon moyen de gérer .XComposeet de conserver votre composition globale existante est:

  1. Installez uim:

    sudo apt-get install uim

  2. Faites-en la méthode d'entrée par défaut:

    im-config -n uim

  3. Modifiez votre .XComposeet ajoutez les paramètres régionaux du clavier actuel (dans mon cas, en_US) comme première ligne :

    include "/usr/share/X11/locale/en_US.UTF-8/Compose"

  4. Terminé! Redémarrez les programmes que vous souhaitez démarrer pour récupérer votre .XComposefichier.

Problèmes connus

Ubuntu Unity Dash ne produira jamais de cédille.

Autres discothèques

J'ai joué un peu avec .XComposeet méthodes d'entrée sur les distributions modernes ces jours-ci, tout en essayant de faire en sorte que Linux conserve le même comportement de clavier que Windows (TM) pour les langues latines (sortie çau lieu de ć, pas de consonnes accentuées, etc.).

J'ai créé un dépôt avec ces instructions (pour Ubuntu et d'autres distributions aussi): https://github.com/raelgc/win_us_intl

Rael Gugelmin Cunha
la source
4
Que signifie exactement "vous NE POUVEZ PAS utiliser votre .XCompose avec IBUS pour l'instant"? Qu'est-ce qui a changé? Était-ce un changement dans l'Ubuntu lui-même ou dans quelque chose qu'Ubuntu utilise?
andrybak
@AndreyRybak IBUS est le plus récent alors XIMet uimet ne supporte pas .XComposeencore de fichiers (et je ne suis pas sûr si cela va changer, comme un an plus tard encore le même statut). Non, ce n'est pas spécifique à Ubuntu.
Rael Gugelmin Cunha
Cela semble fonctionner pour moi en 16.04 (avec Gnome).
pause jusqu'à nouvel ordre.
@DennisWilliamson Vous voulez dire, IBUS et .XCompose? Je croise juste les doigts pour que cela se répare 4 ans depuis ma réponse ci-dessus.
Rael Gugelmin Cunha
1
Oui. J'avais un petit ~/.Xcomposeavec des entrées de travail. J'ai ajouté un tas de nouvelles entrées, elles ne fonctionnaient pas, puis je l'ai fait ibus restartet toutes les nouvelles ont fonctionné.
pause jusqu'à nouvel ordre.
1

Le problème est, cependant, que lorsque la méthode d'entrée par défaut est définie sur IBus et IBus est désactivé de sorte que (AIUI, depuis que je l'ai démarré avec ibus-daemon --xim), il soit contourné en faveur de XIM, les paramètres de ~ / .XCompose semble être remplacé par la propre version d'IBus, donc par exemple, Compose ca ne donne pas ± (a-ogonek) comme je l'ai défini dans le fichier .XCompose dans mon répertoire personnel, mais ǎ (a-hacek), comme défini par certains autres réglages.

Il semble qu'il ne soit pas défini par d'autres paramètres, dans le sens d'un fichier de configuration que vous pourriez modifier. Il semble qu'il soit compilé, codé en dur dans le fichier gtkimcontextsimpleseqs.h. Il semble en outre qu'il n'est pas facile de personnaliser le gtk_compose_seqs_compacttableau dans ce fichier et d'ajouter vos propres séquences de touches de composition. La table est optimisée pour l'espace, pas facile à éditer. La stratégie "simplement changer la source et recompiler" peut donc être plus difficile que je ne le pensais.

Je me suis habitué à mes propres mnémoniques, donc y a-t-il un moyen de faire en sorte que mon système utilise mon propre fichier ~ / .XCompose avec la méthode d'entrée par défaut toujours définie sur IBus pour qu'IBus fonctionne toujours, par exemple dans OpenOffice et d'autres applications qui ne vous permettent pas de choisir la méthode de saisie avec un menu contextuel?

Il y a un rapport de bug sur https://bugzilla.gnome.org/show_bug.cgi?id=155010 qui a un correctif qui (disent-ils) permettrait de personnaliser la table de composition. Il n'utiliserait toujours pas votre fichier ~ / .XCompose, et la syntaxe serait différente, mais c'est quelque chose. Mais je note que le bug en question est toujours ouvert, donc je suppose que cela n'a pas encore fait son entrée dans les versions officielles.

von
la source
1

Depuis Dennis Williamson a dit qu'il a travaillé à 16,04 dans un commentaire ci - dessus, je l' ai testé dans cette nouvelle installation 18,04 avec un court .XComposecopié de mon précédent 16,04 installer.

# Import default rules from the system Compose file
include "%L"

# Custom definitions
<Multi_key> <R> <R> <R>             : "ʁ"   U0281 # LATIN LETTER SMALL CAPITAL INVERTED R

Ensuite, j'ai couru ibus restartdans un terminal et je peux taper ʁ.

Moilleadóir
la source
0
  1. Définir globalement ( par exemple pour Ubuntu /etc/environment) les QT_IM_MODULE, les GTK_IM_MODULEvariables (la dernière pour gnome non nécessaires) à ibuset XMODIFIERSà @im=ibus.

  2.α Exécutez setxkbmapavec -optionpour choisir la touche de composition. Par exemple , pour utiliser la touche de droite logo: setxkbmap -option compose:rwin. Cela serait écrasé au redémarrage.

  2.β Pour conserver le paramètre au redémarrage, créez le /etc/X11/xorg.conf.d/00-keyboard.confavec le contenu suivant:

Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbOptions"    "compose:rwin"
EndSection

Testé et fonctionne à la fois pour X11 et (au moins pour le setxkbmapchemin) Wayland.

Merci pour une allusion va à fujiwarat , mis à jour par cette discussion .

Salut ange
la source
1
Changer la configuration à l'échelle du système est fou cependant. Mettez simplement 2alpha et ces variables d'environnement dans votre .xprofile ou .xinitrc, selon celui que vous utilisez.
enigmaticPhysicist
@enigmaticPhysicist euh… lol, quoi ?? Faites-moi ne pas le voir - vous avez d'abord fait une version simplifiée de ma réponse, puis vous avez voté contre la mienne pour l'ajout que votre réponse n'a pas (comment allez-vous conserver la config au redémarrage?) , Et qui est facultative (comme vous peut voir par énumération et l'explication) .
Hi-Angel
Quelqu'un ne peut pas critiquer ... Hé, as-tu des cheveux orange, par hasard?
enigmaticPhysicist
@enigmaticPhysicist lol vous n'avez pas fait de critique. Vous avez copié ma réponse, puis j'ai rejeté la mienne pour être au top. Cela aurait même pu fonctionner si vous n'aviez pas laissé le commentaire, j'ai donc remarqué et signalé votre réponse. Quant au contenu de votre commentaire - j'ai déjà répondu. Et désolé, je n'ai pas compris - de quoi parle la blague aux cheveux orange?
Hi-Angel