web-dev-qa-db-fra.com

Compose "dead_greek" avec la clé de composition

Le fichier de configuration de ma clé de composition /usr/share/X11/locale/en_US.UTF-8/Compose répertorie toutes les séquences de touches permettant de composer des lettres grecques; toutes nécessitent la pression d'une touche spéciale dead_greek. Bien sûr, ce n’est pas une clé physique. Comment puis-je affecter une séquence de touches arbitraire à ma clé de composition qui produit ce dead_greek virtuel?

De plus, je serais intéressé de savoir si vous avez trouvé une configuration de clavier confortable en ce qui concerne la touche de composition en général et les lettres grecques en particulier.

10
davide

Pour aider ceux qui trébuchent ici,

Vous devez configurer ~/.XCompose (voir le fichier complet ci-dessous) et redémarrer la session X .

Pour taper des lettres grecques sur le clavier latin:

  1. Maintenez la touche Composition enfoncée - généralement, c'est correct Alt (Recherchez "Emplacement de la clé de composition" dans les sections "Clavier" dans "Paramètres système"). <Multi_key> dans la liste ci-dessous.
  2. Type g pour les petites lettres ou G pour les lettres CAPITALES. G signifie "G reek". Une capitalisation différente pour plus de commodité
  3. Tapez l'équivalent alphabet latin.
  4. Relâchez la touche de composition.

Vous pouvez voir la liste des séquences de composition configurées à l'échelle du système dans le fichier /usr/share/X11/locale/$LANG/Compose, où $LANG est une variable d'environnement pour l'environnement local actuel (pour l'anglais américain, il est égal à en_US.UTF-8):

$ cd /usr/share/X11/locale/$LANG/
$ less Compose

Pour activer la composition pour l'alphabet grec, ajoutez-le à votre fichier ~/.XCompose:

~/.XCompose
# GREEK CAPITAL LETTERS
<Multi_key> <G> <A> : "Α"    U0391    # GREEK CAPITAL LETTER ALPHA
<Multi_key> <G> <B> : "Β"    U0392    # GREEK CAPITAL LETTER BETA
<Multi_key> <G> <G> : "Γ"    U0393    # GREEK CAPITAL LETTER GAMMA
<Multi_key> <G> <D> : "Δ"    U0394    # GREEK CAPITAL LETTER DELTA
<Multi_key> <G> <E> : "Ε"    U0395    # GREEK CAPITAL LETTER EPSILON
<Multi_key> <G> <Z> : "Ζ"    U0396    # GREEK CAPITAL LETTER ZETA
<Multi_key> <G> <H> : "Η"    U0397    # GREEK CAPITAL LETTER ETA
<Multi_key> <G> <I> : "Ι"    U0399    # GREEK CAPITAL LETTER IOTA
<Multi_key> <G> <K> : "Κ"    U039A    # GREEK CAPITAL LETTER KAPPA
<Multi_key> <G> <L> : "Λ"    U039B    # GREEK CAPITAL LETTER LAMDA
<Multi_key> <G> <M> : "Μ"    U039C    # GREEK CAPITAL LETTER MU
<Multi_key> <G> <N> : "Ν"    U039D    # GREEK CAPITAL LETTER NU
<Multi_key> <G> <P> : "Π"    U03A0    # GREEK CAPITAL LETTER PI
<Multi_key> <G> <R> : "Ρ"    U03A1    # GREEK CAPITAL LETTER RHO
<Multi_key> <G> <S> : "Σ"    U03A3    # GREEK CAPITAL LETTER SIGMA
<Multi_key> <G> <T> : "Τ"    U03A4    # GREEK CAPITAL LETTER TAU
<Multi_key> <G> <U> : "Υ"    U03A5    # GREEK CAPITAL LETTER UPSILON
<Multi_key> <G> <F> : "Φ"    U03A6    # GREEK CAPITAL LETTER PHI
<Multi_key> <G> <X> : "Χ"    U03A7    # GREEK CAPITAL LETTER CHI
<Multi_key> <G> <O> : "Ω"    U03A9    # GREEK CAPITAL LETTER OMEGA

