Sélectionnez des personnages en maintenant une touche sous Linux (comme sous OSX)

18

Je me demandais s'il y avait un add-on disponible qui fait quelque chose comme Mac OS X. Ma langue maternelle est l'espagnol, et maintenant je vis dans un environnement francophone, je fais aussi beaucoup d'anglais, donc j'ai besoin d'accents différents , spécialement en français, j'utilise Linux depuis deux ans maintenant et j'utilise également Mac OS X de temps en temps, à des fins de test.

Je trouve vraiment utile la fonctionnalité disponible sur Mac OS X, où vous continuez d'appuyer sur la touche et elle affiche une liste des options disponibles sur le même caractère, des accents différents ou la ponctuation. Puis-je faire cela sous Linux?

Par exemple:

entrez la description de l'image ici

ximbal
la source
1
Ce serait rad. Pouvez-vous poster une capture d'écran de cette fonctionnalité? Je pense qu'il serait utile d'illustrer à quel point c'est génial ...
Jonathan Komar

Réponses:

3

Je crains de ne connaître aucune application à cet effet. Pour en développer une, il vous faudra probablement créer votre propre méthode de saisie (à remplacer XIM).

Cependant, je peux vous proposer une alternative que vous trouverez peut-être beaucoup plus utile que de simplement changer la disposition des touches. X (à travers XIM) propose depuis un certain temps un utilitaire appelé XCompose. XCompose vous permet de taper des caractères «exotiques» en appuyant sur une touche principale (que vous désignez) suivie de séquences de touches personnalisables. Par exemple, Composee'donne le caractère é. Les séquences par défaut, pour la plupart, sont assez intuitives, mais la partie la plus puissante de XCompose est que vous pouvez ajouter (ou modifier) ​​des séquences afin, théoriquement, de générer tout caractère unicode que vous jugez bon.

La configuration des séquences se fait à travers des fichiers en texte brut (que vous insérez $HOME/.XComposeou que vous placez ailleurs mais qui ont une $HOME/.XComposesource (vous pouvez consulter toute ma configuration ici si vous êtes intéressé; regardez spécifiquement XComposeet les fichiers ci-dessous compose/). extrait de mon personnelle $HOME/.XCompose:

include "%L"     # This enables all the default bindings
include "/home/halosghost/.compose/greek.compose" # some greek characters

Et maintenant un extrait de ce qui est greek.composeinclus ci-dessus (sachez que ce ne sont certainement pas les séquences les plus ergonomiques ou efficaces que vous pourriez utiliser, elles ne sont qu'un exemple):

# Lower case
<Multi_key> <a> <l> <p> <h> <a>     : "α"   U03B1   # Alpha
<Multi_key> <b> <e> <t> <a>         : "β"   U03B2   # Beta
<Multi_key> <d> <e> <l> <t> <a>     : "δ"   U03B4   # Delta
<Multi_key> <g> <a> <m> <m> <a>     : "γ"   U03B3   # Gamma
<Multi_key> <l> <a> <m> <b> <d> <a> : "λ"   U03BB   # Lambda
<Multi_key> <p> <i>                 : "π"   U03C0   # Pi
<Multi_key> <m> <u>                 : "µ"   U03BC   # Mu

Vous voyez que le format de ces fichiers est en fait très simple (bien qu'il y ait quelques cas où vous n'utilisez pas le caractère lui-même mais plutôt un nom pour lui (par exemple, <period>plutôt que <.>)).

Avec ce qui précède, je peux maintenant taper Capsmupour générer µ(notez que ma clé de composition est définie sur Caps).

Vous n'avez pas mentionné la distribution que vous utilisez (ou envisagez d'utiliser), mais XCompose est livré avec xorg, donc tout ce que vous devez faire est de le configurer. La lecture connexe pour la configuration de Composer avec XIMpeut être trouvée ici , mais vous devez également noter que le système XIMdevient assez ancien de nos jours et que ce n'est peut-être pas la meilleure option. De plus, il existe au moins un autre IME qui prend en charge les séquences Compose (bien qu'il utilise une implémentation légèrement différente): IBus .

