J'ai essayé de configurer une configuration de clavier personnalisée dans Ubuntu 18.04.1 LTS pour pouvoir écrire une translittération en arabe à des fins scientifiques (voir: https://en.wikipedia.org/wiki/Romanization_of_Arabic ; - https://en.wikipedia.org/wiki/DIN_31635 ) Par conséquent, je dois être capable de taper des caractères spéciaux.
J'ai plus ou moins suivi ces instructions:
Ce que j'ai fait:
Quand je parle allemand, j'ai ouvert "de" dans/usr/share/X11/xkb/symboles/avec les privilèges gedit et root.
Dans ce fichier, j'ai inséré le texte suivant à la fin et enregistré (effectué une sauvegarde de l'original auparavant):
// Deutsch mit orientalistischer Umschrift
partial alphanumeric_keys
xkb_symbols "german_orient" {
include "de(basic)"
name[Group1]="Deutsch (Orientalistische Umschrift)";
key <BKSL> { [numbersign, apostrophe, U+02BE, dead_breve ] };
key <AE12> { [dead_acute, dead_Grave, U+02BF, dead_ogonek ] };
key <AC11> { [adiaeresis, Adiaeresis, U+0304, dead_caron ] };
key <AB10> { [minus, underscore, U+0331, emdash ] };
key <AC10> { [odiaeresis, Odiaeresis, U+0307, dead_belowdot ] };
key <AB09> { [period, colon, U+0323, division ] };
key <AB08> { [comma, semicolon, U+030C, multiply ] };
key <AC06> { [h, H, U+032E, NoSymbol ] };
};
En comparaison avec la configuration de clavier standard en allemand pour chaque touche répertoriée ici, la troisième entrée (= en appuyant sur la touche avec AltGr) a été modifiée en fonction de mes besoins. BTW j'ai obtenu les codes Unicode en recherchant les caractères spéciaux sur Internet.
Puis j'ai ouvert evdev.xml
dans /usr/share/X11/xkb/rules/
de la même manière
Dans ce fichier, j'ai recherché l'entrée de (allemand) modèle et ai inséré à sa fin (c'est-à-dire avant </layout>
) ce qui suit et a sauvegardé le fichier:
<variant>
<configItem>
<name>german_orient</name>
<description>Deutsch (Orientalistische Umschrift)</description>
</configItem>
</variant>
Ensuite, j'ai tapé la commande suivante dans le terminal et appuyé sur Entrée Sudo dpkg-reconfigure xkb-data
parce que dans de nombreux tutoriels sur le sujet, il est conseillé de le faire
Ensuite, j'ai redémarré.
Ensuite, j'ai ajouté le nouveau clavier "Deutsch (Orientalistische Umschrift)" (qui signifie: allemand (translittération orientaliste) dans Ubuntu Preferences
Le résultat n'était pas comme je l'avais espéré:
Non seulement je n’ai pas pu écrire les caractères spéciaux avec les clés que j’avais assignées. J'imagine que j'ai en quelque sorte "cassé" la disposition du clavier "de" car peu importe si j'ai activé la disposition allemande standard ou la "Deutsch (Orientalistische Umschrift)" - disposition via super + espace, le système semblait être retombé sur le clavier anglais par défaut disposition. Ainsi, même si l'une des mises en page allemandes était activée, les lettres que j'avais écrites étaient conformes à la présentation anglaise (par exemple, les lettres "z" et "y" étaient remplacées).
Donc, à la fin, j'ai annulé mes modifications en utilisant les sauvegardes des deux fichiers que j'avais faits et maintenant tout est rentré dans l'ordre.
Mais comme je dois être capable d'écrire rapidement la translittération de l'arabe à des fins professionnelles et qu'il existe - du moins à ma connaissance - aucune disposition de clavier à cette fin disponible pour le téléchargement (car le nombre de spécialistes dans ce domaine utilisant Linux est assez petit ) J'ai besoin de l'aide de quelqu'un ici pour me dire ce qu'il faut changer pour que ma disposition de clavier personnalisée fonctionne.
Je suis toujours un noob sous Linux, donc désolé d'avoir manqué quelque chose d'évident. Quoi qu'il en soit, merci d'avance pour votre aide!
J'ai moi-même trouvé une solution et je vais la poster ici car quelqu'un d'autre pourrait en profiter
J'ai téléchargé et installé KeyboardLayoutEditor depuis https://github.com/simos/keyboardlayouteditor
Exécutez KeyboardLayoutEditor et chargez un fichier de disposition de langage approprié (de dans mon cas)
Cliquez ensuite sur le bouton "Démarrer la carte" qui chargera Gucharmap (je devais d'abord l'installer via Ubuntu Software Center pour que cela fonctionne)
Choisissez maintenant le caractère que vous souhaitez ajouter à une certaine clé (vous pouvez également rechercher des signes dans Gucharmap en saisissant des codes Unicode).
Et faites-le glisser vers l'une des 4 positions d'une clé appropriée dans KeyboardLayoutEditor (voir ci-dessous pour le code final)
Lorsque vous avez inséré tous les caractères dont vous avez besoin, vous pouvez enregistrer le fichier.
Puis j'ai utilisé la commande Sudo dpkg-reconfigure xkb-data
dans la console
Enfin j'ai fait un redémarrage
Résultat: tout fonctionne comme un charme maintenant! :)
Je ne sais pas pourquoi cela a fonctionné cette fois en utilisant KeyboardLayoutEditor.
Ma première hypothèse est que cela a fonctionné parce que je n'ai pas essayé d'ajouter une nouvelle variante au clavier-Layout-file (de), mais en ai modifié une existante, évitant ainsi certaines erreurs éventuelles lors de la modification du de-fichier et du evdev-xml.
Ma deuxième hypothèse est que cela a fonctionné, car l'éditeur KeyboardLayout a écrit des codes Unicode différents de ceux que j'avais lors de la première modification manuelle du fichier de suppression.
(Ceci est la version finale où les erreurs faites par l'application sont déjà corrigées manuellement par moi)
////////////////////////////////////////////////////////////////////////////// ///
//
// Generated keyboard layout file with the Keyboard Layout Editor.
// For more about the software, see http://code.google.com /p/keyboardlayouteditor
//
xkb_symbols "basic"
{
name[Group1] = "German";
include "latin(type4)"
include "level3(ralt_switch)"
include "kpdl(comma)"
key <AB01> { [ y, Y, guillemotright, U203A ] }; // y Y » ›
key <AB02> { [ x, X, guillemotleft, U2039 ] }; // x X « ‹
key <AB04> { [ v, V, doublelowquotemark, singlelowquotemark ] }; // v V „ ‚
key <AB05> { [ b, B, leftdoublequotemark, leftsinglequotemark ] }; // b B “ ‘
key <AB06> { [ n, N, rightdoublequotemark, rightsinglequotemark ] }; // n N ” ’
key <AB08> { [ comma, semicolon, U030C, multiply ] }; // , ; Dˇ ×
key <AB09> { [ period, colon, U0323, division ] }; // . : D? ÷
key <AB10> { [ minus, underscore, U0331, emdash ] }; // - _ ̱ —
key <AC02> { [ s, S, U017F, U1E9E ] }; // s S ſ ẞ
key <AC06> { [ h, H, U032E ] }; // ̮
key <AC07> { [ j, J, dead_belowdot, dead_abovedot ] }; // j J D? D˙
key <AC10> { [ odiaeresis, Odiaeresis, U0307, dead_belowdot ] }; // ö Ö D˙ D?
key <AC11> { [ adiaeresis, Adiaeresis, U0304, dead_caron ] }; // ä Ä Dˉ Dˇ
key <AD03> { [ e, E, EuroSign, EuroSign ] }; // e E € €
key <AD06> { [ z, Z, leftarrow, yen ] }; // z Z ← ¥
key <AD11> { [ udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] }; // ü D¨ D˚
key <AD12> { [ plus, asterisk, asciitilde, macron ] }; // + * ~ ¯
key <AE02> { [ KP_2, quotedbl, twosuperior, oneeighth ] }; // 2 " ² ⅛
key <AE03> { [ KP_3, section, threesuperior, sterling ] }; // 3 § ³ £
key <AE04> { [ KP_4, dollar, onequarter, currency ] }; // 4 $ ¼ ¤
key <AE11> { [ ssharp, question, backslash, questiondown ] }; // ß ? \ ¿
key <AE12> { [ dead_acute, dead_Grave, U02BF, dead_ogonek ] }; // D´ D` ʿ D˛
key <BKSL> { [ numbersign, apostrophe, U02BE, dead_breve ] }; // # ' ʾ D˘
key <LSGT> { [ less, greater, bar, dead_belowmacron ] }; // < > | Dˍ
key <TLDE> { [ dead_circumflex, degree, U2032, U2033 ] }; // D^ ° ′ ″
};
J'ai moi-même trouvé une solution et je vais la poster ici car quelqu'un d'autre pourrait en profiter
J'ai téléchargé et installé KeyboardLayoutEditor depuis https://github.com/simos/keyboardlayouteditor
Exécutez KeyboardLayoutEditor et chargez un fichier de disposition de langage approprié (de dans mon cas)
Cliquez ensuite sur le bouton "Démarrer la carte" qui chargera Gucharmap (je devais d'abord l'installer via Ubuntu Software Center pour que cela fonctionne)
Choisissez maintenant le caractère que vous souhaitez ajouter à une certaine clé (vous pouvez également rechercher des signes dans Gucharmap en saisissant des codes Unicode).
Et faites-le glisser vers l'une des 4 positions d'une clé appropriée dans KeyboardLayoutEditor (voir ci-dessous pour le code final)
Lorsque vous avez inséré tous les caractères dont vous avez besoin, vous pouvez enregistrer le fichier.
Puis j'ai utilisé la commande Sudo dpkg-reconfigure xkb-data
dans la console
Enfin j'ai fait un redémarrage
Résultat: tout fonctionne comme un charme maintenant! :)
Je ne sais pas pourquoi cela a fonctionné cette fois en utilisant KeyboardLayoutEditor.
Ma première hypothèse est que cela a fonctionné parce que je n'ai pas essayé d'ajouter une nouvelle variante au clavier-Layout-file (de), mais en ai modifié une existante, évitant ainsi certaines erreurs éventuelles lors de la modification du de-fichier et du evdev-xml.
Ma deuxième hypothèse est que cela a fonctionné, car l'éditeur KeyboardLayout a écrit des codes Unicode différents de ceux que j'avais lors de la première modification manuelle du fichier de suppression.
Mise à jour: Selon Gunnar Hjalmarsson, ma deuxième hypothèse pourrait probablement être correcte, le problème étant les signes +
(Ceci est la version finale où les erreurs faites par l'application sont déjà corrigées manuellement par moi)
////////////////////////////////////////////////////////////////////////////// ///
//
// Generated keyboard layout file with the Keyboard Layout Editor.
// For more about the software, see http://code.google.com /p/keyboardlayouteditor
//
xkb_symbols "basic"
{
name[Group1] = "German";
include "latin(type4)"
include "level3(ralt_switch)"
include "kpdl(comma)"
key <AB01> { [ y, Y, guillemotright, U203A ] }; // y Y » ›
key <AB02> { [ x, X, guillemotleft, U2039 ] }; // x X « ‹
key <AB04> { [ v, V, doublelowquotemark, singlelowquotemark ] }; // v V „ ‚
key <AB05> { [ b, B, leftdoublequotemark, leftsinglequotemark ] }; // b B “ ‘
key <AB06> { [ n, N, rightdoublequotemark, rightsinglequotemark ] }; // n N ” ’
key <AB08> { [ comma, semicolon, U030C, multiply ] }; // , ; Dˇ ×
key <AB09> { [ period, colon, U0323, division ] }; // . : D? ÷
key <AB10> { [ minus, underscore, U0331, emdash ] }; // - _ ̱ —
key <AC02> { [ s, S, U017F, U1E9E ] }; // s S ſ ẞ
key <AC06> { [ h, H, U032E ] }; // ̮
key <AC07> { [ j, J, dead_belowdot, dead_abovedot ] }; // j J D? D˙
key <AC10> { [ odiaeresis, Odiaeresis, U0307, dead_belowdot ] }; // ö Ö D˙ D?
key <AC11> { [ adiaeresis, Adiaeresis, U0304, dead_caron ] }; // ä Ä Dˉ Dˇ
key <AD03> { [ e, E, EuroSign, EuroSign ] }; // e E € €
key <AD06> { [ z, Z, leftarrow, yen ] }; // z Z ← ¥
key <AD11> { [ udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] }; // ü D¨ D˚
key <AD12> { [ plus, asterisk, asciitilde, macron ] }; // + * ~ ¯
key <AE02> { [ KP_2, quotedbl, twosuperior, oneeighth ] }; // 2 " ² ⅛
key <AE03> { [ KP_3, section, threesuperior, sterling ] }; // 3 § ³ £
key <AE04> { [ KP_4, dollar, onequarter, currency ] }; // 4 $ ¼ ¤
key <AE11> { [ ssharp, question, backslash, questiondown ] }; // ß ? \ ¿
key <AE12> { [ dead_acute, dead_Grave, U02BF, dead_ogonek ] }; // D´ D` ʿ D˛
key <BKSL> { [ numbersign, apostrophe, U02BE, dead_breve ] }; // # ' ʾ D˘
key <LSGT> { [ less, greater, bar, dead_belowmacron ] }; // < > | Dˍ
key <TLDE> { [ dead_circumflex, degree, U2032, U2033 ] }; // D^ ° ′ ″
};