# DOUBLES (additional stroke <Q>)
<Multi_key> <G> <Q> <T> : "Θ"    U0398    # GREEK CAPITAL LETTER THETA
<Multi_key> <G> <Q> <O> : "Ο"    U039F    # GREEK CAPITAL LETTER OMICRON
<Multi_key> <G> <Q> <X> : "Ξ"    U039E    # GREEK CAPITAL LETTER XI
<Multi_key> <G> <Q> <P> : "Ψ"    U03A8    # GREEK CAPITAL LETTER PSI

# greek small letters
<Multi_key> <g> <a> : "α"    U03B1    # GREEK SMALL LETTER ALPHA
<Multi_key> <g> <b> : "β"    U03B2    # GREEK SMALL LETTER BETA
<Multi_key> <g> <g> : "γ"    U03B3    # GREEK SMALL LETTER GAMMA
<Multi_key> <g> <d> : "δ"    U03B4    # GREEK SMALL LETTER DELTA
<Multi_key> <g> <e> : "ε"    U03B5    # GREEK SMALL LETTER EPSILON
<Multi_key> <g> <z> : "ζ"    U03B6    # GREEK SMALL LETTER ZETA
<Multi_key> <g> <h> : "η"    U03B7    # GREEK SMALL LETTER ETA
<Multi_key> <g> <i> : "ι"    U03B9    # GREEK SMALL LETTER IOTA
<Multi_key> <g> <k> : "κ"    U03BA    # GREEK SMALL LETTER KAPPA
<Multi_key> <g> <l> : "λ"    U03BB    # GREEK SMALL LETTER LAMDA
<Multi_key> <g> <m> : "μ"    U03BC    # GREEK SMALL LETTER MU
<Multi_key> <g> <n> : "ν"    U03BD    # GREEK SMALL LETTER NU
<Multi_key> <g> <p> : "π"    U03C0    # GREEK SMALL LETTER PI
<Multi_key> <g> <r> : "ρ"    U03C1    # GREEK SMALL LETTER RHO
<Multi_key> <g> <s> : "σ"    U03C3    # GREEK SMALL LETTER SIGMA
<Multi_key> <g> <t> : "τ"    U03C4    # GREEK SMALL LETTER TAU
<Multi_key> <g> <u> : "υ"    U03C5    # GREEK SMALL LETTER UPSILON
<Multi_key> <g> <f> : "φ"    U03C6    # GREEK SMALL LETTER PHI
<Multi_key> <g> <x> : "χ"    U03C7    # GREEK SMALL LETTER CHI
<Multi_key> <g> <o> : "ω"    U03C9    # GREEK SMALL LETTER OMEGA

# doubles (additional stroke <q>)
<Multi_key> <g> <q> <t> : "θ"    U03B8    # GREEK SMALL LETTER THETA
<Multi_key> <g> <q> <o> : "ο"    U03BF    # GREEK SMALL LETTER OMICRON
<Multi_key> <g> <q> <p> : "ψ"    U03C8    # GREEK SMALL LETTER PSI
<Multi_key> <g> <q> <s> : "ς"    U03C2    # GREEK SMALL LETTER FINAL SIGMA
<Multi_key> <g> <q> <x> : "ξ"    U03BE    # GREEK SMALL LETTER XI

Voir également:

Les lettres les plus utilisées peuvent également être configurées avec des combinaisons de touches de composition distinctes. Par exemple, π:

<Multi_key> <p> <i> : "π"    U03C0    # GREEK SMALL LETTER PI

Vous pouvez également enregistrer cette liste dans un fichier nommé GreekCompose et utiliser la commande include dans ~/.XCompose:

include "%L"
include "/path/to/GreekCompose"

La liste ci-dessus a été créée en ajustant manuellement la sortie du petit script Python: https://github.com/rybak/scripts/blob/master/extra/gen_x_compose.py

10
nabin-info

Faites xmodmap -pke | grep dead_greek

S'il n'y a pas de sortie, vous n'avez pas de clé représentant dead_greek.

Vous pouvez en affecter un. Par exemple, je viens d’attribuer la bonne touche Alt à dead_greek:

xmodmap -e 'keycode 108 = dead_greek Meta_R Alt_R Meta_R'