Personnellement, j'utilise XIM, et j'espère le faire jusqu'à ce que je passe à Wayland (où j'espère qu'il y aura un meilleur IME complet autour de moi²), mais c'est Linux; une taille unique ne convient pas à tous, et vous devez utiliser ce qui fonctionne le mieux pour votre flux de travail ( dans des limites raisonnables ).


  1. À partir de ce lien, vous constaterez que vous pouvez facilement définir la touche que vous utilisez pour Compose (en supposant que votre clavier n'est pas suffisamment ésotérique pour avoir réellement une touche Compose dédiée) via la commande suivante (pour Caps):

    setxkbmap -option compose:caps
    
  2. Je peux rêver, non?

Comme note finale amusante, tous les personnages «exotiques» de ce message (y compris é, «,», µ, ¹ et ²) ont été générés à l'aide de XCompose.

HalosGhost
la source
Selon vous, quelles seraient les différences entre XIM et l'utilisation de la touche de composition? il est évident pour moi d'avoir des clés personnalisées, mais je crois que vous pouvez y arriver aussi en utilisant la clé de composition, j'utilise un Linux Mint sur une base Debian comme Distro. Je finirais probablement par mettre en place quelque chose comme vous le suggérez, mais ce serait pédagogique pour moi d'apprendre les différences., Merci d'avoir répondu.
ximbal
Je pense que vous êtes un peu confus au sujet de la configuration (ce qui peut très bien être de ma faute). XIMest un IME qui propose la touche Composer. Les séquences personnalisées que j'ai mentionnées et démontrées ne sont pas distinctes de la clé Composer, ce sont des extensions que j'ai personnellement ajoutées. Donc, avec la première includeligne que j'ai montrée à partir de cet .XComposeextrait, vous obtenez toutes les séquences de composition par défaut, puis j'en ajoute plus comme bon me semble (parfois en remplaçant certaines valeurs par défaut).
HalosGhost
1
Je vais essayer, je vous
répondrai
0

Vous souhaiterez peut-être activer votre clé de composition . Cela vous permet de composer des caractères à l'aide de symboles qui "ressemblent" à des parties du composite. J'utilise Alt Grcomme clé de composition, mais il est généralement possible de sélectionner n'importe quelle clé non utilisée.

Par exemple, Compose o /donnera ø, Compose a `donnera à, etc.

Ceci est très différent de l'utilisation des touches mortes , où les caractères d'accentuation n'apparaissent pas comme des caractères autonomes à moins d'être frappés deux fois de suite; cela est généralement extrêmement frustrant pour les programmeurs.

La fonctionnalité Compose Key existe depuis longtemps (je pense qu'elle est apparue sur les "vrais" terminaux Sun). Il est intégré à la plupart (beaucoup? Tous?) Des interfaces graphiques sur les systèmes Linux. Je connais et utilise également le logiciel correspondant pour Windows.

roaima
la source
1
Je connais l'utilisation de Compose Key, cependant, je ne trouve pas évident de se souvenir de 15 séquences de touches différentes pour tous les personnages possibles, je sais que c'est une solution qui fonctionne, et qui existe depuis longtemps, mais Je l'ai essayé et je finis par oublier les séquences clés, beaucoup d'autres choses sur lesquelles se concentrer. Merci d'avoir essayé de répondre.
ximbal
1
Composer, comme mentionné dans mon article, est une fonctionnalité de XIM(le module d'entrée X) IME. Quelques autres IME offrent des fonctionnalités similaires (comme IBus), mais toute interface graphique qui utilise XIMpour l'entrée (vous pouvez définir les deux GTKet Qtutiliser XIM) prendra en charge Compose si vous l'avez configuré.
HalosGhost