Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tutoriel:comprendre_la_configuration_du_clavier [Le 17/12/2019, 18:41] – [Correction du clavier bépo] ortho Theon | tutoriel:comprendre_la_configuration_du_clavier [Le 11/09/2022, 12:24] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art | ||
|---|---|---|---|
| Ligne 9: | Ligne 9: | ||
| Ces symboles de touche (( // | Ces symboles de touche (( // | ||
| - | * soit des **caractères directement affichables**, | + | * soit des **caractères directement affichables**, |
| * soit des **codes d’événement ou de fonction** que chacune des applications doit interpréter à sa manière. | * soit des **codes d’événement ou de fonction** que chacune des applications doit interpréter à sa manière. | ||
| Ligne 37: | Ligne 37: | ||
| Lorsque l'on appuie **↓** sur la même touche «**A**» (AZERTY), soit B (BÉPO), soit Q (QWERTY), le scancode généré est alors : **0x10**. | Lorsque l'on appuie **↓** sur la même touche «**A**» (AZERTY), soit B (BÉPO), soit Q (QWERTY), le scancode généré est alors : **0x10**. | ||
| - | Lorsque l'on relâche la touche **↑** le scancode généré est alors : **0x90**. | + | Lorsque l'on relâche la touche **↑** le scancode généré est alors : **0x90**. |
| La séquence de scancode «**0x10 0x90**» correspond alors au caractère A pour l' | La séquence de scancode «**0x10 0x90**» correspond alors au caractère A pour l' | ||
| Ligne 116: | Ligne 116: | ||
| < | < | ||
| {{ : | {{ : | ||
| - | Où vous pouvez trouver [[https:// | + | Où vous pouvez trouver [[https:// |
| ==== Configuration initiale ==== | ==== Configuration initiale ==== | ||
| Ligne 130: | Ligne 130: | ||
| 100 / | 100 / | ||
| </ | </ | ||
| + | |||
| + | et si pas installé : | ||
| + | < | ||
| + | Candidat : 2:1.12-5.1 | ||
| + | Table de version : | ||
| + | | ||
| + | 500 http:// | ||
| + | 500 http:// | ||
| + | </ | ||
| + | |||
| + | S'il n'est pas installé, installez-le : | ||
| + | < | ||
| Paramétrez le terminal pour fonctionner avec un clavier bépo | Paramétrez le terminal pour fonctionner avec un clavier bépo | ||
| Ligne 143: | Ligne 155: | ||
| Par exemple comme on peut le voir avec la touche de **keycode 5** | Par exemple comme on peut le voir avec la touche de **keycode 5** | ||
| === Création d'un fichier clavier de test === | === Création d'un fichier clavier de test === | ||
| - | Copier | + | Copiez |
| < | < | ||
| - | Basculé | + | Basculez |
| < | < | ||
| Ligne 271: | Ligne 283: | ||
| CtrlD = 128 | CtrlD = 128 | ||
| VerMaj = 256</ | VerMaj = 256</ | ||
| - | Pour gérer les touches " | + | Pour gérer les touches " |
| < | < | ||
| - | <note warning> | + | <note warning> |
| Exemple : | Exemple : | ||
| < | < | ||
| * 0-4 : Touche seule, Maj, AltGr, Maj+AltGr et Ctrl | * 0-4 : Touche seule, Maj, AltGr, Maj+AltGr et Ctrl | ||
| - | * 8 : Alt, | + | * 8 : Alt, |
| * 12 : Alt+Ctrl. | * 12 : Alt+Ctrl. | ||
| Ce qui nous donne pour la représentation d'une touche : | Ce qui nous donne pour la représentation d'une touche : | ||
| Ligne 385: | Ligne 397: | ||
| === Modularisation du fichier d' | === Modularisation du fichier d' | ||
| - | Maintenant on se propose de réaliser ce clavier de façon modulaire pour pouvoir réutiliser ces modules pour construire d' | + | Maintenant on se propose de réaliser ce clavier de façon modulaire pour pouvoir réutiliser ces modules pour construire d' |
| Nous devons donc créer des fichiers avec une extension **.inc**. Pour les utiliser il suffira de les appeler avec la commande **include**. | Nous devons donc créer des fichiers avec une extension **.inc**. Pour les utiliser il suffira de les appeler avec la commande **include**. | ||
| - | Voici la structure que l'on se propose de mettre en place | + | Voici la structure que l'on se propose de mettre en place |
| == Les touches systèmes == | == Les touches systèmes == | ||
| {{ : | {{ : | ||
| Ligne 404: | Ligne 416: | ||
| == Les touches bépo == | == Les touches bépo == | ||
| {{ : | {{ : | ||
| - | bepo.inc ou bepo.map avec | + | bepo.inc ou bepo.map avec |
| < | < | ||
| Ligne 413: | Ligne 425: | ||
| ... | ... | ||
| - | </ | + | </ |
| == Les touches Fn spéciales == | == Les touches Fn spéciales == | ||
| {{ : | {{ : | ||
| Ligne 422: | Ligne 434: | ||
| include " | include " | ||
| ... | ... | ||
| - | </ | + | </ |
| ===== Configuration de l' | ===== Configuration de l' | ||
| + | ==== Voir la configuration du clavier ==== | ||
| + | < | ||
| + | |||
| + | < | ||
| + | locale is C | ||
| + | Trying to load rules file ./ | ||
| + | Trying to load rules file / | ||
| + | Success. | ||
| + | Applied rules from evdev: | ||
| + | rules: | ||
| + | model: | ||
| + | layout: | ||
| + | variant: | ||
| + | Trying to build keymap using the following components: | ||
| + | keycodes: | ||
| + | types: | ||
| + | compat: | ||
| + | symbols: | ||
| + | geometry: | ||
| + | xkb_keymap { | ||
| + | xkb_keycodes | ||
| + | xkb_types | ||
| + | xkb_compat | ||
| + | xkb_symbols | ||
| + | xkb_geometry | ||
| + | |||
| + | ==== Identifier les touches ==== | ||
| + | |||
| + | < | ||
| + | |||
| + | Affiche une fenêtre de capture des événements claviers dans l’environnement graphique | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Et lorsque la fenêtre est active et que l’on tape avec un clavier bépo «bépoè^». Dans le terminal où est exécuté la ligne de commande s’affiche le résultat : | ||
| + | < | ||
| + | 24 b | ||
| + | 25 eacute | ||
| + | 26 p | ||
| + | 27 o | ||
| + | 28 egrave | ||
| + | 29 dead_circumflex | ||
| + | </ | ||
| + | ==== Principes de la gestion du clavier ==== | ||
| + | |||
| Il existe dans Ubuntu une table qui associe les codes de touche à des **noms symboliques** censés aider à repérer la touche sur le clavier. Un exemple de ce type de table de correspondance est [[: | Il existe dans Ubuntu une table qui associe les codes de touche à des **noms symboliques** censés aider à repérer la touche sur le clavier. Un exemple de ce type de table de correspondance est [[: | ||
| < | < | ||
| Ligne 451: | Ligne 508: | ||
| Ces tables, découpées en sections, se combinent selon des règles d' | Ces tables, découpées en sections, se combinent selon des règles d' | ||
| - | Pour le cas précis de la redéfinition d'une table de correspondance pour un clavier donné, une table linéaire ((C' | + | Pour le cas précis de la redéfinition d'une table de correspondance pour un clavier donné, une table linéaire ((C' |
| Par ailleurs, parmi les différentes tables évoquées ci-dessus, celles sélectionnées par l' | Par ailleurs, parmi les différentes tables évoquées ci-dessus, celles sélectionnées par l' | ||
| Ligne 490: | Ligne 547: | ||
| <note important> | <note important> | ||
| - | Vous observerez donc par cet exemple, et c'est vrai pour d' autres touches, qu'un même code de touche peut être associé à plusieurs (ici quatre) symboles de touche et que ces symboles de touche sont obtenus en accompagnant l' | + | Vous observerez donc par cet exemple, et c'est vrai pour d' autres touches, qu'un même code de touche peut être associé à plusieurs (ici quatre) symboles de touche et que ces symboles de touche sont obtenus en accompagnant l' |
| Les touches ⇧ et Alt Gr, qui ne produisent pas d' | Les touches ⇧ et Alt Gr, qui ne produisent pas d' | ||
| Ligne 517: | Ligne 574: | ||
| keycode | keycode | ||
| </ | </ | ||
| - | Ce qui en clair correspond à : | + | Ce qui en clair correspond à : |
| ^keycode 24 | a | A | q | Q | æ | Æ | q | Q | ä | Ä | q | Q | « | » | | ^keycode 24 | a | A | q | Q | æ | Æ | q | Q | ä | Ä | q | Q | « | » | | ||
| Ligne 550: | Ligne 607: | ||
| Ainsi, par exemple, pour que la touche //Alt gr// provoque la sélection du symbole de touche de niveau 3, il faut que soient écrites dans les tables de symboles les lignes suivantes : | Ainsi, par exemple, pour que la touche //Alt gr// provoque la sélection du symbole de touche de niveau 3, il faut que soient écrites dans les tables de symboles les lignes suivantes : | ||
| - | < | + | < |
| }; | }; | ||
| modifier_map Mod5 {ISO_Level3_Shift }; | modifier_map Mod5 {ISO_Level3_Shift }; | ||
| Ligne 600: | Ligne 657: | ||
| Le type de touche précise la manière dont sont pris en compte les modificateurs pour sélectionner le symbole de touche parmi tous ceux qui, classés par niveaux, font partie de sa définition.\\ | Le type de touche précise la manière dont sont pris en compte les modificateurs pour sélectionner le symbole de touche parmi tous ceux qui, classés par niveaux, font partie de sa définition.\\ | ||
| - | Les différents types de touches sont définis dans les fichiers placés dans le dossier **/ | + | Les différents types de touches sont définis dans les fichiers placés dans le dossier **/ |
| < | < | ||
| * modifiers = <liste de modificateurs> | * modifiers = <liste de modificateurs> | ||
| - | * map[< | + | * map[< |
| * level_name[< | * level_name[< | ||
| - | * preserve[...] = ... : Reportez vous aux documentations citées en référence (( Voir en bas de page)) pour des éclaircissements sur cette instruction dont la compréhension est difficile aux non programmeurs, | + | * preserve[...] = ... : Reportez vous aux documentations citées en référence (( Voir en bas de page)) pour des éclaircissements sur cette instruction dont la compréhension est difficile aux non programmeurs, |
| Voici un exemple de définition de type : | Voici un exemple de définition de type : | ||
| < | < | ||
| Ligne 649: | Ligne 706: | ||
| < | < | ||
| où // | où // | ||
| - | Pour une présentation exhaustive reportez-vous aux documents cités en référence en fin de page. | + | Pour une présentation exhaustive reportez-vous aux documents cités en référence en fin de page. |
| [[: | [[: | ||
| Ligne 669: | Ligne 726: | ||
| type[Group1]=" | type[Group1]=" | ||
| </ | </ | ||
| - | < | + | < |
| Vous noterez par ailleurs que les fichiers de symboles ne comprennent en général qu'un seul groupe et que les différents groupes de la carte du clavier sont formés à partir de chacun de ces fichiers lors de la sélection des agencements dans l' | Vous noterez par ailleurs que les fichiers de symboles ne comprennent en général qu'un seul groupe et que les différents groupes de la carte du clavier sont formés à partir de chacun de ces fichiers lors de la sélection des agencements dans l' | ||
| | | ||
| Il existe également des lignes qui attribuent les symboles de touche aux différents niveaux des différents groupes | Il existe également des lignes qui attribuent les symboles de touche aux différents niveaux des différents groupes | ||
| < | < | ||
| - | par exemple : | + | par exemple : |
| < | < | ||
| symbols[Group1] = [ ISO_Level3_Shift, | symbols[Group1] = [ ISO_Level3_Shift, | ||
| Ligne 706: | Ligne 763: | ||
| |**xkb_types**| Fichiers décrivant les types de touche, en particulier leur nombre de niveaux et la relation entre ces niveaux et les modificateurs. Les fichiers de ce type sont placés dans le dossier ** / | |**xkb_types**| Fichiers décrivant les types de touche, en particulier leur nombre de niveaux et la relation entre ces niveaux et les modificateurs. Les fichiers de ce type sont placés dans le dossier ** / | ||
| |**xkb_symbols**|Fichiers décrivant, entre autres, le type et les symboles de touche de cette touche. Les fichiers de ce type sont placés dans le dossier **/ | |**xkb_symbols**|Fichiers décrivant, entre autres, le type et les symboles de touche de cette touche. Les fichiers de ce type sont placés dans le dossier **/ | ||
| - | |**xkb_compat**|Fichiers décrivant le comportement des modificateurs. Ceci renvoie à des notions complexes qui ne sont pas strictement nécessaires pour la compréhension de ce tutoriel. Pour une présentation exhaustive reportez-vous aux documents cités en référence en fin de page. Les fichiers de ce type sont placés dans le dossier **/ | + | |**xkb_compat**|Fichiers décrivant le comportement des modificateurs. Ceci renvoie à des notions complexes qui ne sont pas strictement nécessaires pour la compréhension de ce tutoriel. Pour une présentation exhaustive reportez-vous aux documents cités en référence en fin de page.Les fichiers de ce type sont placés dans le dossier **/ |
| |**xkb_geometry**|Fichiers décrivant le placement physique des touches sur le clavier. Les fichiers de ce type sont placés dans le dossier **/ | |**xkb_geometry**|Fichiers décrivant le placement physique des touches sur le clavier. Les fichiers de ce type sont placés dans le dossier **/ | ||
| Ligne 744: | Ligne 801: | ||
| signifie que les déclarations du fichier fr doivent être incluse en appliquant le mode //replace// et non pas le mode par défaut // | signifie que les déclarations du fichier fr doivent être incluse en appliquant le mode //replace// et non pas le mode par défaut // | ||
| * Pour finir, un appel interne à un mode de fusion, l' | * Pour finir, un appel interne à un mode de fusion, l' | ||
| - | < | + | < |
| | | ||
| vmods = NumLock, | vmods = NumLock, | ||
| Ligne 750: | Ligne 807: | ||
| actions[Group1] = [ SetMods(modifiers=NumLock) ] | actions[Group1] = [ SetMods(modifiers=NumLock) ] | ||
| }; | }; | ||
| - | </ | + | </ |
| signifie que cette nouvelle définition de la touche < | signifie que cette nouvelle définition de la touche < | ||
| Ligne 759: | Ligne 816: | ||
| ===== Références bibliographiques ===== | ===== Références bibliographiques ===== | ||
| - | Les bases théoriques de cette page sont accessibles sur le site de [[http:// | + | Les bases théoriques de cette page sont accessibles sur le site de [[http:// |