et maintenant je peux taper ralt ralt b ralt g et il sort αβγ.

4
nickandrew

Pas une solution parfaite, peut-être, mais j'ai utilisé

xmodmap -e "keycode 191 = dead_greek dead_greek dead_greek dead_greek"

Cela mappait la touche F13 de mon clavier sur dead_greek (les quatre répétitions concernent différentes combinaisons de SHIFT et ALTGR avec F13). Le nombre 191 provient de l'examen du résultat de xev | sed -ne '/^KeyPress/,/^$/p' lorsque vous appuyez sur F13 (il indique keycode 191).

2
jdpipe

J'ai expérimenté et mis au point (IMHO) des liaisons beaucoup plus conviviales.

  • Toutes les lettres grecques portent le préfixe <g> qu'il soit en majuscule ou en minuscule.
  • Après le préfixe, commencez à taper le nom de la lettre en anglais: par exemple. 'chi' pour 'χ'. (Ce sera généralement un seul personnage mais parfois deux.)
    • Il existe deux exceptions à cette règle: eta "η" est "h" et oméga "ω" est "w". Cela évite de devoir taper trois caractères pour distinguer oméga et omicron; dans le cas de eta, il s'agit clairement de l'ancêtre de 'h' et, de plus, son 'e' de départ entrerait en conflit avec epsilon, qui est beaucoup plus couramment utilisé en mathématiques et en sciences.
  • Les lettres majuscules grecques sont insérées comme décrit ci-dessus mais en tapant en majuscule ou au moins la première lettre en majuscule.
  • Certaines lettres grecques ont des variantes accessibles de la manière décrite ci-dessus mais avec le préfixe de variante <g> <v>, par exemple <g> <v> <e> produit une variante epsilon.
  • J'ai supprimé les majuscules grecques qui sont synonymes de majuscules latines car elles semblaient superflues. Existe-t-il des cas où ils seraient affichés différemment?
