Ce tutoriel va vous permettre d'ajouter une disposition grecque polytonique adaptée à un clavier « azerty ».
Après sa configuration, il sera possible de le choisir dans la liste des dispositions de clavier. Par simple clic sur le bouton des langues de la barre des tâches de votre environnement de bureau, il sera possible de passer alternativement du clavier français au clavier grec pendant la rédaction d'un document.
Cette configuration de clavier et son installation ont été testées sous Debian et sous Xubuntu.
Un grand merci à l'équipe d-f, pour leur soutien et leurs encouragements sur le forum et IRC
Nous allons ici présenter les caractéristiques de la disposition qui a été développée.
Ce clavier a été développé en privilégiant une disposition mnémotechnique, visant la rapidité de la frappe2), sans sacrifier les lettres et symboles nécessaires pour l'écriture du grec aux environs de l'époque classique3).
Les philologues peuvent ajouter à cette disposition, toutes les lettres phéniciennes aux emplacements des troisième et quatrième niveaux des touches. Pour cela, voir la section « Comment utiliser le troisième et le quatrième niveau de touche ».
Dans ces vues, la majorité des lettres grecques sont disposées en fonction d'une correspondance phonétique directe avec les lettres d'un clavier « azerty ».
Ainsi : α → a
; β → b
; γ → g
…
fr
et pi placé sur celle du « p ». J'ai choisi de conserver là aussi le rapport entre phonèmes4), et non entre les graphèmes, afin d'aider les débutants francophones à se débarrasser de la confusion fréquente entre le signifiant et le signifié de rhô.noms | symboles | lettres en fr |
---|---|---|
Attention | ||
rhô | ρ | r |
pi | π | p |
Néanmoins, ce rapprochement n'a pas toujours pu être conservé.
Ces consonnes sont placées sur les touches du clavier fr
en correspondance avec les lettres de l'alphabet français selon un rapprochement phonétique éloigné :
χ → (ch) → c
; ζ (dz) → z
; ξ → x
Ces lettres sont en correspondance avec les lettres du clavier fr
en fonction d'une ressemblance entre les graphèmes5) :
ψ → y
; ω → w
; η → h
; θ → q
; ς6) → ç
et ε → e
Enfin7), les parenthèses ouvrante et fermante du clavier grec sont sur les touches & et ⇧ Shift+& du clavier fr
, en fonction du rapprochement symbolique qu'il y a entre le signe « & » et la fonction des parenthèses8) pour les auteurs grecs de l'époque classique.
fr
sans rapprochement phonétique directe; signes de ponctuation et lettres archaïques :noms translitéré | signes | touches fr |
---|---|---|
khi | χ | c |
zéta | ζ | z |
xi | ξ | x |
psi | ψ | y |
oméga | ω | w |
êta | η | h |
thêta | θ | q |
sigma final | ς | ç |
epsilon | ε | e |
koma | , | , |
érotimatiko9) | ; | ; |
ano télia (point d'en haut) | · | shift + : |
télia (point) | . | shift + ; |
thavmatiko | ! | ! |
pavla10) (tiret) | ‐ | - 11) |
dipli pavla12) (double tiret) | ‐ ··· ‐ | - |
apostrophos13) (apostrophe incurvée) | ̓ | ' |
apostrophos (autre apostrophe) | apostrophe simple | “ |
isagogika14) (guillemets) | « » | < > |
digamma | ϝ | ² |
san | ϻ | à |
koppa | ϟ | j |
sampi | ϡ | ù |
Pour ajouter un signe diacritique sur une lettre grecque, il faut appuyer d'abord sur la touche du diacritique (voir la description des emplacements ci-dessous), puis sur celle de la lettre, voyelle ou rhô15).
Les signes diacritiques sont organisés comme suit16) :
nom des signes | signes diacritiques | lettres en fr |
---|---|---|
accent aigu | ´ | é |
accent grave | ` | è |
tilde | ~ | ^ |
esprit doux | ἀ | ) |
esprit rude | ἁ | ( |
iota souscrit | ͺ | $ |
tréma | ¨ | shift + ^ → ¨ |
macron | ¯ | shift + ” → 3 |
Pour inscrire plusieurs signes diacritiques sur une voyelle, il suffit d'appuyer successivement sur les emplacements des diacritiques, puis sur la voyelle. Il est possible d'accumuler jusqu'à trois diacritiques. Il est à remarquer que toutes les combinaisons nécessaires au grec ancien fonctionnent ; ainsi, si une combinaison semble ne pas fonctionner, c'est qu'elle est orthographiquement fausse !
Par exemple :
Il est à noter que sans voyelle, les touches mortes apparaissent à la deuxième frappe de la touche.
Néanmoins cela ne fonctionne pas sur le clavier grec pour tous les signes diacritiques.
On peut obtenir de cette façon les accents et le iota souscrit, mais pas les esprits.
Ne vous y fiez pas ! Il est bien tel que le présente le schéma ci-dessus.
Réjouissez-vous, car après avoir suivi la section « Le fonctionnement du clavier sous Linux », il vous sera loisible d'organiser une disposition à votre convenance.
Si vous voulez l'utiliser tel quel, vous pouvez passer directement au chapitre « Installer le clavier “grec_hypathie” sous Linux ».
Cette table détient la correspondance entre la valeur du code ASCII19) ou Latin-1.
Pour constater cette correspondance entre keycode et keysymbol, on peut utiliser la commande xev
:
xev
On peut lire ceci dans le fichier /usr/share/X11/xkb/keycodes/evdev
:
<AE01> = 10;
<AE01>
est le nom symbolique de la touche physique du clavier, sur laquelle on trouve & ou ⇧ Shift+& → 110
est le code touche. Donc, cette ligne signifie que le keycode 10 (émis par une certaine touche du clavier) est désormais représenté par le nom de touche <AE01>.Voir : « Connaître le nom symbolique des touches physiques du clavier »
Les codes touches sont invariables ; il est inutile de s'intéresser à la table de correspondance entre les scancodes et les keycodes pour créer un clavier personnalisé.
Les codes touches (en anglais “keycodes”) ne servent pas à modifier la disposition de clavier, mais la notion de “keycode” permet de comprendre comment se fait l'encodage des caractères, qui s'inscrivent à l'écran lorsqu'on frappe une touche de son clavier.
/usr/share/X11/xkb/keycodes/evdev
, ni aux fichiers contenus dans /usr/share/X11/xkb/keycodes/
qui s'occupent d'associer ces keycodes à leurs noms symboliques.
Il s'agira simplement :
/usr/share/X11/xkb/symbols/
;/usr/share/X11/xkb/rules/evdev.xml
.Puisqu'on peut se contenter sous Linux d'associer aux noms symboliques des touches physiques du clavier, les codes UTF-8 des caractères qu'on veut faire apparaître lors de la frappe de certaines touches, il faut donc commencer par repérer le code UTF-8 des caractères qu'on va utiliser.
Voici un lien où l'on trouve une liste complète des codes UTF-8 : https://www.utf8-chartable.de/
U+0300 … U+036F: Combining Diacritical Marks
(lien direct)U+1F00 … U+1FFF: Greek Extended
(lien direct)
Les codes UTF-8 connus, il faut aussi repérer le nom symbolique de telle ou telle touche du clavier, puis repérer à quelle touche physique correspond tel ou tel nom symbolique de touche.
Une fois ces informations obtenues, il ne restera plus qu'à faire correspondre « noms symboliques » et « encodage UTF-8 », afin que telle ou telle touche du clavier permette d'inscrire le ou les caractère(s) qu'on souhaite.
Cela consiste en quelque sorte à apprendre à lire les fichiers du répertoire /usr/share/X11/xkb/symbols/
.
Voyons comment ces fichiers se présentent.
Considérons par exemple, le fichier /usr/share/X11/xkb/symbols/fr
.
On y trouve toutes les correspondances entre keysymbols et encodage des lettres.
Par exemple, la lettre « m » a pour nom symbolique AC10
:
key <AC10> { [ m, M, mu, masculine ] };
Voici comment tout clavier physique est représenté :
AA
: la première en partant du bas (Ctrl … Espace … Ctrl) ;
AB
: la deuxième en partant du bas ;
AC
: la troisième ;
AD
: la quatrième ;
AE
: la cinquième.
01
; 02
; 03
…
Il y a d'autres type de keysymbols, sur le clavier, comme ceux désignant les touches contrôles, mais il est inutile de s'en servir pour créer une configuration personnalisée. Pour connaître leurs noms symboliques, consultez le tableau de ce lien qui présente le nom symbolique des autres touches d'un clavier standard : « Les noms symboliques des touches sous XKb »
Une fois cela compris, on peut alors prendre pour modèle le fichier /usr/share/X11/xkb/symbols/gr
, afin d'éditer un nouveau fichier qui sera celui de la nouvelle disposition de clavier grec.
/usr/share/X11/xkb/symbols/grec_hypathie
20) ;/usr/share/X11/xkb/symbols/
:key <CODE> { [ nom-du-caractère, autre-nom-de-caractère] };
<
le code symbolique de la touche >
{
et au moins un espace après [
]
}
et ;
,
après l'avant-dernier niveau de touche,
après le dernier niveau de touche//
est un commentaire, vous pouvez y écrire ce que vous voulezJusqu'à obtenir, par exemple cela : fichier /usr/share/X11/xkb/symbols/grec_hypathie
Le redémarrage du système permet de compiler le nouveau fichier.
Voir : x11-xkb-utils et man xkbcomp
.
Si le fichier comporte une erreur de syntaxe, après compilation, un message ressemblant à cela apparaît :
xprop -root | grep XKB gsettings get org.gnome.libgnmekbd.keyboard model gsettings get org.gnome.libgnmekbd.keyboard layouts gsettings get org.gnome.libgnmekbd.keyboard options
Ce n'est pas grave, il suffit de corriger l'erreur de syntaxe et de redémarrer le système !
Il suffit d'ajouter des colonnes dans le fichier : /usr/share/X11/xkb/symbols/grec_hypathie
.
key <AB03> { [ Greek_chi, Greek_CHI ] }; // χ Χ
key <AB03> { [ Greek_chi, Greek_CHI, U03FE ] }; // χ Χ Ͼ level3:U03FE greek capital dotted lunate sigma symbol
key <AC02> { [ Greek_chi, Greek_CHI, U03F8, U03F7 ] }; // σ Σ ( ϸ Ϸ LETTER SHO)
Les dispositions actives sur le système s'obtiennent ainsi :
setxkbmap -print
xkb_keymap { xkb_keycodes { include "evdev+aliases(azerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+fr+grec_hypathie:2+inet(evdev)+group(alt_shift_toggle)" }; xkb_geometry { include "pc(pc105)" }; };
Si le clavier français a sauté et que vous vous retrouvez avec un clavier qwerty, pour retrouver un clavier azerty, utilisez la commande :
setxkbmap fr
/usr/share/X11/xkb/symbols/gr
via la commande :cp -v /usr/share/X11/xkb/symbols/gr /usr/share/X11/xkb/symbols/gr.distribution
// Hellenic keyboard map for X.org // lundi 10 fevrier // Original version: // Kostas Gewrgiou <gewrgiou@imbc.gr> // Heavily modified and maintained by: // Vasilis Vasaitis <vvas@hal.csd.auth.gr> // Originally converted to single group form by: // Ivan Pascal <pascal@info.tsu.ru> // Modified by Hypathie // hypathie At debian-facile Point org default partial alphanumeric_keys alternate_group xkb_symbols "hypathie" { name[Group1] = "Greek (polytonique - classique - hypathie)"; key <TLDE> { [ U03DD, U03DC ] }; // ϝ Ϝ digamma key <AE01> { [ parenleft, parenright ] }; // ( ) key <AE02> { [ dead_acute, NoSymbol ] }; // ´ key <AE03> { [ apostrophe, NoSymbol ] }; // ' (apostrophe) key <AE04> { [ U0313, NoSymbol ] }; // ’ (COMBINING COMMA ABOVE) key <AE05> { [ dead_dasia, NoSymbol ] }; // ῾ (esprit rude) key <AE06> { [ U2010, dead_macron ] }; // - ¯ key <AE07> { [ dead_grave, NoSymbol ] }; // ` key <AE08> { [ NoSymbol, NoSymbol ] }; // key <AE09> { [ U03C2, NoSymbol ] }; // ς key <AE10> { [ U03FB, U03FA ] }; // ϻ Ϻ san key <AE11> { [ dead_psili, NoSymbol ] }; // ᾿ (esprit doux) key <AE12> { [ NoSymbol, NoSymbol ] }; // key <AD01> { [ Greek_alpha, Greek_ALPHA ] }; // α Α key <AD02> { [ Greek_zeta, Greek_ZETA ] }; // ζ Ζ key <AD03> { [ Greek_epsilon, Greek_EPSILON ] }; // ε Ε key <AD04> { [ Greek_rho, Greek_RHO ] }; // ρ Ρ key <AD05> { [ Greek_tau, Greek_TAU ] }; // τ Τ key <AD06> { [ Greek_psi, Greek_PSI ] }; // ψ Ψ key <AD07> { [ Greek_upsilon, Greek_UPSILON ] }; // υ Υ key <AD08> { [ Greek_iota, Greek_IOTA ] }; // ι Ι key <AD09> { [ Greek_omicron, Greek_OMICRON ] }; // ο Ο key <AD10> { [ Greek_pi, Greek_PI ] }; // π Π key <AD11> { [ dead_tilde, dead_diaeresis ] }; // ~ ¨ key <AD12> { [ dead_iota, NoSymbol ] }; // ͅ key <AC01> { [ Greek_theta, Greek_THETA ] }; // θ Θ key <AC02> { [ Greek_sigma, Greek_SIGMA ] }; // σ Σ key <AC03> { [ Greek_delta, Greek_DELTA ] }; // δ Δ key <AC04> { [ Greek_phi, Greek_PHI ] }; // φ Φ key <AC05> { [ Greek_gamma, Greek_GAMMA ] }; // γ Γ key <AC06> { [ Greek_eta, Greek_ETA ] }; // η Η key <AC07> { [ U03DF, U03DE ] }; // ϟ Ϟ koppa key <AC08> { [ Greek_kappa, Greek_KAPPA ] }; // κ Κ key <AC09> { [ Greek_lamda, Greek_LAMDA ] }; // λ Λ key <AC10> { [ Greek_mu, Greek_MU ] }; // μ Μ key <AC11> { [ U03E1, U03E0 ] }; // ϡ Ϡ sampi key <AC12> { [ NoSymbol, NoSymbol ] }; // key <AB01> { [ Greek_omega, Greek_OMEGA ] }; // ω Ω key <AB02> { [ Greek_xi, Greek_XI ] }; // ξ Ξ key <AB03> { [ Greek_chi, Greek_CHI ] }; // χ Χ key <AB04> { [ U03D0, NoSymbol ] }; // ϐ curled_beta key <AB05> { [ Greek_beta, Greek_BETA ] }; // β Β key <AB06> { [ Greek_nu, Greek_NU ] }; // ν Ν key <AB07> { [ comma, NoSymbol ] }; // , key <AB08> { [ semicolon, U002E ] }; // ; . (point-virgule et point) key <AB09> { [ colon, U0387 ] }; // : · (deux-points et point haut) key <AB10> { [ exclam, NoSymbol ] }; // ! key <LSGT> { [ guillemotleft, guillemotright ] }; // « » include "eurosign(e)" include "eurosign(5)" include "kpdl(comma)" include "level3(ralt_switch)" };
/tmp
mv -v /tmp/grec_hypathie /usr/share/X11/xkb/symbols/grec_hypathie
grec_hypathie
peut se trouver après le téléchargement dans un autre dossier. Dans ce cas, adaptez la commande ci-dessus à votre cas.
/usr/share/X11/xkb/rules/evdev.xml
:cp -v /usr/share/X11/xkb/rules/evdev.xml /usr/share/X11/xkb/rules/evdev.xml_bak
evdev
avec nano (en tant que super-utilisateur) :nano /usr/share/X11/xkb/rules/evdev.xml
Parmi les <layoutList>, par exemple après le </layout> qui concerne le grec, ajoutez les lignes suivantes :
<layout> <configItem> <name>grec_hypathie</name> <shortDescription>grec_hypathie</shortDescription> <description>Grec (polytonique classique hypathie)</description> <languageList> <iso639Id>grec_hypathie</iso639Id> </languageList> </configItem> </layout>
La méthode d'ajout d'un clavier en mode graphique est légèrement différente d'un environnement de bureau à l'autre.
Référez-vous à la section suivante, et à l'environnement de bureau qui vous correspond.
Si vous souhaitez basculer du clavier français au clavier grec par raccourci clavier, plutôt qu'avec la souris, vous pouvez pour chaque environnement de bureau ci-dessous, modifier le fichier /etc/default/keyboard
.
Pour ce faire, reportez-vous à la méthode d'ajout du clavier en ligne de commandes, décrite pour l'installation sous LXDE.
Et oui, elle y figure maintenant !
Ajoutez le clavier « grec_hypathie » en mode graphique :
(Une fois ajouté, vous pourrez aussi le visualiser en le sélectionnant parmi vos claviers ajoutés puis en cliquant sur le bouton en forme de clavier en bas à droite.)
~/.XCompose
22) dans le répertoire personnel de l'utilisateur (par exemple en faisant) :nano /home/$USER/.XCompose
include "/usr/share/X11/locale/el_GR.UTF-8/Compose" include "/usr/share/X11/locale/en_US.UTF-8/Compose"
Ajouter le clavier en faisant :
Ajouter le bouton de clavier au « Tableau de bord » :
xfce4-settings-manager
Maintenant en haut à droite vous avez, soit un drapeau tricolore, soit « grec_hypathie » !
Sous LXDE, l'ajout du clavier doit se faire en ligne de commande.
Cela permet de basculer d'un clavier à l'autre plus rapidement qu'avec la souris, grâce au raccourci clavier Alt+⇧ Shift.
Allons-y !
/etc/default/keyboard
:cp -v /etc/default/keyboard /etc/default/keyboardOLD
#/etc/default/keyboard modifié pour clavier "grec_hypathie" XKBMODEL="pc105" XKBLAYOUT="fr,grec_hypathie" XKBVARIANT="latin9" XKBOPTIONS="grp:alt_shift_toggle" BACKSPACE="guess"
Merci à paskal
/tmp/2keyb
en /etc/default/keyboard
:mv -v /tmp/2keyb /etc/default/keyboard
udevadm trigger --subsystem-match=input --action=change
Et voilà ! À vous de choisir l'environnement de bureau sur lequel vous voulez écrire du grec ancien
grec_hypathie
, appelez-le comme bon vous semble du moment qu’il n’y a pas de fichier portant déjà ce nom.