Je suis suédois et écris parfois en danois et norvégien. Pour cela, je ne change pas de disposition de clavier, il suffit de taper AltGr + ä pour obtenir æ et AltGr + ö pour obtenir ø, les seules lettres danoises/norvégiennes non disponibles sur mon clavier suédois natif. J'apprends maintenant le russe et pour cela je passe à une disposition de clavier appelée "russe (suédois, phonétique)", qui est disponible dans Ubuntu Linux 16.04.
Mais j'ai aussi parfois besoin de taper des mots ukrainiens et biélorusses qui ont des lettres supplémentaires. Pour cela, il serait très pratique de taper simplement AltGr + и pour obtenir l'ukrainien et AltGr + э pour obtenir l'ukrainien є, ne pas avoir à basculer entre autant de mises en page. Mais actuellement, cette disposition du clavier ne semble pas faire usage de AltGr du tout. Alors, comment puis-je accomplir cela, et comment les améliorations peuvent-elles être distribuées avec la prochaine version d'Ubuntu Linux?
Ma solution de contournement, qui est beaucoup moins pratique, consiste à passer à la mise en page "ukrainienne (phonétique)". Devoir basculer entre trois dispositions est gênant et ne devrait pas être nécessaire dans ma situation.
Voici mon chemin vers la réponse à mes propres questions: le fichier que je dois modifier est
/usr/share/X11/xkb/symbols/se
Ce fichier contient à la fois la mise en page suédoise régulière (où AltGr + ä = æ) et le "russe (suédois, phonétique)". J'ai quand même édité la section russe de ce fichier, et il ne s'est rien passé. Depuis les années précédentes, de nombreux messages sur le forum expliquent pourquoi les modifications xkb ne prennent pas effet. Une réponse courante était qu'un fichier cache dans/var/lib/xkb devait être supprimé, mais il n'y avait pas un tel fichier sur mon système et dans Ubuntu 16.04 il n'est pas nécessaire de le supprimer. Mais plutôt, la section russe du fichier contenait une ligne key.type [group1] = "ALPHABETIC"; que je devais commenter. Je ne sais pas pourquoi cette ligne était là ou ce qu'elle était censée faire. Après avoir commenté cette ligne, je peux maintenant ajouter des définitions AltGr en tant que numéro 3 et 4 sur chaque ligne, et elles prendront effet la prochaine fois que je basculerai entre les dispositions de clavier. J'ai donc modifié les lignes suivantes:
key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, U0301, U0300 ] }; // acute, Grave
key <AD01> { [ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ] }; // Yat
key <AD03> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
key <AD07> { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ] };
key <AD08> { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] };
key <AD11> { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ] };
key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
key <AC07> { [ Cyrillic_shorti, Cyrillic_SHORTI, Ukrainian_yi, Ukrainian_YI ] };
La première ligne ajoute un accent aigu combiné sur AltGr ъ et un accent grave sur AltGr Ъ (la touche ´), ce qui est utile si vous écrivez des dictionnaires russes où des accents sont utilisés: мо́ре, моря́. Contrairement aux lettres latines, Unicode ne contient pas de points de code pour les voyelles cyrilliques avec un accent aigu, donc ces accents de combinaison sont nécessaires.
Les lignes suivantes ajoutent ў pour le biélorusse, ѣ (yat) pour l'orthographe russe d'avant 1917, ї, ґ, є pour l'ukrainien, pour les trois orthographes et mettent ё sur AltGr е pour plus de commodité. Vous êtes peut-être en désaccord avec les positions. Est-ce que AltGr и = і ou ї? Il est plus évident que AltGr г = ґ et AltGr у = ў.
Avec ça, je suis surtout content. Ce qui reste, c'est d'intégrer cela dans la prochaine distribution Ubuntu. Comment? Qui?