# Greek alphabet
<Multi_key> <g> <a> :       "α"    U03B1    # GREEK SMALL LETTER ALPHA
<Multi_key> <g> <b> :       "β"    U03B2    # GREEK SMALL LETTER BETA
<Multi_key> <g> <v> <b> :   "ϐ"    U03D0    # GREEK BETA SYMBOL
<Multi_key> <g> <G> :       "Γ"    U0393    # GREEK CAPITAL LETTER GAMMA
<Multi_key> <g> <g> :       "γ"    U03B3    # GREEK SMALL LETTER GAMMA
<Multi_key> <g> <D> :       "Δ"    U0394    # GREEK CAPITAL LETTER DELTA
<Multi_key> <g> <d> :       "δ"    U03B4    # GREEK SMALL LETTER DELTA
<Multi_key> <g> <e> :       "ε"    U03B5    # GREEK SMALL LETTER EPSILON
<Multi_key> <g> <v> <e> :   "ϵ"    U03F5    # GREEK LUNATE EPSILON SYMBOL
<Multi_key> <g> <z> :       "ζ"    U03B6    # GREEK SMALL LETTER ZETA
<Multi_key> <g> <v> <H> :   "Ͱ"    U0370    # GREEK CAPITAL LETTER HETA
<Multi_key> <g> <h> :       "η"    U03B7    # GREEK SMALL LETTER ETA
<Multi_key> <g> <v> <h> :   "ͱ"    U0371    # GREEK SMALL LETTER HETA
<Multi_key> <g> <T> :       "Θ"    U0398    # GREEK CAPITAL LETTER THETA
<Multi_key> <g> <v> <T> :   "ϴ"    U03F4    # GREEK CAPITAL THETA SYMBOL
<Multi_key> <g> <t> <h> :   "θ"    U03B8    # GREEK SMALL LETTER THETA
<Multi_key> <g> <v> <t> <h> :   "ϑ"    U03D1    # GREEK THETA SYMBOL
<Multi_key> <g> <i> :       "ι"    U03B9    # GREEK SMALL LETTER IOTA
<Multi_key> <g> <k> :       "κ"    U03BA    # GREEK SMALL LETTER KAPPA
<Multi_key> <g> <v> <k> :   "ϰ"    U03F0    # GREEK KAPPA SYMBOL
<Multi_key> <g> <L> :       "Λ"    U039B    # GREEK CAPITAL LETTER LAMDA
<Multi_key> <g> <l> :       "λ"    U03BB    # GREEK SMALL LETTER LAMDA
<Multi_key> <g> <v> <l> :   "ᴧ"    U1D27    # GREEK LETTER SMALL CAPITAL LAMDA
<Multi_key> <g> <m> :       "μ"    U03BC    # GREEK SMALL LETTER MU
<Multi_key> <g> <n> :       "ν"    U03BD    # GREEK SMALL LETTER NU
<Multi_key> <g> <X> :       "Ξ"    U039E    # GREEK CAPITAL LETTER XI
<Multi_key> <g> <x> :       "ξ"    U03BE    # GREEK SMALL LETTER XI
<Multi_key> <g> <O> :       "Ο"    U039F    # GREEK CAPITAL LETTER OMICRON
<Multi_key> <g> <o> :       "ο"    U03BF    # GREEK SMALL LETTER OMICRON
<Multi_key> <g> <P> <I> :   "Π"    U03A0    # GREEK CAPITAL LETTER PI
<Multi_key> <g> <P> <i> :   "Π"    U03A0    # GREEK CAPITAL LETTER PI
<Multi_key> <g> <p> <i> :   "π"    U03C0    # GREEK SMALL LETTER PI
<Multi_key> <g> <v> <p> <i> :   "ϖ"    U03D6    # GREEK PI SYMBOL
<Multi_key> <g> <r> :       "ρ"    U03C1    # GREEK SMALL LETTER RHO
<Multi_key> <g> <S> :       "Σ"    U03A3    # GREEK CAPITAL LETTER SIGMA
<Multi_key> <g> <s> :       "σ"    U03C3    # GREEK SMALL LETTER SIGMA
<Multi_key> <g> <v> <s> :   "ς"    U03C2    # GREEK SMALL LETTER FINAL SIGMA
<Multi_key> <g> <t> <a> :   "τ"    U03C4    # GREEK SMALL LETTER TAU
<Multi_key> <g> <U> :       "Υ"    U03A5    # GREEK CAPITAL LETTER UPSILON
<Multi_key> <g> <v> <U> :   "ϒ"    U03D2    # GREEK UPSILON WITH HOOK SYMBOL 
<Multi_key> <g> <u> :       "υ"    U03C5    # GREEK SMALL LETTER UPSILON
<Multi_key> <g> <F> :       "Φ"    U03A6    # GREEK CAPITAL LETTER PHI
<Multi_key> <g> <P> <H> :   "Φ"    U03A6    # GREEK CAPITAL LETTER PHI
<Multi_key> <g> <P> <h> :   "Φ"    U03A6    # GREEK CAPITAL LETTER PHI
<Multi_key> <g> <f> :       "φ"    U03C6    # GREEK SMALL LETTER PHI
<Multi_key> <g> <p> <h> :   "φ"    U03C6    # GREEK SMALL LETTER PHI
<Multi_key> <g> <v> <p> <h> :   "ϕ"    U03D5    # GREEK PHI SYMBOL
<Multi_key> <g> <c> :       "χ"    U03C7    # GREEK SMALL LETTER CHI
<Multi_key> <g> <v> <c> :   "☧"    U2627    # CHI RHO
<Multi_key> <g> <P> <S> :   "Ψ"    U03A8    # GREEK CAPITAL LETTER PSI
<Multi_key> <g> <P> <s> :   "Ψ"    U03A8    # GREEK CAPITAL LETTER PSI
<Multi_key> <g> <p> <s> :   "ψ"    U03C8    # GREEK SMALL LETTER PSI
<Multi_key> <g> <v> <p> <s> :   "ᴪ"    U1D2A    # GREEK LETTER SMALL CAPITAL PSI
<Multi_key> <g> <W> :       "Ω"    U03A9    # GREEK CAPITAL LETTER OMEGA
<Multi_key> <g> <w> :       "ω"    U03C9    # GREEK SMALL LETTER OMEGA
0
Libervurto