Le clavier que j'essaie de créer contient beaucoup d'Unicode et ressemble à ceci:
Ne pas réussir avec le tutoriel suivant:
Je me demandais si quelqu'un serait si gentil de fournir un meilleur tutoriel avec des instructions étape par étape?
Remarque : Wayland utilise xkb, mais de nombreux xTools ont cessé de fonctionner correctement (xdotool par exemple).
Remarque : Ceci est un tutoriel non exhaustif. Il est très utile pour une personne cherchant à créer une nouvelle disposition sur huit niveaux et à comprendre la syntaxe.
Remarque: Une solution rapide et sale est fournie. Il comprend une feuille de calcul qui génère automatiquement le code dont vous avez besoin.
cd /usr/share/X11/xkb/ && ls
57
. Nous l'écrivons cependant sous la forme <SPCE>
keycodes > symbols > compat
Je touche seulement symbols
: Voir ci-dessous pour la solution rapide et sale .
/symbols/usTous les fichiers de ce répertoire suivent la même structure.
partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1]= "US/ASCII";
key <TLDE> { [ quoteleft, asciitilde ] };
key <AE01> { [ 1, exclam ] };
modifier_map Shift { Shift_L, Shift_R };
};
partial - Pas une carte de clavier complète
alphanumeric_keys Section du clavier en cours de mappage. Plusieurs peuvent être utilisés
Remarque: Si aucun *_keys
n'est spécifié, un clavier complet est utilisé.
"basic" - le nom de la carte des symboles
name[Group1]= "US/ASCII"; Donne un nom unique à ce groupe de claviers.
modifier_map Pour éditer touches modificatrices . (ctrl, shift, alt ~)
Shift { Shift_L, Shift_R }; Pas habituellement nécessaire. Il mappe les deux décalages au modificateur de décalage, niveau 2.
key <TLDE> The Tilde Key - Généralement, la touche en haut à gauche au dessus de l'onglet
key <AE01> Illustration - Composé de trois parties, AE01
A = bloc clé alphanumérique.
KP = Clavier
FK = Touche de fonction
E = Ligne sur le clavier.
Space Key = A rangée
Shift Key = B rangée
Caps Lock = C rangée
Tab Key = D rangée
01 = Position de la clé sur la ligne.
AE01 = 1
AB02 = X
AC05 = G
[ + ] - en langues C; Les crochets indiquent une liste, par laquelle les éléments sont divisés par ,. La longueur de la liste détermine la quantité de niveaux. Par exemple:
key<AE01> { [ Level 1 , Level 2 , Level 3 , Level 4 , Level 5 ] }
En général, les niveaux désignent les touches suivantes:
En bref, si vous souhaitez mapper une touche pour déplacer + alt, votre liste devrait comporter au moins quatre éléments.
Chacune de ces lignes provoquera une erreur critique et vous laissera sans clavier utilisable:
key<AE01> { [ Backspace ] }
key<AE02> { [ a, b, , C ] }
Backspace
devrait être BackSpace
: Faites très attention à l'orthographe.VoidSymbol
.Sauvegardez votre fichier que vous éditez:
Sudo /bin/cp /usr/share/X11/xkb/symbols/us /usr/share/X11/xkb/symbols/usBACKUP
Créez un script que vous pouvez exécuter sans mot de passe root
Quelque chose comme:
#!/bin/bash
Sudo /bin/cp -rf /usr/share/X11/xkb/symbols/usBACKUP /usr/share/X11/xkb/symbols/us
Si quelque chose ne va pas, utilisez votre souris pour exécuter cette ligne de code (contenue dans le script bash pour lequel vous avez donné l'autorisation à sudoers. N'oubliez pas de chmod +x
pour permettre l'exécution en tant qu'exécutable.)
return
(appuyer sur Entrée) en collant un saut de ligne.!
devient U0021
). Unicode pris en charge!VoidSymbol
.key <AE01> { [U0021, U0021, U0021, U0021, U0021, U0021, U0021, U0021] };
key <AE02> { [U005B, U005B, U005B, U005B, U005B, U005B, U005B, U005B] };
key <AE03> { [U005D, U005D, U005D, U005D, U005D, U005D, U005D, U005D] };
key <AE04> { [U0022, U0022, U0022, U0022, U0022, U0022, U0022, U0022] };
key <AE05> { [U002A, U002A, U002A, U002A, U002A, U002A, U002A, U002A] };
key <AE06> { [U007B, U007B, U007B, U007B, U007B, U007B, U007B, U007B] };
key <AE07> { [U007D, U007D, U007D, U007D, U007D, U007D, U007D, U007D] };
key <AE08> { [U002F, U002F, U002F, U002F, U002F, U002F, U002F, U002F] };
key <AE09> { [U0027, U0027, U0037, U0027, U0027, U0027, U0027, U0027] };
key <AE10> { [U0029, U0029, U0038, U0029, U0029, U0029, U0029, U0029] };
key <AE11> { [U0028, U0028, U0039, U0028, U0028, U0028, U0028, U0028] };
key <AE12> { [U005C, U005C, U005C, U005C, U005C, U005C, U005C, U005C] };
Cela change à tous les 8 niveaux: 1234567890-= // Physical Keys
![]"*{}/')(\ // Changed to these characters
Sudo vim /usr/share/X11/xkb/symbols/us
Lignes d'intérêt:
key.type[group1]="EIGHT_LEVEL"; // Enables 8 levels
modifier_map Control { <LFSH>, <RTSH> }; // Maps ctrl`s to shift keys.
key { [Control_R, Control_R, Control_R, Control_R, Control_R, Control_R, Control_R, Control_R] };
key { [Control_L, Control_L, Control_L, Control_L, Control_L, Control_L, Control_L, Control_L] };
include "level3(lalt_switch)" // Hold Left Alt for Level 3
include "level5(ralt_switch)" // Hold Right Alt for Level 5
Dans buntu 14.04, les dispositions de clavier sont conservées dans
/usr/share/X11/xkb/symbols/
Chacun des fichiers de ce répertoire contient une série d'entrées du type suivant:
Touche <AC01> {[a, A, aacute, Aacute]};
Cette entrée mappe une touche du clavier sur un nombre de caractères spécifique en appliquant les conventions suivantes:
<A C01> La première lettre A
indique que nous cherchons dans le bloc de touches alphanumériques (les autres options incluent KP [for keypad]
et FK [for Function Key]
);
<A C 01> La deuxième lettre C
indique la ligne, en partant du bas, dans laquelle la clé est trouvée. (Dans un clavier américain standard, la barre d'espace est dans la rangée AA
et les touches numériques sont dans la rangée AE
).
<AC 1> Les chiffres 01
indiquent la position de la clé, en partant de la gauche et en ignorant les clés spécialement nommées, telles que TAB ou ~ (tilde): AC01
est dans la troisième rangée vers le haut, la première touche en partant de la gauche (en ignorant Caps Lock, si présent); sur un clavier américain standard, il s’agit de la touche marquée "a".
Les crochets encadrent la liste des caractères attribués à chaque touche. Ceci contient jusqu'à quatre entrées, séparées par des virgules:
Par exemple:
En tant qu'Anglo-Saxoniste, je tape á
et Á
beaucoup moins souvent que je tape æ
et Æ
.
Pour ajouter les caractères anglo-saxons à ma liste, je remplace simplement aacute
et Aacute
par les noms d'entité ou points de code Unicode pour æ
et Æ
("aelig" ou 0E6 et “AElig” ou 0C6 , respectivement):
touche {[a, A, aelig, AElig]};
ou
touche {[a, A, U00E6, U00C6]};
Quand j'ai fini de modifier la disposition de mon clavier, Je sauvegarde le fichier sous un nouveau nom, "oe" dans le même répertoire.
evdev.xml
.Pour utiliser la nouvelle disposition du clavier, nous devons indiquer à X11
son existence. Dans Ubuntu 14.04, X11
garde une trace des claviers installés dans le fichier /usr/share/X11/xkb/rules/evdev.xml
. Ajoutons ensuite la nouvelle mise en page.
X11/xkb/rules/evdev.xml
dans un éditeurAccédez à la fin de la section <layoutList>
(recherchez </layoutList>
). Ajoutez ce qui suit après la dernière balise </layout>
, où X
est le nom de fichier de votre configuration de clavier dans /usr/share/X11/xkb/symbols
(dans mon cas, oe
); Y
un nom court approprié; et Z
un nom long approprié dans une ou plusieurs langues et aaa
a code de langue à trois lettres (ISO 639-2) (par exemple eng pour l'anglais):
<layout>
<configItem>
<name> X </name>
<shortDescription> Y </shortDescription>
<description> Z </description>
<languageList>
<iso639Id> aaa </iso639Id>
</languageList>
</configItem>
<variantList/>
</layout>
Le voici, suivez l'introduction complète
Autres liens connexes:
http://ubuntuforums.org/showthread.php?t=188761&p=1092145#post1092145http://www.charvolant.org/~doug/xkb/ html/index.html