« Utilisateur:A2/dk » : différence entre les versions

De Disposition de clavier bépo
mAucun résumé des modifications
m (correction de «pas de balise <reference /> sur la page»)
 
(69 versions intermédiaires par un autre utilisateur non affichées)
Ligne 1 : Ligne 1 :
{{note|type=attention|Projet « enchainement de diacritiques » pour le [[pilote Windows]] bépo}}
{{note|type=attention|Projet perso « enchainement de diacritiques » pour le [[pilote Windows]] bépo. La liste des définitions est disponible en bas de cette page. Reste à voir comment mettre ça sous forme de diff pour corriger la source générée par [[configGenerator]]. Il me semble aussi qu'on ne peut plus utiliser l'installeur de MSKLC, donc l'installation de ce type de pilote ressemblera pour commencer à celle du neo2 à savoir .dll+.reg (à documenter). Pour tester {{dl|devel/bepoa-dk.zip|le pilote dans l’état actuel}}, écrasez la .dll du bépo-azerty (pilote x64).}}
{{sommaire à droite}}
Un peu plus d’une centaine de caractères ne sont toujours pas accessibles avec le [[pilote Windows]] pour bépo : les lignes qui les définissent peuvent être retirées du fichier klc généré par [[configGenerator]] sans effets sur les pilotes. Il est possible de définir ces combinaisons en utilisant les sources du pilote en C, cf. la liste en bas de page.


Une centaine de caractères ne sont pas accessibles actuellement avec le [[pilote Windows]] pour bépo : les lignes qui les définissent peuvent être retirées du fichier klc sans effets sur les pilotes. Il est possible de définir ces combinaisons en utilisant les sources du pilote en C.
Tableau récapitulatif des combinaisons de deux touches mortes (double aigu, virgule souscrite et symboles monétaires n'ont pas de combinaisons) :
 
Tableau récapitulatif des combinaisons deu deux touches mortes :
{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
|-
|-
! !!   !! 1 !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 !! 8 !! 9 !! 10 !! 11 !! 12 !! 13 !! 14 !! 15 !! 16 !! 17
! !! !! 0 !! 1 !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 !! 8 !! 9 !! a !! b !! c !! d !! e !! f !! ?
|- align="center"
|- align="center"
| align="left"|Point en chef || '''1''' || · ||  ṥṤ ||  ||  ṧṦ ||  ||  ||  ||  ||  ǡǠ<br>ȱȰ ||  ||  || {{R| ɟ}} ||  ||  ||  || ṩṨ ||
| align="left"|Point en chef || '''0''' || · ||  ṥṤ ||  ||  ṧṦ ||  ||  ||  ||  ||  ǡǠ<br>ȱȰ ||  ||  || ɟ  ||  ||  ||  || ṩṨ ||
|- align="center"
|- align="center"
| align="left"|Accent aigu || '''2''' || ṥṤ || · || ắẮ ||  || {{B|ḉḈ}}  || ấẤ<br>{{B|ếẾ}}<br>ốỐ || ḯḮ<br>ǘǗ ||  || ḗḖ<br>ṓṒ ||  || ǻǺ || ǿǾ || ṍṌ<br>ṹṸ || ớỚ<br>ứỨ ||  ||  ||
| align="left"|Accent aigu || '''1''' || ṥṤ || · || ắẮ ||  || {{B|ḉḈ}}  || ấẤ<br>{{B|ếẾ}}<br>ốỐ || ḯḮ<br>ǘǗ ||  || ḗḖ<br>ṓṒ ||  || ǻǺ || ǿǾ || ṍṌ<br>ṹṸ || ớỚ<br>ứỨ ||  ||  ||
|- align="center"
|- align="center"
| align="left"|Brève || '''3''' ||  || ắẮ || · ||  || ḝḜ ||  ||  || {{B|ằẰ}} ||  ||  ||  ||  || ẵẴ ||  ||  ẳẲ || ặẶ ||
| align="left"|Brève || '''2''' ||  || ắẮ || · ||  || ḝḜ ||  ||  || {{B|ằẰ}} ||  ||  ||  ||  || ẵẴ ||  ||  ẳẲ || ặẶ ||
|- align="center"
|- align="center"
| align="left"|Caron || '''4''' || ṧṦ ||  ||  || · ||  ||  || ǚǙ ||  ||  ||  ||  ||  ||  ||  ||  ||  ||
| align="left"|Caron || '''3''' || ṧṦ ||  ||  || · ||  ||  || ǚǙ ||  ||  ||  ||  ||  ||  ||  ||  ||  ||
|- align="center"
|- align="center"
| align="left"|Cédille || '''5''' ||  || ḉḈ || ḝḜ ||  || · ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||
| align="left"|Cédille || '''4''' ||  || ḉḈ || ḝḜ ||  || · ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||
|- align="center"
|- align="center"
| align="left"|Circonflexe || '''6''' ||  || ấẤ<br>{{B|ếẾ}}<br/>ốỐ ||  ||  ||  || · ||  || {{B|ầẦ}}<br>{{B|ềỀ}}<br>ồỒ ||  ||  ||  ||  || ẫẪ<br/>ễỄ<br/>ỗỖ ||  || ẩẨ<br/>ểỂ<br/>ổỔ || ậẬ<br/>ệỆ<br/>ộỘ ||
| align="left"|Circonflexe || '''5''' ||  || ấẤ<br>{{B|ếẾ}}<br/>ốỐ ||  ||  ||  || · ||  || {{B|ầẦ}}<br>{{B|ềỀ}}<br>ồỒ ||  ||  ||  ||  || ẫẪ<br/>ễỄ<br/>ỗỖ ||  || ẩẨ<br/>ểỂ<br/>ổỔ || ậẬ<br/>ệỆ<br/>ộỘ ||
|- align="center"
|- align="center"
| align="left"|Tréma || '''7''' ||  || ḯḮ<br/>ǘǗ ||  || ǚǙ ||  ||  || · || {{B|ǜǛ}} || ǟǞ<br/>ȫȪ<br/>{{V|ǖǕ}} ||  ||  ||  || ṏṎ ||  ||  ||  ||
| align="left"|Tréma || '''6''' ||  || ḯḮ<br/>ǘǗ ||  || ǚǙ ||  ||  || · || {{B|ǜǛ}} || ǟǞ<br/>ȫȪ<br/>{{V|ǖǕ}} ||  ||  ||  || ṏṎ ||  ||  ||  ||
|- align="center"
|- align="center"
| align="left"|Accent grave || '''8''' ||  ||  || ằẰ ||  ||  || ầẦ<br>{{B|ềỀ}}<br>ồỒ || ǜǛ || · || ḕḔ<br/>ṑṐ ||  ||  ||  ||  || ờỜ<br>ừỪ ||  ||  ||
| align="left"|Accent grave || '''7''' ||  ||  || ằẰ ||  ||  || ầẦ<br>{{B|ềỀ}}<br>ồỒ || ǜǛ || · || ḕḔ<br/>ṑṐ ||  ||  ||  ||  || ờỜ<br>ừỪ ||  ||  ||
|- align="center"
|- align="center"
| align="left"|Macron || '''9''' ||  ǡǠ<br/>ȱȰ || {{B|ḗḖ}}<br>ṓṒ ||  ||  ||  ||  || ǟǞ<br/>ȫȪ<br/>{{V|ṻṺ}} || {{B|ḕḔ}}<br>ṑṐ || · || ǭǬ ||  ||  || ȭȬ ||  || || ḹḸ<br>ṝṜ ||  ᾱᾹ<br>ῑῙ<br>ῡῩ
| align="left"|Macron || '''8''' ||  ǡǠ<br/>ȱȰ || {{B|ḗḖ}}<br>ṓṒ ||  ||  ||  ||  || ǟǞ<br/>ȫȪ<br/>{{V|ṻṺ}} || {{B|ḕḔ}}<br>ṑṐ || · || ǭǬ ||  ||  || ȭȬ ||  || || ḹḸ<br>ṝṜ ||  ᾱᾹ<br>ῑῙ<br>ῡῩ
|- align="center"
|- align="center"
| align="left"|Ogonek || '''10''' ||  ||  ||  ||  ||  ||  ||  ||  || ǭǬ || · ||  ||  ||  ||  ||  ||  ||
| align="left"|Ogonek || '''9''' ||  ||  ||  ||  ||  ||  ||  ||  || ǭǬ || · ||  ||  ||  ||  ||  ||  ||
|- align="center"
|- align="center"
| align="left"|Rond en chef || '''11''' || ǻǺ ||  ||  ||  ||  ||  ||  ||  ||  ||  || · ||  ||  ||  ||  ||  ||
| align="left"|Rond en chef || '''a''' || ǻǺ ||  ||  ||  ||  ||  ||  ||  ||  ||  || · ||  ||  ||  ||  ||  ||
|- align="center"
|- align="center"
| align="left"|Barrés || '''12''' || ɟ || ǿǾ ||  ||  ||  ||  ||  ||  ||  ||  ||  || · ||  ||  ||  ||  || ϼ
| align="left"|Barrés || '''b''' || ɟ || ǿǾ ||  ||  ||  ||  ||  ||  ||  ||  ||  || · ||  ||  ||  ||  || ϼ
|- align="center"
|- align="center"
| align="left"|Tilde || '''13''' ||  || ṍṌ<br>ṹṸ || ẵẴ ||  ||  ||  ẫẪ<br>{{B|ễỄ}}<br>ỗỖ || ṏṎ ||  || ȭȬ ||  ||  ||  || · || ỡỠ<br>ữỮ ||  ||  ||
| align="left"|Tilde || '''c''' ||  || ṍṌ<br>ṹṸ || ẵẴ ||  ||  ||  ẫẪ<br>{{B|ễỄ}}<br>ỗỖ || ṏṎ ||  || ȭȬ ||  ||  ||  || · || ỡỠ<br>ữỮ ||  ||  ||
|- align="center"
|- align="center"
| align="left"|Cornu || '''14''' ||  || ớỚ<br>ứỨ ||  ||  ||  ||  ||  || ờỜ<br>{{B|ừỪ}} ||  ||  ||  ||  || ỡỠ<br>ữỮ || · || ởỞ<br>ửỬ || ợỢ<br>ựỰ ||
| align="left"|Cornu || '''d''' ||  || ớỚ<br>ứỨ ||  ||  ||  ||  ||  || ờỜ<br>{{B|ừỪ}} ||  ||  ||  ||  || ỡỠ<br>ữỮ || · || ởỞ<br>ửỬ || ợỢ<br>ựỰ ||
|- align="center"
|- align="center"
| align="left"|Crochet || '''15''' ||  ||  || ẳẲ ||  ||  || ẩẨ<br>{{B|ểỂ}}<br>ổỔ ||  ||  ||  ||  ||  ||  ||  || ởỞ<br>ửỬ || · ||  || ϒ
| align="left"|Crochet || '''e''' ||  ||  || ẳẲ ||  ||  || ẩẨ<br>{{B|ểỂ}}<br>ổỔ ||  ||  ||  ||  ||  ||  ||  || ởỞ<br>ửỬ || · ||  || ϒ
|- align="center"
|- align="center"
| align="left"|Point-souscrit || '''16''' || ṩṨ ||  || ặẶ ||  ||  || ậẬ<br>{{B|ệỆ}}<br>ộỘ ||  ||  ||  {{R|ḹḸ<br>ṝṜ}} ||  ||  ||  ||  || ợỢ<br>ựỰ ||  || · ||
| align="left"|Point-souscrit || '''f''' || ṩṨ ||  || ặẶ ||  ||  || ậẬ<br>{{B|ệỆ}}<br>ộỘ ||  ||  ||  ḹḸ<br>ṝṜ ||  ||  ||  ||  || ợỢ<br>ựỰ ||  || · ||
|- align="center"
|- align="center"
| align="left"|Letrre grecque || '''17''' ||  ||  ||  ||  ||  ||  ||  ||  || ᾱᾹ<br>ῑῙ<br>ῡῩ ||  ||  || ϼ ||  ||  || ϒ ||  || ·
| align="left"|Letrre grecque || '''?''' ||  ||  ||  ||  ||  ||  ||  ||  || ᾱᾹ<br>ῑῙ<br>ῡῩ ||  ||  || ϼ ||  ||  || ϒ ||  || ·
|}  
|}  


Légende :
Légende :
*en {{B|bleu}} : combinaisons disponibles de manière plus simple (avec à ç é è ê ù;
*en {{B|bleu}} : combinaisons disponibles de manière plus simple (avec ÊÉÈêéèÀàÙùÆ挜Ççſ) ;
*en {{R|rouge}} : combinaisons à sens unique dans pkl et linux sans compose ;
*en {{V|vert}} : combinaisons dépendant de l'ordre des diacritiques ;
*en {{V|vert}} : combinaison dépendant d'ordre de saisie des diacritiques.


Touches mortes sans combinaisions : double aigu, virgule souscrite, symboles monétaires.
== Méthode ==
Pour chaque touche morte, on définit d'abord le comportement avec espace, lors d'une double pression de la touche morte et avec l'espace insécable. Sous Windows : touche morte + entrée donne le caractère utilisé pour la touche morte (ce qui permet d'obtenir le rond en chef par exemple). Viennent ensuite les définitions pour les lettres de l'alphabet latin puis les combinaisons plus compliquées. Les combinaisons simples fonctionnent parfaitement avec le pilote actuel (touche morte + touche).  


Toutes les combaisons fonctionnent avec le [[Windows_portable|pilote portable]] (pkl).
Pour les combinaisons de plusieurs touches on utilisera la zone à usage privé (e000–f8ff) d'Unicode : ces points de code servent pour les 38 touches mortes « intermédiaires ». En cas d'erreur de combinaison cela produit le caractère «  ». En reprenant le tableau croisé des touches mortes précédent, j'utilise un point de code e{{B|x}}0{{R|y}} avec {{B|x}} et {{R|y}} désignant les deux touches mortes. Vu le fonctionnement (e{{B|x}}0{{R|y}}=e{{R|y}}0{{B|x}}), on décrira seulement la partie supérieure du tableau (la partie inférieure étant identique sauf 704/407). Petit problème, en hexa on a 16 valeurs possibles donc il faudra trouver encore trois points de code pour les combinaisons avec le grec (moins intuitif que le reste du tableau du coup mais bon… pas trop l'choix).


==Aigu==
{| border =1 class=wikitable align=center width=80%
ǽ et Ǽ sont accessibles avec {{touches|´|æ}} et {{touches|´|Æ}}. Impossible de définir {{touches|´|a|e}} et {{touches|´|A|E}} à cause des définitions de á et Á.
|-  align="center"
 
| {{B|x}}\{{R|y}}|| align=left | Unicode 0xe... || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || a || b || c || d || e || f || ¡ 
{{fait}} : + 32 caractères
|- align="center"
 
| 0|| align=left | Accent grave||X||||002||||004||005||||007||||||||00b||||||||||
==Brève==
|- align="center"
{{fait}} :
| 1|| align=left | Accent aigu||||X||102||103||104||105||106||107||||109||||10b||||10d||||10f||
==Point en chef==
|- align="center"
<pre>
| 2|| align=left | Accent circonflexe||200||201||X||203||||||||||208||||||||20c||||||||
DEADKEY 02d9 // point en chef
|- align="center"
0041 0226 // A -> Ȧ
| 3|| align=left | Tilde||||301||302||X||304||305||||307||||||||30b||||||||||
/0100 01e0 // Ā -> Ǡ
|- align="center"
0061 0227 // a -> ȧ
| 4|| align=left | Macron||400||401||||403||X||||406||{{V|407}}||||||||||40c||||40e||||410
/0101 01e1 // ā -> ǡ
|- align="center"
0042 1e02 // B -> Ḃ
| 5|| align=left | Brève||500||501||||503||||X||||||508||||||||50c||50d||||||
0062 1e03 // b -> ḃ
|- align="center"
0043 010a // C -> Ċ
| 6|| align=left | Point en chef||||601||||||604||||X||||||||60a||||60c||||||60f||
0063 010b // c -> ċ
|- align="center"
0044 1e0a // D -> Ḋ
| 7|| align=left | Tréma||700||701||||703||{{V|704}}||||||X||||||70a||||||||||||
0064 1e0b // d -> ḋ
|- align="center"
0045 0116 // E -> Ė
| 8|| align=left | Crochet en chef||||||802||||||805||||||X||||||80b||||||||||810
0065 0117 // e -> ė
|- align="center"
0046 1e1e // F -> Ḟ
| 9|| align=left | Rond en chef||||901||||||||||||||||X||||||||||||||
0066 1e1f // f -> ḟ
|- align="center"
0047 0120 // G -> Ġ
| a|| align=left | Caron||||||||||||||a06||a07||||||X||||||||||||
0067 0121 // g -> ġ
|- align="center"
0048 1e22 // H -> Ḣ
| b|| align=left | Cornu||b00||b01||||b03||||||||||b08||||||X||b0c||||||||
0068 1e23 // h -> ḣ
|- align="center"
0049 0130 // I -> İ
| c|| align=left | Point souscrit||||||c02||||c04||c05||c06||||||||||c0b||X||||||||
0069 0131 // i -> ı
|- align="center"
006a 0237 // j -> ȷ
| d|| align=left | Cédille||||d01||||||||d05||||||||||||||||X||||||
004c 013f // L -> Ŀ
|- align="center"
006c 0140 // l -> ŀ
| e|| align=left | Ogonek||||||||||e04||||||||||||||||||||X||||
017f 1e9b // ſ -> ẛ
|- align="center"
004d 1e40 // M -> Ṁ
| f|| align=left | Barré||||f01||||||||||f06||||||||||||||||||X||f10
006d 1e41 // m -> ṁ
|- align="center"
004e 1e44 // N -> Ṅ
| ¡|| align=left | Grec||||||||||014||||||||018||||||||||||||01f||X
006e 1e45 // n -> ṅ
|}
004f 022e // O -> Ȯ
/014c 0230 // Ō -> Ȱ
006f 022f // o -> ȯ
/014d 0231 // ō -> ȱ
0050 1e56 // P -> Ṗ
0070 1e57 // p -> ṗ
0052 1e58 // R -> Ṙ
0072 1e59 // r -> ṙ
0053 1e60 // S -> Ṡ
/015a 1e64 // Ś -> Ṥ
/1e62 1e68 // Ṣ -> Ṩ
/0160 1e66 // Š -> Ṧ
0073 1e61 // s -> ṡ
/015b 1e65 // ś -> ṥ
/1e63 1e69 // ṣ -> ṩ
/0161 1e67 // š -> ṧ
0054 1e6a // T -> Ṫ
0074 1e6b // t -> ṫ
0057 1e86 // W -> Ẇ
0077 1e87 // w -> ẇ
0058 1e8a // X -> Ẋ
0078 1e8b // x -> ẋ
0059 1e8e // Y -> Ẏ
0079 1e8f // y -> ẏ
005a 017b // Z -> Ż
007a 017c // z -> ż
02d9 02d9 // ˙ -> ˙
00a0 0307 //   -> ̇
0020 02d9 //  -> ˙
</pre>
*10 / : point en chef + macron aAoO / caron sS / accent aigu sS / point souscrit sS
 
Ajouts :
*MULTIPLICATION SIGN WITH DOT ABOVE {{U|2A30}}
*TILDE WITH DOT ABOVE {{U|2E1E}}
 
==Caron==
<pre>
DEADKEY 02c7 // caron
0028 208d // ( -> ₍
0029 208e // ) -> ₎
002b 208a // + -> ₊
002d 208b // - -> ₋
0030 2080 // 0 -> ₀
0031 2081 // 1 -> ₁
0032 2082 // 2 -> ₂
0033 2083 // 3 -> ₃
0034 2084 // 4 -> ₄
0035 2085 // 5 -> ₅
0036 2086 // 6 -> ₆
0037 2087 // 7 -> ₇
0038 2088 // 8 -> ₈
0039 2089 // 9 -> ₉
003d 208c // = -> ₌
0041 01cd // A -> Ǎ
0061 01ce // a -> ǎ
0043 010c // C -> Č
0063 010d // c -> č
0044 010e // D -> Ď
0064 010f // d -> ď
//01f2 01c5 // Dz -> Dž
//01f1 01c4 // DZ -> DŽ
//01f3 01c6 // dz -> dž
0045 011a // E -> Ě
0065 011b // e -> ě
//01b7 01ee // Ʒ -> Ǯ
//0292 01ef // ʒ -> ǯ
0047 01e6 // G -> Ǧ
0067 01e7 // g -> ǧ
0048 021e // H -> Ȟ
0068 021f // h -> ȟ
0049 01cf // I -> Ǐ
0069 01d0 // i -> ǐ
006a 01f0 // j -> ǰ
004b 01e8 // K -> Ǩ
006b 01e9 // k -> ǩ
004c 013d // L -> Ľ
006c 013e // l -> ľ
004e 0147 // N -> Ň
006e 0148 // n -> ň
004f 01d1 // O -> Ǒ
006f 01d2 // o -> ǒ
0052 0158 // R -> Ř
0072 0159 // r -> ř
/1e60 1e66 // Ṡ -> Ṧ
0053 0160 // S -> Š
/1e61 1e67 // ṡ -> ṧ
0073 0161 // s -> š
0054 0164 // T -> Ť
0074 0165 // t -> ť
0055 01d3 // U -> Ǔ
/00dc 01d9 // Ü -> Ǚ
0075 01d4 // u -> ǔ
/00fc 01da // ü -> ǚ
005a 017d // Z -> Ž
007a 017e // z -> ž
02c7 02c7 // ˇ -> ˇ
00a0 030c //   -> ̌
0020 02c7 //  -> ˇ
</pre>
*4 / : caron + point en chef sS / tréma uU.
*5 // : caron + Dz dz DZ Ʒ ʒ :
*U+01EE LATIN CAPITAL LETTER EZH WITH CARON Ǯ
*U+01EF LATIN SMALL LETTER EZH WITH CARON ǯ
*U+01C4 LATIN CAPITAL LETTER DZ WITH CARON DŽ
*U+01C5 LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON Dž
*U+01C6 LATIN SMALL LETTER DZ WITH CARON dž
*U+032C COMBINING CARON BELOW ̬
 
==Cédille==
<pre>
DEADKEY 00b8 // cédille
/0106 1e08 // Ć -> Ḉ
0043 00c7 // C -> Ç
/20a1 20b5 // ₡ -> ₵ > ? pourquoi cette déf. ?
/0107 1e09 // ć -> ḉ
0063 00e7 // c -> ç
/00a2 20b5 // ¢ -> ₵ > ? pourquoi cette déf. ?
0044 1e10 // D -> Ḑ
0064 1e11 // d -> ḑ
/0114 1e1c // Ĕ -> Ḝ
0045 0228 // E -> Ȩ
/0115 1e1d // ĕ -> ḝ
0065 0229 // e -> ȩ
0047 0122 // G -> Ģ
0067 0123 // g -> ģ
0048 1e28 // H -> Ḩ
0068 1e29 // h -> ḩ
004b 0136 // K -> Ķ
006b 0137 // k -> ķ
004c 013b // L -> Ļ
006c 013c // l -> ļ
004e 0145 // N -> Ņ
006e 0146 // n -> ņ
0052 0156 // R -> Ŗ
0072 0157 // r -> ŗ
0053 015e // S -> Ş
0073 015f // s -> ş
0054 0162 // T -> Ţ
0074 0163 // t -> ţ
00b8 00b8 // ¸ -> ¸
00a0 0327 //   -> ̧
0020 00b8 //  -> ¸
</pre>
*4 / : cédille + accent aigu cC (on a l'inverse par contre ^^) / brève eE.
 
* U+0312 COMBINING TURNED COMMA ABOVE ̒
 
==Circonflexe==
<pre>
DEADKEY 005e // circonflexe
0028 207d // ( -> ⁽
0029 207e // ) -> ⁾
002b 207a // + -> ⁺
002d 207b // - -> ⁻
0030 2070 // 0 -> ⁰
0031 00b9 // 1 -> ¹
0032 00b2 // 2 -> ²
0033 00b3 // 3 -> ³
0034 2074 // 4 -> ⁴
0035 2075 // 5 -> ⁵
0036 2076 // 6 -> ⁶
0037 2077 // 7 -> ⁷
0038 2078 // 8 -> ⁸
0039 2079 // 9 -> ⁹
003d 207c // = -> ⁼
/00c1 1ea4 // Á -> Ấ
//1ea0 1eac // Ạ -> Ậ
0041 00c2 // A -> Â
00c0 1ea6 // À -> Ầ
//1ea2 1ea8 // Ả -> Ẩ
/00c3 1eaa // Ã -> Ẫ
/00e1 1ea5 // á -> ấ
//1ea1 1ead // ạ -> ậ
0061 00e2 // a -> â
00e0 1ea7 // à -> ầ
//1ea3 1ea9 // ả -> ẩ
/00e3 1eab // ã -> ẫ
0043 0108 // C -> Ĉ
0063 0109 // c -> ĉ
00c9 1ebe // É -> Ế
//1eb8 1ec6 // Ẹ -> Ệ
0045 00ca // E -> Ê
00c8 1ec0 // È -> Ề
//1eba 1ec2 // Ẻ -> Ể
/1ebc 1ec4 // Ẽ -> Ễ
00e9 1ebf // é -> ế
//1eb9 1ec7 // ẹ -> ệ
0065 00ea // e -> ê
00e8 1ec1 // è -> ề
//1ebb 1ec3 // ẻ -> ể
/1ebd 1ec5 // ẽ -> ễ
0047 011c // G -> Ĝ
0067 011d // g -> ĝ
0048 0124 // H -> Ĥ
0068 0125 // h -> ĥ
0049 00ce // I -> Î
0069 00ee // i -> î
004a 0134 // J -> Ĵ
006a 0135 // j -> ĵ
/00d3 1ed0 // Ó -> Ố
//1ecc 1ed8 // Ọ -> Ộ
004f 00d4 // O -> Ô
/00d2 1ed2 // Ò -> Ồ
//1ece 1ed4 // Ỏ -> Ổ
/00d5 1ed6 // Õ -> Ỗ
/00f3 1ed1 // ó -> ố
//1ecd 1ed9 // ọ -> ộ
006f 00f4 // o -> ô
/00f2 1ed3 // ò -> ồ
//1ecf 1ed5 // ỏ -> ổ
/00f5 1ed7 // õ -> ỗ
0053 015c // S -> Ŝ
0073 015d // s -> ŝ
0055 00db // U -> Û
0075 00fb // u -> û
0057 0174 // W -> Ŵ
0077 0175 // w -> ŵ
0059 0176 // Y -> Ŷ
0079 0177 // y -> ŷ
005a 1e90 // Z -> Ẑ
007a 1e91 // z -> ẑ
005e 005e // ^ -> ^
00a0 0302 //   -> ̂
0020 005e //  -> ^
</pre>
*12 / : circonflexe + accent aigu aAoO / tilde aAeEoO / accent grave oO.
*12 // : circonflexe + crochet en chef aAeEoO / point souscrit aAeEoO.
 
==Tréma==
<pre>
DEADKEY 00a8 // tréma
0041 00c4 // A -> Ä
/0100 01de // Ā -> Ǟ
0061 00e4 // a -> ä
/0101 01df // ā -> ǟ
0045 00cb // E -> Ë
0065 00eb // e -> ë
0048 1e26 // H -> Ḧ
0068 1e27 // h -> ḧ
/00cd 1e2e // Í -> Ḯ
0049 00cf // I -> Ï
/00ed 1e2f // í -> ḯ
0069 00ef // i -> ï
004f 00d6 // O -> Ö
/014c 022a // Ō -> Ȫ
/00d5 1e4e // Õ -> Ṏ
006f 00f6 // o -> ö
/014d 022b // ō -> ȫ
/00f5 1e4f // õ -> ṏ
0074 1e97 // t -> ẗ
/00da 01d7 // Ú -> Ǘ
/01d3 01d9 // Ǔ -> Ǚ
0055 00dc // U -> Ü
00d9 01db // Ù -> Ǜ
/016a 01d5 // Ū -> Ǖ
/00fa 01d8 // ú -> ǘ
/01d4 01da // ǔ -> ǚ
0075 00fc // u -> ü
00f9 01dc // ù -> ǜ
/016b 01d6 // ū -> ǖ
0057 1e84 // W -> Ẅ
0077 1e85 // w -> ẅ
0058 1e8c // X -> Ẍ
0078 1e8d // x -> ẍ
0059 0178 // Y -> Ÿ
0079 00ff // y -> ÿ
00a8 00a8 // ¨ -> ¨
00a0 0308 //   -> ̈
0020 0022 //  -> "
</pre>
*14 / : tréma + macron aAoOuU / accent aigu iIuU / tilde oO / caron uU.
 
==Accent grave==
<pre>
DEADKEY 0060 // accent grave
/0102 1eb0 // Ă -> Ằ
/00c2 1ea6 // Â -> Ầ
0041 00c0 // A -> À
/0103 1eb1 // ă -> ằ
/00e2 1ea7 // â -> ầ
0061 00e0 // a -> à
00ca 1ec0 // Ê -> Ề
0045 00c8 // E -> È
/0112 1e14 // Ē -> Ḕ
00ea 1ec1 // ê -> ề
0065 00e8 // e -> è
/0113 1e15 // ē -> ḕ
0049 00cc // I -> Ì
0069 00ec // i -> ì
004e 01f8 // N -> Ǹ
006e 01f9 // n -> ǹ
/00d4 1ed2 // Ô -> Ồ
004f 00d2 // O -> Ò
//01a0 1edc // Ơ -> Ờ
/014c 1e50 // Ō -> Ṑ
/00f4 1ed3 // ô -> ồ
006f 00f2 // o -> ò
//01a1 1edd // ơ -> ờ
/014d 1e51 // ō -> ṑ
/00dc 01db // Ü -> Ǜ
0055 00d9 // U -> Ù
//01af 1eea // Ư -> Ừ
/00fc 01dc // ü -> ǜ
0075 00f9 // u -> ù
//01b0 1eeb // ư -> ừ
0057 1e80 // W -> Ẁ
0077 1e81 // w -> ẁ
0059 1ef2 // Y -> Ỳ
0079 1ef3 // y -> ỳ
0060 0060 // ` -> `
00a0 0300 //   -> ̀
0020 0060 //  -> `
</pre>
*12 / : accent grave + brève aA / circonflexe aA<br>(eE)<br>oO / macron eEoO / tréma uU.
*2 // : accent grave + cornu oO.
 
==Macron==
<pre>
DEADKEY 00af // macron
/0226 01e0 // Ȧ -> Ǡ
/00c4 01de // Ä -> Ǟ
0041 0100 // A -> Ā
/0227 01e1 // ȧ -> ǡ
/00e4 01df // ä -> ǟ
0061 0101 // a -> ā
00c6 01e2 // Æ -> Ǣ
00e6 01e3 // æ -> ǣ
00c9 1e16 // É -> Ḗ
00c8 1e14 // È -> Ḕ
0045 0112 // E -> Ē
00e9 1e17 // é -> ḗ
00e8 1e15 // è -> ḕ
0065 0113 // e -> ē
0047 1e20 // G -> Ḡ
0067 1e21 // g -> ḡ
0049 012a // I -> Ī
0069 012b // i -> ī
//1e36 1e38 // Ḷ -> Ḹ
//1e37 1e39 // ḷ -> ḹ
/022e 0230 // Ȯ -> Ȱ
/00d3 1e52 // Ó -> Ṓ
/00d6 022a // Ö -> Ȫ
/00d2 1e50 // Ò -> Ṑ
004f 014c // O -> Ō
/01ea 01ec // Ǫ -> Ǭ
/00d5 022c // Õ -> Ȭ
/022f 0231 // ȯ -> ȱ
/00f3 1e53 // ó -> ṓ
/00f6 022b // ö -> ȫ
/00f2 1e51 // ò -> ṑ
006f 014d // o -> ō
/01eb 01ed // ǫ -> ǭ
/00f5 022d // õ -> ȭ
//1e5a 1e5c // Ṛ -> Ṝ
//1e5b 1e5d // ṛ -> ṝ
/00dc 01d5 // Ü -> Ǖ
0055 016a // U -> Ū
/00fc 01d6 // ü -> ǖ
0075 016b // u -> ū
0059 0232 // Y -> Ȳ
0079 0233 // y -> ȳ
00af 00af // ¯ -> ¯
00a0 0304 //   -> ̄
0020 00af //  -> ¯
</pre>
*18 / : macron + point en chef aAoO / tréma aAoOuU / accent aigu oO / accent grave oO / ogonek oO / tilde oO
*4 // : macron + point souscrit lLrR


GREEK SMALL LETTER ALPHA WITH MACRON U+1FB1 GREEK SMALL LETTER ALPHA WITH MACRON ᾱ
*Aigu<ref>ǽ et Ǽ sont accessibles avec {{touches|´|æ}} et {{touches|´|Æ}}. Impossible de définir {{touches|´|a|e}} et {{touches|´|A|E}} à cause des définitions de á et Á.</ref> : ṥṤ ắẮ {{b|ḉḈ}} ấẤ{{b|ếẾ}}ốỐ ḯḮǘǗ ḗḖṓṒ ǻǺ ǿǾ ṍṌṹṸ ớỚứỨ
GREEK CAPITAL LETTER ALPHA WITH MACRON U+1FB9 GREEK CAPITAL LETTER ALPHA WITH MACRON Ᾱ
*Brève : ắẮ ḝḜ {{B|ằẰ}} ẵẴ ẳẲ ặẶ
GREEK SMALL LETTER IOTA WITH MACRON U+1FD1 GREEK SMALL LETTER IOTA WITH MACRON ῑ
*Point en chef : ṥṤ ṧṦ ǡǠȱȰ ṩṨ ɟ
GREEK CAPITAL LETTER IOTA WITH MACRON U+1FD9 GREEK CAPITAL LETTER IOTA WITH MACRON Ῑ
*Caron : ṧṦ ǚǙ
GREEK SMALL LETTER UPSILON WITH MACRON U+1FE1 GREEK SMALL LETTER UPSILON WITH MACRON ῡ
*Cédille : ḉḈ ḝḜ
GREEK CAPITAL LETTER UPSILON WITH MACRON U+1FE9 GREEK CAPITAL LETTER UPSILON WITH MACRON Ῡ
*Circonflexe : ấẤ{{b|ếẾ}}ốỐ {{b|ầẦềỀ}}ồỒ ẫẪễỄỗỖ ẩẨểỂổỔ ậẬệỆộỘ
*Tréma : ḯḮǘǗ ǚǙ {{b|ǜǛ}} ǟǞȫȪ{{v|ǖǕ}} ṏṎ
*Accent grave : ằẰ ầẦ {{b|ềỀ}} ồỒ ǜǛ ḕḔ ṑṐ ờỜừỪ 
*Macron : ǡǠȱȰ ḗḖṓṒ ǟǞȫȪṻṺ ḕḔṑṐ ǭǬ ȭȬ ḹḸṝṜ  ᾱᾹῑῙῡῩ
*Ogonek : Ǭǭ
*Rond en chef : ǻǺ
*Barrés : ɟ ǿǾ
*Tilde : ṍṌṹṸ  ẵẴ  ẫẪ{{B|ễỄ}}ỗỖ ṏṎ ȭȬ ỡỠữỮ
*Cornu : ỚớỨứ Ờờ{{B|Ừừ}} ỢợỰự ỞởỬử ỠỡỮữ
*Crochet : ẳẲ ẩẨ{{B|ểỂ}}ổỔ ởỞửỬ ϒ {{R|ʄ}}
*Point souscrit : ṩṨ ặẶ ậẬ{{B|ệỆ}}ộỘ ḹḸṝṜ ợỢựỰ


== Notes et remarques ==


==Ogonek==
===Ajouts possibles ===
Penser à vérifier  l'homogénéïté des pilotes
<pre>
<pre>
DEADKEY 02db // ogonek
// DEADTRANS( L'n'  , L'^'  , 0x207f , 0x0000), // exposant n (du Neo2 ?)
0041 0104 // A -> Ą
//- Combinaison de 3 touches mortes : J dotless with stroke and hook :
0061 0105 // a -> ą
// DEADTRANS( 0x025f , 0x0309 , 0x0284 , 0x0000), // ɟ -> ʄ > combinaison de 3 touches
0045 0118 // E -> Ę
// 03D3    GREEK UPSILON WITH ACUTE AND HOOK SYMBOL // combinaison de 4 touches
0065 0119 // e -> ę
//  0351    COMBINING LEFT HALF RING ABOVE (
0049 012e // I -> Į
// 0357    COMBINING RIGHT HALF RING ABOVE )
0069 012f // i -> į
// 212B    ANGSTROM SIGN
/014c 01ec // Ō -> Ǭ
// 2E1B    TILDE WITH RING ABOVE  > combinaison + espace ?
004f 01ea // O -> Ǫ
//- « doubles touches mortes » combinantes qu'on pourrait avoir
/014d 01ed // ō -> ǭ
// 1DCB    COMBINING BREVE-MACRON > combinaison + nbsp ?
006f 01eb // o -> ǫ
// 1DCC    COMBINING MACRON-BREVE
0055 0172 // U -> Ų
// 035D    COMBINING DOUBLE BREVE 
0075 0173 // u -> ų
// 0312    COMBINING TURNED COMMA ABOVE ̒
02db 02db // ˛ -> ˛
// indices : (du neo2) x possible mais pas a/e déjà définis êâ, ce serait déjà bien d'avoir l'exposant e :
00a0 0328 //   -> ̨
// DEADTRANS( L'a'  , 0x02c7 , 0x2090 , 0x0000),
0020 02db //   -> ˛
// DEADTRANS( L'e'  , 0x02c7 , 0x2091 , 0x0000),
// DEADTRANS( L'x'  , 0x02c7 , 0x2093 , 0x0000),
// DEADTRANS( 0x00d7 , 0x02d9 , 0x2a30 , 0x0000), // × -> ⨰ MULTIPLICATION SIGN WITH DOT ABOVE
// DEADTRANS( 0x007e , 0x02d9 , 0x2e1e , 0x0000), // ~ -> ⸞ TILDE WITH DOT ABOVE
</pre>
</pre>
*2 / : ogonek + macron oO


==Rond en chef==
===Accessibilité des combinaisons===
<pre>
Une petite idée à propos l'accessibilité des combinaisons ci-dessous : on peut faciliter la saisie de certains caractères en remplissant les définitions non utilisée. Je pense par exemple à un compose en {{touches|^|v}}, en redondance avec un éventuel {{touches|Altgr|Maj|ê}}. De même on peut faciliter les enchainements de touches mortes quand l'une est en {{touche|AltGr|Maj}} l’autre non (ça plus le caractère), fonction des combinaisons existantes. Le poids de ces doubles combinaisons n'a jamais été pris en compte dans le placement des touches mortes et cela se ressent pour taper certains caractères. Enfin pour être précis, il faudrait savoir quantifier la fréquence de ces caractères, savoir si l'on veut faciliter l'accès aux plus utiles.
DEADKEY 02da // rond en chef
/00c1 01fa // Á -> Ǻ
0041 00c5 // A -> Å
/00e1 01fb // á -> ǻ
0061 00e5 // a -> å
0055 016e // U -> Ů
0075 016f // u -> ů
0077 1e98 // w -> ẘ
0079 1e99 // y -> ẙ
02da 00b0 // ˚ -> °
00a0 030a //   -> ̊
0020 00b0 //  -> °
</pre>
*2 / : rond en chef + accent aigu aA


==Barrés==
== Définitions pour le fichier source ==
<pre>
<syntaxhighlight lang="C">
DEADKEY 002f // barrés
//-Touches mortes multiples
0032 01bb // 2 -> ƻ
// accent grave & circonflexe (0xe002)
003d 2260 // = -> ≠
DEADTRANS( 0x0060 , L'^'  , 0xe002 , 0x0001),
0041 023a // A -> Ⱥ
DEADTRANS( 0x005e , L'`'  , 0xe002 , 0x0001),
0061 2c65 // a -> ⱥ
DEADTRANS( L'A'  , 0xe002 , 0x1ea6 , 0x0000), // Ầ
0042 0243 // B -> Ƀ
DEADTRANS( L'a'  , 0xe002 , 0x1ea7 , 0x0000), // ầ
0062 0180 // b -> ƀ
DEADTRANS( L'E'  , 0xe002 , 0x1ec0 , 0x0000), // Ề
0043 023b // C -> Ȼ
DEADTRANS( L'e'  , 0xe002 , 0x1ec1 , 0x0000), // ề
0063 023c // c -> ȼ
DEADTRANS( L'O'  , 0xe002 , 0x1ed2 , 0x0000), // Ồ
0044 0110 // D -> Đ
DEADTRANS( L'o'  , 0xe002 , 0x1ed3 , 0x0000), // ồ
0064 0111 // d -> đ
// accent grave & macron (0xe004)
0045 0246 // E -> Ɇ
DEADTRANS( 0x0060 , 0x00af , 0xe004 , 0x0001),
0065 0247 // e -> ɇ
DEADTRANS( 0x00af , L'`'  , 0xe004 , 0x0001),
0047 01e4 // G -> Ǥ
DEADTRANS( L'E'  , 0xe004 , 0x1e14 , 0x0000), // Ḕ
0067 01e5 // g -> ǥ
DEADTRANS( L'e'  , 0xe004 , 0x1e15 , 0x0000), // ḕ
003e 226f // > -> ≯
DEADTRANS( L'O'  , 0xe004 , 0x1e50 , 0x0000), // Ṑ
2265 2271 // ≥ -> ≱
DEADTRANS( L'o'  , 0xe004 , 0x1e51 , 0x0000), // ṑ
0048 0126 // H -> Ħ
// accent grave & brève (0xe005)
0068 0127 // h -> ħ
DEADTRANS( 0x0060 , 0x02d8 , 0xe005 , 0x0001),
0049 0197 // I -> Ɨ
DEADTRANS( 0x02d8 , L'`'  , 0xe005 , 0x0001),
0069 0268 // i -> ɨ
DEADTRANS( 0x0041 , 0xe005 , 0x1eb0 , 0x0000), // Ằ
004a 0248 // J -> Ɉ
DEADTRANS( 0x0061 , 0xe005 , 0x1eb1 , 0x0000), // ằ
006a 0249 // j -> ɉ
// accent grave & tréma (0xe007)
0269 1d7c // ɩ -> ᵼ
DEADTRANS( 0x0060 , 0x00a8 , 0xe007 , 0x0001),
0237 025f // ȷ -> ɟ
DEADTRANS( 0x00a8 , L'`'  , 0xe007 , 0x0001),
004c 0141 // L -> Ł
DEADTRANS( L'U'  , 0xe007 , 0x01db , 0x0000), // Ǜ
006c 0142 // l -> ł
DEADTRANS( L'u'  , 0xe007 , 0x01dc , 0x0000), // ǜ
003c 226e // < -> ≮
// accent grave & cornu (0xe00b)
2264 2270 // ≤ -> ≰
DEADTRANS( 0x0060 , 0x031b , 0xe00b , 0x0001),
/00d3 01fe // Ó -> Ǿ
DEADTRANS( 0x031b , L'`'  , 0xe00b , 0x0001),
004f 00d8 // O -> Ø
DEADTRANS( L'O'  , 0xe00b , 0x1edc , 0x0000), // Ờ
/00f3 01ff // ó -> ǿ
DEADTRANS( L'o'  , 0xe00b , 0x1edd , 0x0000), // ờ
006f 00f8 // o -> ø
DEADTRANS( L'U'  , 0xe00b , 0x1eea , 0x0000), // Ừ
0050 2c63 // P -> Ᵽ
DEADTRANS( L'u'  , 0xe00b , 0x1eeb , 0x0000), // ừ
0070 1d7d // p -> ᵽ
// accent aigu & circonflexe (0xe102)
//1d11 1d13 // ᴑ -> ᴓ
DEADTRANS( 0x00b4 , 0x005e , 0xe102 , 0x0001),
0052 024c // R -> Ɍ
DEADTRANS( 0x005e , 0x00b4 , 0xe102 , 0x0001),
0072 024d // r -> ɍ
DEADTRANS( 0x0041 , 0xe102 , 0x1ea4 , 0x0000), // Ấ
0054 0166 // T -> Ŧ
DEADTRANS( 0x0061 , 0xe102 , 0x1ea5 , 0x0000), // ấ
0074 0167 // t -> ŧ
DEADTRANS( 0x0045 , 0xe102 , 0x1ebe , 0x0000), // Ế
0055 0244 // U -> Ʉ
DEADTRANS( 0x0065 , 0xe102 , 0x1ebf , 0x0000), // ế
0075 0289 // u -> ʉ
DEADTRANS( 0x004f , 0xe102 , 0x1ed0 , 0x0000), // Ố
//028a 1d7f // ʊ -> ᵿ
DEADTRANS( 0x006f , 0xe102 , 0x1ed1 , 0x0000), // ố
0059 024e // Y -> Ɏ
// accent aigu & tilde (0xe103)
0079 024f // y -> ɏ
DEADTRANS( 0x00b4 , 0x007e , 0xe103 , 0x0001),
005a 01b5 // Z -> Ƶ
DEADTRANS( 0x007e , 0x00b4 , 0xe103 , 0x0001),
007a 01b6 // z -> ƶ
DEADTRANS( 0x004f , 0xe103 , 0x1e4c , 0x0000), // Ṍ
002f 002f // / -> /
DEADTRANS( 0x006f , 0xe103 , 0x1e4d , 0x0000), // ṍ
00a0 0338 //   -> ̸
DEADTRANS( 0x0055 , 0xe103 , 0x1e78 , 0x0000), // Ṹ
0020 002f //   -> /
DEADTRANS( 0x0075 , 0xe103 , 0x1e79 , 0x0000), // ṹ
</pre>
// accent aigu & macron (0xe104)
*2 / : barré + accent aigu oO
DEADTRANS( 0x00b4 , 0x00af , 0xe104 , 0x0001),
*2 // : ʊᴑ
DEADTRANS( 0x00af , 0x00b4 , 0xe104 , 0x0001),
DEADTRANS( 0x0045 , 0xe104 , 0x1e16 , 0x0000), // Ḗ
DEADTRANS( 0x0065 , 0xe104 , 0x1e17 , 0x0000), // ḗ
DEADTRANS( 0x004f , 0xe104 , 0x1e52 , 0x0000), // Ṓ
DEADTRANS( 0x006f , 0xe104 , 0x1e53 , 0x0000), // ṓ
// accent aigu & brève (0xe105)
DEADTRANS( 0x00b4 , 0x02d8 , 0xe105 , 0x0001),
DEADTRANS( 0x02d8 , 0x00b4 , 0xe105 , 0x0001),
DEADTRANS( 0x0041 , 0xe105 , 0x1eae , 0x0000), // Ắ
DEADTRANS( 0x0061 , 0xe105 , 0x1eaf , 0x0000), // ắ
// accent aigu & point en chef (0xe106)
DEADTRANS( 0x00b4 , 0x02d9 , 0xe106 , 0x0001),
DEADTRANS( 0x02d9 , 0x00b4 , 0xe106 , 0x0001),
DEADTRANS( 0x0053 , 0xe106 , 0x1e64 , 0x0000), // Ṥ
DEADTRANS( 0x0073 , 0xe106 , 0x1e65 , 0x0000), // ṥ
// accent aigu & tréma (0xe107)
DEADTRANS( 0x00b4 , 0x00a8 , 0xe107 , 0x0001),
DEADTRANS( 0x00a8 , 0x00b4 , 0xe107 , 0x0001),
DEADTRANS( 0x0049 , 0xe107 , 0x1e2e , 0x0000), // Ḯ
DEADTRANS( 0x0069 , 0xe107 , 0x1e2f , 0x0000), // ḯ
DEADTRANS( 0x0055 , 0xe107 , 0x01d7 , 0x0000), // Ǘ
DEADTRANS( 0x0075 , 0xe107 , 0x01d8 , 0x0000), // ǘ
// accent aigu & rond en chef (0xe109)
DEADTRANS( 0x00b4 , 0x02da , 0xe109 , 0x0001),
DEADTRANS( 0x02da , 0x00b4 , 0xe109 , 0x0001),
DEADTRANS( 0x0041 , 0xe109 , 0x01fa , 0x0000), // Ǻ
DEADTRANS( 0x0061 , 0xe109 , 0x01fb , 0x0000), // ǻ
// accent aigu & cornu (0xe10b)
DEADTRANS( 0x00b4 , 0x031b , 0xe10b , 0x0001),
DEADTRANS( 0x031b , 0x00b4 , 0xe10b , 0x0001),
DEADTRANS( 0x004f , 0xe10b , 0x1eda , 0x0000), // Ớ
DEADTRANS( 0x006f , 0xe10b , 0x1edb , 0x0000), // ớ
DEADTRANS( 0x0055 , 0xe10b , 0x1ee8 , 0x0000), // Ứ
DEADTRANS( 0x0075 , 0xe10b , 0x1ee9 , 0x0000), // ứ
// accent aigu & cédille (0xe10d)
DEADTRANS( 0x00b4 , 0x00b8 , 0xe10d , 0x0001),
DEADTRANS( 0x00b8 , 0x00b4 , 0xe10d , 0x0001),
DEADTRANS( 0x0043 , 0xe10d , 0x1e08 , 0x0000), // Ḉ
DEADTRANS( 0x0063 , 0xe10d , 0x1e09 , 0x0000), // ḉ
// accent aigu & barré (0xe10f)
DEADTRANS( 0x00b4 , L'/'  , 0xe10f , 0x0001),
DEADTRANS( 0x002f , 0x00b4 , 0xe10f , 0x0001),
DEADTRANS( 0x004f , 0xe10f , 0x01fe , 0x0000), // Ǿ
DEADTRANS( 0x006f , 0xe10f , 0x01ff , 0x0000), // ǿ
// circonflexe & tilde (0xe203)
DEADTRANS( 0x005e , 0x007e , 0xe203 , 0x0001),
DEADTRANS( 0x007e , L'^'  , 0xe203 , 0x0001),
DEADTRANS( L'A'  , 0xe203 , 0x1eaa , 0x0000), // Ẫ
DEADTRANS( L'a'  , 0xe203 , 0x1eab , 0x0000), // ẫ
DEADTRANS( L'E'  , 0xe203 , 0x1ec4 , 0x0000), // Ễ
DEADTRANS( L'e'  , 0xe203 , 0x1ec5 , 0x0000), // ễ
DEADTRANS( L'O'  , 0xe203 , 0x1ed6 , 0x0000), // Ỗ
DEADTRANS( L'o'  , 0xe203 , 0x1ed7 , 0x0000), // ỗ
// circonflexe & crochet en chef (0xe208)
DEADTRANS( 0x005e , 0x0309 , 0xe208 , 0x0001),
DEADTRANS( 0x0309 , L'^'  , 0xe208 , 0x0001),
DEADTRANS( L'A'  , 0xe208 , 0x1ea8 , 0x0000), //
DEADTRANS( L'a'  , 0xe208 , 0x1ea9 , 0x0000), // ẩ
DEADTRANS( L'E'  , 0xe208 , 0x1ec2 , 0x0000), //
DEADTRANS( L'e'  , 0xe208 , 0x1ec3 , 0x0000), //
DEADTRANS( L'O'  , 0xe208 , 0x1ed4 , 0x0000), //
DEADTRANS( L'o'  , 0xe208 , 0x1ed5 , 0x0000), //
// circonflexe & point souscrit (0xe20c)
DEADTRANS( 0x005e , 0x0323 , 0xe20c , 0x0001),
DEADTRANS( 0x0323 , 0x005e , 0xe20c , 0x0001),
DEADTRANS( L'A'  , 0xe20c , 0x1eac , 0x0000), //
DEADTRANS( L'a'  , 0xe20c , 0x1ead , 0x0000), //
DEADTRANS( L'E'  , 0xe20c , 0x1ec6 , 0x0000), // Ệ
DEADTRANS( L'e'  , 0xe20c , 0x1ec7 , 0x0000), // ệ
DEADTRANS( L'O'  , 0xe20c , 0x1ed8 , 0x0000), // Ộ
DEADTRANS( L'o'  , 0xe20c , 0x1ed9 , 0x0000), // ộ
// tilde & macron (0xe304)
DEADTRANS( 0x007e , 0x00af , 0xe304 , 0x0001),
DEADTRANS( 0x00af , 0x007e , 0xe304 , 0x0001),
DEADTRANS( 0x004f , 0xe304 , 0x022c , 0x0000), // Ȭ
DEADTRANS( 0x006f , 0xe304 , 0x022d , 0x0000), // ȭ
// tilde & brève (0xe305)
DEADTRANS( 0x007e , 0x02d8 , 0xe305 , 0x0001),
DEADTRANS( 0x02d8 , 0x007e , 0xe305 , 0x0001),
DEADTRANS( 0x0041 , 0xe305 , 0x1eb4 , 0x0000), //
DEADTRANS( 0x0061 , 0xe305 , 0x1eb5 , 0x0000), //
// tilde & tréma (0xe307)
DEADTRANS( 0x007e , 0x00a8 , 0xe307 , 0x0001),
DEADTRANS( 0x00a8 , 0x007e , 0xe307 , 0x0001),
DEADTRANS( L'O'  , 0xe307 , 0x1e4e , 0x0000), //
DEADTRANS( L'o'  , 0xe307 , 0x1e4f , 0x0000), //
// tilde & cornu (0xe30b)
DEADTRANS( 0x007e , 0x031b , 0xe30b , 0x0001),
DEADTRANS( 0x031b , 0x007e , 0xe30b , 0x0001),
DEADTRANS( 0x004f , 0xe30b , 0x1ee0 , 0x0000), //
DEADTRANS( 0x006f , 0xe30b , 0x1ee1 , 0x0000), //
DEADTRANS( 0x0055 , 0xe30b , 0x1eee , 0x0000), //
DEADTRANS( 0x0075 , 0xe30b , 0x1eef , 0x0000), //
// macron & point en chef (0xe406)
DEADTRANS( 0x00af , 0x02d9 , 0xe406 , 0x0001),
DEADTRANS( 0x02d9 , 0x00af , 0xe406 , 0x0001),
DEADTRANS( L'A'  , 0xe406 , 0x01e0 , 0x0000), // Ǡ
DEADTRANS( L'a'  , 0xe406 , 0x01e1 , 0x0000), // ǡ
DEADTRANS( L'O'  , 0xe406 , 0x0230 , 0x0000), // Ȱ
DEADTRANS( L'o'  , 0xe406 , 0x0231 , 0x0000), // ȱ
// macron + tréma (0xe407) (Ṻṻ sont différents de Ǖǖ sur 0xe704)
DEADTRANS( 0x00a8 , 0x00af , 0xe407 , 0x0001),
DEADTRANS( 0x0045 , 0xe407 , 0x01de , 0x0000), // Ǟ
DEADTRANS( 0x0061 , 0xe407 , 0x01df , 0x0000), // ǟ
DEADTRANS( 0x004f , 0xe407 , 0x022a , 0x0000), // Ȫ
DEADTRANS( 0x006f , 0xe407 , 0x022b , 0x0000), // ȫ
DEADTRANS( 0x0055 , 0xe407 , 0x1e7a , 0x0000), // Ṻ
DEADTRANS( 0x0077 , 0xe407 , 0x1e7b , 0x0000), // ṻ
// macron & point souscrit (0xe40c)
DEADTRANS( 0x00af , 0x0323 , 0xe40c , 0x0001),
DEADTRANS( 0x0323 , 0x00af , 0xe40c , 0x0001),
DEADTRANS( 0x004c , 0xe40c , 0x1e38 , 0x0000), // Ḹ
DEADTRANS( 0x006c , 0xe40c , 0x1e39 , 0x0000), // ḹ
DEADTRANS( 0x0052 , 0xe40c , 0x1e5c , 0x0000), // Ṝ
DEADTRANS( 0x0072 , 0xe40c , 0x1e5d , 0x0000), // Ṝ
// macron & ogonek(0xe40e)
DEADTRANS( 0x00af , 0x02db , 0xe40e , 0x0001),
DEADTRANS( 0x02db , 0x00af , 0xe40e , 0x0001),
DEADTRANS( 0x004f , 0xe40e , 0x01ec , 0x0000), // Ǭ
DEADTRANS( 0x006f , 0xe40e , 0x01ed , 0x0000), // ǭ
// macron & grec (0xe410)
DEADTRANS( 0x00af , 0x00b5 , 0xe410 , 0x0001),
DEADTRANS( 0x00b5 , 0x00af , 0xe410 , 0x0001),
DEADTRANS( 0x0041 , 0xe410 , 0x1fb9 , 0x0000), // Ᾱ
DEADTRANS( 0x0061 , 0xe410 , 0x1fb1 , 0x0000), // ᾱ
DEADTRANS( 0x0049 , 0xe410 , 0x1fd9 , 0x0000), // Ῑ
DEADTRANS( 0x0069 , 0xe410 , 0x1fd1 , 0x0000), // ῑ
DEADTRANS( 0x0055 , 0xe410 , 0x1fe9 , 0x0000), // Ῡ
DEADTRANS( 0x0075 , 0xe410 , 0x1fe1 , 0x0000), // ῡ
// brève & crochet en chef (0xe508)
DEADTRANS( 0x02d8 , 0x0309 , 0xe508 , 0x0001),
DEADTRANS( 0x0309 , 0x02d8 , 0xe508 , 0x0001),
DEADTRANS( 0x0041 , 0xe508 , 0x1eb2 , 0x0000), // Ẳ
DEADTRANS( 0x0061 , 0xe508 , 0x1eb3 , 0x0000), // ẳ
// brève & point souscrit (0xe50c)
DEADTRANS( 0x02d8 , 0x0323 , 0xe50c , 0x0001),
DEADTRANS( 0x0323 , 0x02d8 , 0xe50c , 0x0001),
DEADTRANS( 0x0041 , 0xe50c , 0x1eb6 , 0x0000), // Ặ
DEADTRANS( 0x0061 , 0xe50c , 0x1eb7 , 0x0000), //
// brève & cédille (0xe50d)
DEADTRANS( 0x02d8 , 0x00b8 , 0xe50d , 0x0001),
DEADTRANS( 0x00b8 , 0x02d8 , 0xe50d , 0x0001),
DEADTRANS( 0x0045 , 0xe50d , 0x1e1c , 0x0000), //
DEADTRANS( 0x0065 , 0xe50d , 0x1e1d , 0x0000), //
// point en chef & caron (0xe60a)
DEADTRANS( 0x02d9 , 0x02c7 , 0xe60a , 0x0001),
DEADTRANS( 0x02c7 , 0x02d9 , 0xe60a , 0x0001),
DEADTRANS( L'S'  , 0xe60a , 0x1e66 , 0x0000), //
DEADTRANS( L's'  , 0xe60a , 0x1e67 , 0x0000), //
// point en chef & point souscrit (0xe60c)
DEADTRANS( 0x0323 , 0x02d9 , 0xe60c , 0x0001),
DEADTRANS( 0x02d9 , 0x0323 , 0xe60c , 0x0001),
DEADTRANS( L'S'  , 0xe60c , 0x1e68 , 0x0000), //
DEADTRANS( L's'  , 0xe60c , 0x1e69 , 0x0000), //
// point en chef & barré (0xe60f)
DEADTRANS( L'/'  , 0x02d9 , 0xe60f , 0x0001),
DEADTRANS( 0x02d9 , L'/'  , 0xe60f , 0x0001),
DEADTRANS( L'j'  , 0xe60f , 0x025f , 0x0000), // ɟ
// tréma + macron (0xe704)
DEADTRANS( 0x00af , 0x00a8 , 0xe704 , 0x0001),
DEADTRANS( L'A'  , 0xe704 , 0x01de , 0x0000), // Ǟ
DEADTRANS( L'a'  , 0xe704 , 0x01df , 0x0000), // ǟ
DEADTRANS( L'O'  , 0xe704 , 0x022a , 0x0000), // Ȫ
DEADTRANS( L'o'  , 0xe704 , 0x022b , 0x0000), // ȫ
DEADTRANS( L'U'  , 0xe704 , 0x01d5 , 0x0000), // Ǖ
DEADTRANS( L'u'  , 0xe704 , 0x01d6 , 0x0000), // ǖ
// tréma & caron (0xe70a)
DEADTRANS( 0x00a8 , 0x02c7 , 0xe70a , 0x0001),
DEADTRANS( 0x02c7 , 0x00a8 , 0xe70a , 0x0001),
DEADTRANS( L'U'  , 0xe70a , 0x01d9 , 0x0000), // Ǚ
DEADTRANS( L'u'  , 0xe70a , 0x01da , 0x0000), // ǚ
// crochet & cornu (0xe80b)
DEADTRANS( 0x031b , 0x0309 , 0xe80b , 0x0001),
DEADTRANS( 0x0309 , 0x031b , 0xe80b , 0x0001),
DEADTRANS( 0x004f , 0xe80b , 0x1ede , 0x0000), //
DEADTRANS( 0x006f , 0xe80b , 0x1edf , 0x0000), //
DEADTRANS( 0x0055 , 0xe80b , 0x1eec , 0x0000), //
DEADTRANS( 0x0075 , 0xe80b , 0x1eed , 0x0000), //
// crochet & grec (0xe810)
DEADTRANS( 0x0309 , 0x00b5 , 0xe810 , 0x0001),
DEADTRANS( 0x00b5 , 0x0309 , 0xe810 , 0x0001),
DEADTRANS( 0x0055 , 0xe810 , 0x03d2 , 0x0000), // ϒ
// cornu & point souscrit (0xeb0c)
DEADTRANS( 0x031b , 0x0323 , 0xeb0c , 0x0001),
DEADTRANS( 0x0323 , 0x031b , 0xeb0c , 0x0001),
DEADTRANS( 0x004f , 0xeb0c , 0x1ee2 , 0x0000), //
DEADTRANS( 0x006f , 0xeb0c , 0x1ee3 , 0x0000), //
DEADTRANS( 0x0055 , 0xeb0c , 0x1ef0 , 0x0000), //
DEADTRANS( 0x0075 , 0xeb0c , 0x1ef1 , 0x0000), //
// barré & grec (0xef10)
DEADTRANS( 0x00b5 , L'/'  , 0xef10 , 0x0001),
DEADTRANS( 0x002f , 0x00b5 , 0xef10 , 0x0001),
DEADTRANS( 0x0069 , 0xef10 , 0x1d7c , 0x0000), //
</syntaxhighlight>


==Tilde==
== Références ==
<pre>
<references />
DEADKEY 007e // tilde
/0102 1eb4 // Ă -> Ẵ
/00c2 1eaa // Â -> Ẫ
0041 00c3 // A -> Ã
/0103 1eb5 // ă -> ẵ
/00e2 1eab // â -> ẫ
0061 00e3 // a -> ã
/00ca 1ec4 // Ê -> Ễ
0045 1ebc // E -> Ẽ
/00ea 1ec5 // ê -> ễ
0065 1ebd // e -> ẽ
0049 0128 // I -> Ĩ
0069 0129 // i -> ĩ
004e 00d1 // N -> Ñ
006e 00f1 // n -> ñ
/00d3 1e4c // Ó -> Ṍ
/00d4 1ed6 // Ô -> Ỗ
/00d6 1e4e // Ö -> Ṏ
//01a0 1ee0 // Ơ -> Ỡ
/014c 022c // Ō -> Ȭ
004f 00d5 // O -> Õ
/00f3 1e4d // ó -> ṍ
/00f4 1ed7 // ô -> ỗ
/00f6 1e4f // ö -> ṏ
//01a1 1ee1 // ơ -> ỡ
/014d 022d // ō -> ȭ
006f 00f5 // o -> õ
/00da 1e78 // Ú -> Ṹ
//01af 1eee // Ư -> Ữ
0055 0168 // U -> Ũ
/00fa 1e79 // ú ->
//01b0 1eef // ư -> ữ
0075 0169 // u -> ũ
0056 1e7c // V -> Ṽ
0076 1e7d // v -> ṽ
0059 1ef8 // Y -> Ỹ
0079 1ef9 // y -> ỹ
003d 2243 // = -> ≃
003c 2272 // < -> ≲
003e 2273 // > -> ≳
007e 007e // ~ -> ~
00a0 0303 //   -> ̃
0020 007e //  -> ~
</pre>
*16 / : tilde + accent aigu oOuU + brève aA + circonflexe aAeEoO + tréma oO + macron oO
*4 // : tilde + cornu oOuU

Dernière version du 13 juin 2014 à 10:55

Attention

Projet perso « enchainement de diacritiques » pour le pilote Windows bépo. La liste des définitions est disponible en bas de cette page. Reste à voir comment mettre ça sous forme de diff pour corriger la source générée par configGenerator. Il me semble aussi qu'on ne peut plus utiliser l'installeur de MSKLC, donc l'installation de ce type de pilote ressemblera pour commencer à celle du neo2 à savoir .dll+.reg (à documenter). Pour tester le pilote dans l’état actuel, écrasez la .dll du bépo-azerty (pilote x64).

Un peu plus d’une centaine de caractères ne sont toujours pas accessibles avec le pilote Windows pour bépo : les lignes qui les définissent peuvent être retirées du fichier klc généré par configGenerator sans effets sur les pilotes. Il est possible de définir ces combinaisons en utilisant les sources du pilote en C, cf. la liste en bas de page.

Tableau récapitulatif des combinaisons de deux touches mortes (double aigu, virgule souscrite et symboles monétaires n'ont pas de combinaisons) :

0  1   2   3   4   5   6   7   8   9   a   b   c   d   e   f   ?
Point en chef 0 · ṥṤ ṧṦ ǡǠ
ȱȰ
ɟ ṩṨ
Accent aigu 1 ṥṤ ·  ắẮ ḉḈ ấẤ
ếẾ
ốỐ
ḯḮ
ǘǗ
ḗḖ
ṓṒ
ǻǺ ǿǾ ṍṌ
ṹṸ
ớỚ
ứỨ
Brève 2 ắẮ ·  ḝḜ ằẰ ẵẴ ẳẲ ặẶ
Caron 3 ṧṦ · ǚǙ
Cédille 4 ḉḈ ḝḜ ·
Circonflexe 5 ấẤ
ếẾ
ốỐ
· ầẦ
ềỀ
ồỒ
ẫẪ
ễỄ
ỗỖ
ẩẨ
ểỂ
ổỔ
ậẬ
ệỆ
ộỘ
Tréma 6 ḯḮ
ǘǗ
ǚǙ · ǜǛ ǟǞ
ȫȪ
ǖǕ
ṏṎ
Accent grave 7 ằẰ ầẦ
ềỀ
ồỒ
ǜǛ · ḕḔ
ṑṐ
ờỜ
ừỪ
Macron 8 ǡǠ
ȱȰ
ḗḖ
ṓṒ
ǟǞ
ȫȪ
ṻṺ
ḕḔ
ṑṐ
· ǭǬ ȭȬ ḹḸ
ṝṜ
ᾱᾹ
ῑῙ
ῡῩ
Ogonek 9 ǭǬ ·
Rond en chef a ǻǺ ·
Barrés b ɟ ǿǾ · ϼ
Tilde c ṍṌ
ṹṸ
ẵẴ ẫẪ
ễỄ
ỗỖ
ṏṎ ȭȬ · ỡỠ
ữỮ
Cornu d ớỚ
ứỨ
ờỜ
ừỪ
ỡỠ
ữỮ
· ởỞ
ửỬ
ợỢ
ựỰ
Crochet e ẳẲ ẩẨ
ểỂ
ổỔ
ởỞ
ửỬ
· ϒ
Point-souscrit f ṩṨ ặẶ ậẬ
ệỆ
ộỘ
ḹḸ
ṝṜ
ợỢ
ựỰ
 ·
Letrre grecque ? ᾱᾹ
ῑῙ
ῡῩ
ϼ ϒ ·

Légende :

  • en bleu : combinaisons disponibles de manière plus simple (avec ÊÉÈêéèÀàÙùÆ挜Ççſ) ;
  • en vert : combinaisons dépendant de l'ordre des diacritiques ;

Méthode

Pour chaque touche morte, on définit d'abord le comportement avec espace, lors d'une double pression de la touche morte et avec l'espace insécable. Sous Windows : touche morte + entrée donne le caractère utilisé pour la touche morte (ce qui permet d'obtenir le rond en chef par exemple). Viennent ensuite les définitions pour les lettres de l'alphabet latin puis les combinaisons plus compliquées. Les combinaisons simples fonctionnent parfaitement avec le pilote actuel (touche morte + touche).

Pour les combinaisons de plusieurs touches on utilisera la zone à usage privé (e000–f8ff) d'Unicode : ces points de code servent pour les 38 touches mortes « intermédiaires ». En cas d'erreur de combinaison cela produit le caractère «  ». En reprenant le tableau croisé des touches mortes précédent, j'utilise un point de code ex0y avec x et y désignant les deux touches mortes. Vu le fonctionnement (ex0y=ey0x), on décrira seulement la partie supérieure du tableau (la partie inférieure étant identique sauf 704/407). Petit problème, en hexa on a 16 valeurs possibles donc il faudra trouver encore trois points de code pour les combinaisons avec le grec (moins intuitif que le reste du tableau du coup mais bon… pas trop l'choix).

x\y Unicode 0xe...  0   1   2   3   4   5  6   7   8   9   a   b   c   d   e   f   ¡ 
0 Accent grave X 002 004 005 007 00b
1 Accent aigu X 102 103 104 105 106 107 109 10b 10d 10f
2 Accent circonflexe 200 201 X 203 208 20c
3 Tilde 301 302 X 304 305 307 30b
4 Macron 400 401 403 X 406 407 40c 40e 410
5 Brève 500 501 503 X 508 50c 50d
6 Point en chef 601 604 X 60a 60c 60f
7 Tréma 700 701 703 704 X 70a
8 Crochet en chef 802 805 X 80b 810
9 Rond en chef 901 X
a Caron a06 a07 X
b Cornu b00 b01 b03 b08 X b0c
c Point souscrit c02 c04 c05 c06 c0b X
d Cédille d01 d05 X
e Ogonek e04 X
f Barré f01 f06 X f10
¡ Grec 014 018 01f X
  • Aigu[1] : ṥṤ ắẮ ḉḈ ấẤếẾốỐ ḯḮǘǗ ḗḖṓṒ ǻǺ ǿǾ ṍṌṹṸ ớỚứỨ
  • Brève : ắẮ ḝḜ ằẰ ẵẴ ẳẲ ặẶ
  • Point en chef : ṥṤ ṧṦ ǡǠȱȰ ṩṨ ɟ
  • Caron : ṧṦ ǚǙ
  • Cédille : ḉḈ ḝḜ
  • Circonflexe : ấẤếẾốỐ ầẦềỀồỒ ẫẪễỄỗỖ ẩẨểỂổỔ ậẬệỆộỘ
  • Tréma : ḯḮǘǗ ǚǙ ǜǛ ǟǞȫȪǖǕ ṏṎ
  • Accent grave : ằẰ ầẦ ềỀ ồỒ ǜǛ ḕḔ ṑṐ ờỜừỪ
  • Macron : ǡǠȱȰ ḗḖṓṒ ǟǞȫȪṻṺ ḕḔṑṐ ǭǬ ȭȬ ḹḸṝṜ ᾱᾹῑῙῡῩ
  • Ogonek : Ǭǭ
  • Rond en chef : ǻǺ
  • Barrés : ɟ ǿǾ
  • Tilde : ṍṌṹṸ ẵẴ ẫẪễỄỗỖ ṏṎ ȭȬ ỡỠữỮ
  • Cornu : ỚớỨứ ỜờỪừ ỢợỰự ỞởỬử ỠỡỮữ
  • Crochet : ẳẲ ẩẨểỂổỔ ởỞửỬ ϒ ʄ
  • Point souscrit : ṩṨ ặẶ ậẬệỆộỘ ḹḸṝṜ ợỢựỰ

Notes et remarques

Ajouts possibles

Penser à vérifier l'homogénéïté des pilotes

// 	DEADTRANS( L'n'   , L'^'   , 0x207f , 0x0000),	// exposant n (du Neo2 ?)
//- Combinaison de 3 touches mortes : J dotless with stroke and hook :
//	DEADTRANS( 0x025f , 0x0309 , 0x0284 , 0x0000),	// ɟ -> ʄ > combinaison de 3 touches 
// 03D3    GREEK UPSILON WITH ACUTE AND HOOK SYMBOL	// combinaison de 4 touches 
//  0351    COMBINING LEFT HALF RING ABOVE		(
// 0357    COMBINING RIGHT HALF RING ABOVE		)
// 212B    ANGSTROM SIGN
// 2E1B    TILDE WITH RING ABOVE  > combinaison + espace ?
//- « doubles touches mortes » combinantes qu'on pourrait avoir 
// 1DCB    COMBINING BREVE-MACRON > combinaison + nbsp ?
// 1DCC    COMBINING MACRON-BREVE
// 035D    COMBINING DOUBLE BREVE 
// 0312    COMBINING TURNED COMMA ABOVE ̒
// indices : (du neo2) x possible mais pas a/e déjà définis êâ, ce serait déjà bien d'avoir l'exposant e :
//	DEADTRANS( L'a'   , 0x02c7 , 0x2090 , 0x0000),
//	DEADTRANS( L'e'   , 0x02c7 , 0x2091 , 0x0000),
//	DEADTRANS( L'x'   , 0x02c7 , 0x2093 , 0x0000),
//  	DEADTRANS( 0x00d7 , 0x02d9 , 0x2a30 , 0x0000),	// × -> ⨰ MULTIPLICATION SIGN WITH DOT ABOVE 
//  	DEADTRANS( 0x007e , 0x02d9 , 0x2e1e , 0x0000),	// ~ -> ⸞ TILDE WITH DOT ABOVE

Accessibilité des combinaisons

Une petite idée à propos l'accessibilité des combinaisons ci-dessous : on peut faciliter la saisie de certains caractères en remplissant les définitions non utilisée. Je pense par exemple à un compose en clavier bépo^+clavier bépov, en redondance avec un éventuel clavier bépoAltGr+clavier bépoMaj+clavier bépoê. De même on peut faciliter les enchainements de touches mortes quand l'une est en clavier bépoAltGr l’autre non (ça plus le caractère), fonction des combinaisons existantes. Le poids de ces doubles combinaisons n'a jamais été pris en compte dans le placement des touches mortes et cela se ressent pour taper certains caractères. Enfin pour être précis, il faudrait savoir quantifier la fréquence de ces caractères, savoir si l'on veut faciliter l'accès aux plus utiles.

Définitions pour le fichier source

//-Touches mortes multiples
// accent grave & circonflexe (0xe002)
	DEADTRANS( 0x0060 , L'^'   , 0xe002 , 0x0001),
	DEADTRANS( 0x005e , L'`'   , 0xe002 , 0x0001),	
	DEADTRANS( L'A'   , 0xe002 , 0x1ea6 , 0x0000),	// Ầ
	DEADTRANS( L'a'   , 0xe002 , 0x1ea7 , 0x0000),	// ầ
	DEADTRANS( L'E'   , 0xe002 , 0x1ec0 , 0x0000),	// Ề
	DEADTRANS( L'e'   , 0xe002 , 0x1ec1 , 0x0000),	// ề
	DEADTRANS( L'O'   , 0xe002 , 0x1ed2 , 0x0000),	// Ồ
	DEADTRANS( L'o'   , 0xe002 , 0x1ed3 , 0x0000),	// ồ
// accent grave & macron (0xe004)
	DEADTRANS( 0x0060 , 0x00af , 0xe004 , 0x0001),
	DEADTRANS( 0x00af , L'`'   , 0xe004 , 0x0001),	
	DEADTRANS( L'E'   , 0xe004 , 0x1e14 , 0x0000),	// Ḕ
	DEADTRANS( L'e'   , 0xe004 , 0x1e15 , 0x0000),	// ḕ
	DEADTRANS( L'O'   , 0xe004 , 0x1e50 , 0x0000),	// Ṑ
	DEADTRANS( L'o'   , 0xe004 , 0x1e51 , 0x0000),	// ṑ
// accent grave & brève (0xe005)	
	DEADTRANS( 0x0060 , 0x02d8 , 0xe005 , 0x0001),
	DEADTRANS( 0x02d8 , L'`'   , 0xe005 , 0x0001),
	DEADTRANS( 0x0041 , 0xe005 , 0x1eb0 , 0x0000),	// Ằ
	DEADTRANS( 0x0061 , 0xe005 , 0x1eb1 , 0x0000),	// ằ
// accent grave & tréma (0xe007)
	DEADTRANS( 0x0060 , 0x00a8 , 0xe007 , 0x0001),
	DEADTRANS( 0x00a8 , L'`'   , 0xe007 , 0x0001),
	DEADTRANS( L'U'   , 0xe007 , 0x01db , 0x0000),	// Ǜ
	DEADTRANS( L'u'   , 0xe007 , 0x01dc , 0x0000),	// ǜ
// accent grave & cornu (0xe00b)
	DEADTRANS( 0x0060 , 0x031b , 0xe00b , 0x0001),
	DEADTRANS( 0x031b , L'`'   , 0xe00b , 0x0001),
	DEADTRANS( L'O'   , 0xe00b , 0x1edc , 0x0000),	// Ờ
	DEADTRANS( L'o'   , 0xe00b , 0x1edd , 0x0000),	// ờ
	DEADTRANS( L'U'   , 0xe00b , 0x1eea , 0x0000),	// Ừ
	DEADTRANS( L'u'   , 0xe00b , 0x1eeb , 0x0000),	// ừ
// accent aigu & circonflexe (0xe102)	
	DEADTRANS( 0x00b4 , 0x005e , 0xe102 , 0x0001),
	DEADTRANS( 0x005e , 0x00b4 , 0xe102 , 0x0001),
	DEADTRANS( 0x0041 , 0xe102 , 0x1ea4 , 0x0000),	// Ấ
	DEADTRANS( 0x0061 , 0xe102 , 0x1ea5 , 0x0000),	// ấ
	DEADTRANS( 0x0045 , 0xe102 , 0x1ebe , 0x0000),	// Ế
	DEADTRANS( 0x0065 , 0xe102 , 0x1ebf , 0x0000),	// ế
	DEADTRANS( 0x004f , 0xe102 , 0x1ed0 , 0x0000),	// Ố
	DEADTRANS( 0x006f , 0xe102 , 0x1ed1 , 0x0000),	// ố
// accent aigu & tilde (0xe103)
	DEADTRANS( 0x00b4 , 0x007e , 0xe103 , 0x0001),	
	DEADTRANS( 0x007e , 0x00b4 , 0xe103 , 0x0001),	
	DEADTRANS( 0x004f , 0xe103 , 0x1e4c , 0x0000),	// Ṍ
	DEADTRANS( 0x006f , 0xe103 , 0x1e4d , 0x0000),	// ṍ
	DEADTRANS( 0x0055 , 0xe103 , 0x1e78 , 0x0000),	// Ṹ
	DEADTRANS( 0x0075 , 0xe103 , 0x1e79 , 0x0000),	// ṹ
// accent aigu & macron (0xe104)
	DEADTRANS( 0x00b4 , 0x00af , 0xe104 , 0x0001),
	DEADTRANS( 0x00af , 0x00b4 , 0xe104 , 0x0001),
	DEADTRANS( 0x0045 , 0xe104 , 0x1e16 , 0x0000),	// Ḗ
	DEADTRANS( 0x0065 , 0xe104 , 0x1e17 , 0x0000),	// ḗ
	DEADTRANS( 0x004f , 0xe104 , 0x1e52 , 0x0000),	// Ṓ
	DEADTRANS( 0x006f , 0xe104 , 0x1e53 , 0x0000),	// ṓ
// accent aigu & brève (0xe105)
	DEADTRANS( 0x00b4 , 0x02d8 , 0xe105 , 0x0001),	
	DEADTRANS( 0x02d8 , 0x00b4 , 0xe105 , 0x0001),
	DEADTRANS( 0x0041 , 0xe105 , 0x1eae , 0x0000),	// Ắ
	DEADTRANS( 0x0061 , 0xe105 , 0x1eaf , 0x0000),	// ắ
// accent aigu & point en chef (0xe106)
	DEADTRANS( 0x00b4 , 0x02d9 , 0xe106 , 0x0001),
	DEADTRANS( 0x02d9 , 0x00b4 , 0xe106 , 0x0001),	
	DEADTRANS( 0x0053 , 0xe106 , 0x1e64 , 0x0000),	// Ṥ
	DEADTRANS( 0x0073 , 0xe106 , 0x1e65 , 0x0000),	// ṥ	
// accent aigu & tréma (0xe107)
	DEADTRANS( 0x00b4 , 0x00a8 , 0xe107 , 0x0001),
	DEADTRANS( 0x00a8 , 0x00b4 , 0xe107 , 0x0001),	
	DEADTRANS( 0x0049 , 0xe107 , 0x1e2e , 0x0000),	// Ḯ
	DEADTRANS( 0x0069 , 0xe107 , 0x1e2f , 0x0000),	// ḯ
	DEADTRANS( 0x0055 , 0xe107 , 0x01d7 , 0x0000),	// Ǘ
	DEADTRANS( 0x0075 , 0xe107 , 0x01d8 , 0x0000),	// ǘ
// accent aigu & rond en chef (0xe109)
	DEADTRANS( 0x00b4 , 0x02da , 0xe109 , 0x0001),
	DEADTRANS( 0x02da , 0x00b4 , 0xe109 , 0x0001),
	DEADTRANS( 0x0041 , 0xe109 , 0x01fa , 0x0000),	// Ǻ
	DEADTRANS( 0x0061 , 0xe109 , 0x01fb , 0x0000),	// ǻ
// accent aigu & cornu (0xe10b)
	DEADTRANS( 0x00b4 , 0x031b , 0xe10b , 0x0001),
	DEADTRANS( 0x031b , 0x00b4 , 0xe10b , 0x0001),	
	DEADTRANS( 0x004f , 0xe10b , 0x1eda , 0x0000),	// Ớ
	DEADTRANS( 0x006f , 0xe10b , 0x1edb , 0x0000),	// ớ
	DEADTRANS( 0x0055 , 0xe10b , 0x1ee8 , 0x0000),	// Ứ
	DEADTRANS( 0x0075 , 0xe10b , 0x1ee9 , 0x0000),	// ứ
// accent aigu & cédille (0xe10d)
	DEADTRANS( 0x00b4 , 0x00b8 , 0xe10d , 0x0001),
	DEADTRANS( 0x00b8 , 0x00b4 , 0xe10d , 0x0001),
	DEADTRANS( 0x0043 , 0xe10d , 0x1e08 , 0x0000),	// Ḉ
	DEADTRANS( 0x0063 , 0xe10d , 0x1e09 , 0x0000),	// ḉ
// accent aigu & barré (0xe10f)	
	DEADTRANS( 0x00b4 , L'/'   , 0xe10f , 0x0001),
	DEADTRANS( 0x002f , 0x00b4 , 0xe10f , 0x0001),
	DEADTRANS( 0x004f , 0xe10f , 0x01fe , 0x0000),	// Ǿ
	DEADTRANS( 0x006f , 0xe10f , 0x01ff , 0x0000),	// ǿ
// circonflexe & tilde (0xe203)
	DEADTRANS( 0x005e , 0x007e , 0xe203 , 0x0001),
	DEADTRANS( 0x007e , L'^'   , 0xe203 , 0x0001),
	DEADTRANS( L'A'   , 0xe203 , 0x1eaa , 0x0000),	// Ẫ
	DEADTRANS( L'a'   , 0xe203 , 0x1eab , 0x0000),	// ẫ
	DEADTRANS( L'E'   , 0xe203 , 0x1ec4 , 0x0000),	// Ễ
	DEADTRANS( L'e'   , 0xe203 , 0x1ec5 , 0x0000),	// ễ
	DEADTRANS( L'O'   , 0xe203 , 0x1ed6 , 0x0000),	// Ỗ
	DEADTRANS( L'o'   , 0xe203 , 0x1ed7 , 0x0000),	// ỗ
// circonflexe & crochet en chef (0xe208)	
	DEADTRANS( 0x005e , 0x0309 , 0xe208 , 0x0001),
	DEADTRANS( 0x0309 , L'^'   , 0xe208 , 0x0001),
	DEADTRANS( L'A'   , 0xe208 , 0x1ea8 , 0x0000),	// Ẩ
	DEADTRANS( L'a'   , 0xe208 , 0x1ea9 , 0x0000),	// ẩ
	DEADTRANS( L'E'   , 0xe208 , 0x1ec2 , 0x0000),	// Ể
	DEADTRANS( L'e'   , 0xe208 , 0x1ec3 , 0x0000),	// ể
	DEADTRANS( L'O'   , 0xe208 , 0x1ed4 , 0x0000),	// Ổ
	DEADTRANS( L'o'   , 0xe208 , 0x1ed5 , 0x0000),	// ổ
// circonflexe & point souscrit (0xe20c)
	DEADTRANS( 0x005e , 0x0323 , 0xe20c , 0x0001),
	DEADTRANS( 0x0323 , 0x005e , 0xe20c , 0x0001),
	DEADTRANS( L'A'   , 0xe20c , 0x1eac , 0x0000),	// Ậ
	DEADTRANS( L'a'   , 0xe20c , 0x1ead , 0x0000),	// ậ
	DEADTRANS( L'E'   , 0xe20c , 0x1ec6 , 0x0000),	// Ệ
	DEADTRANS( L'e'   , 0xe20c , 0x1ec7 , 0x0000),	// ệ
	DEADTRANS( L'O'   , 0xe20c , 0x1ed8 , 0x0000),	// Ộ
	DEADTRANS( L'o'   , 0xe20c , 0x1ed9 , 0x0000),	// ộ
// tilde & macron (0xe304)
	DEADTRANS( 0x007e , 0x00af , 0xe304 , 0x0001),	
	DEADTRANS( 0x00af , 0x007e , 0xe304 , 0x0001),
	DEADTRANS( 0x004f , 0xe304 , 0x022c , 0x0000),	// Ȭ
	DEADTRANS( 0x006f , 0xe304 , 0x022d , 0x0000),	// ȭ	
// tilde & brève (0xe305)
	DEADTRANS( 0x007e , 0x02d8 , 0xe305 , 0x0001),
	DEADTRANS( 0x02d8 , 0x007e , 0xe305 , 0x0001),
	DEADTRANS( 0x0041 , 0xe305 , 0x1eb4 , 0x0000),	// Ẵ
	DEADTRANS( 0x0061 , 0xe305 , 0x1eb5 , 0x0000),	// ẵ
// tilde & tréma (0xe307)
	DEADTRANS( 0x007e , 0x00a8 , 0xe307 , 0x0001),	
	DEADTRANS( 0x00a8 , 0x007e , 0xe307 , 0x0001),
	DEADTRANS( L'O'   , 0xe307 , 0x1e4e , 0x0000),	// Ṏ
	DEADTRANS( L'o'   , 0xe307 , 0x1e4f , 0x0000),	// ṏ
// tilde & cornu (0xe30b)	
	DEADTRANS( 0x007e , 0x031b , 0xe30b , 0x0001),
	DEADTRANS( 0x031b , 0x007e , 0xe30b , 0x0001),
	DEADTRANS( 0x004f , 0xe30b , 0x1ee0 , 0x0000),	// Ỡ
	DEADTRANS( 0x006f , 0xe30b , 0x1ee1 , 0x0000),	// ỡ
	DEADTRANS( 0x0055 , 0xe30b , 0x1eee , 0x0000),	// Ữ
	DEADTRANS( 0x0075 , 0xe30b , 0x1eef , 0x0000),	// ữ	
// macron & point en chef (0xe406)
	DEADTRANS( 0x00af , 0x02d9 , 0xe406 , 0x0001),
	DEADTRANS( 0x02d9 , 0x00af , 0xe406 , 0x0001),
	DEADTRANS( L'A'   , 0xe406 , 0x01e0 , 0x0000),	// Ǡ
	DEADTRANS( L'a'   , 0xe406 , 0x01e1 , 0x0000),	// ǡ
	DEADTRANS( L'O'   , 0xe406 , 0x0230 , 0x0000),	// Ȱ
	DEADTRANS( L'o'   , 0xe406 , 0x0231 , 0x0000),	// ȱ
// macron + tréma (0xe407) (Ṻṻ sont différents de Ǖǖ sur 0xe704)
	DEADTRANS( 0x00a8 , 0x00af , 0xe407 , 0x0001),	
	DEADTRANS( 0x0045 , 0xe407 , 0x01de , 0x0000),	// Ǟ
	DEADTRANS( 0x0061 , 0xe407 , 0x01df , 0x0000),	// ǟ
	DEADTRANS( 0x004f , 0xe407 , 0x022a , 0x0000),	// Ȫ
	DEADTRANS( 0x006f , 0xe407 , 0x022b , 0x0000),	// ȫ
	DEADTRANS( 0x0055 , 0xe407 , 0x1e7a , 0x0000),	// Ṻ
	DEADTRANS( 0x0077 , 0xe407 , 0x1e7b , 0x0000),	// ṻ
// macron & point souscrit (0xe40c)
	DEADTRANS( 0x00af , 0x0323 , 0xe40c , 0x0001),
	DEADTRANS( 0x0323 , 0x00af , 0xe40c , 0x0001),
	DEADTRANS( 0x004c , 0xe40c , 0x1e38 , 0x0000),	// Ḹ
	DEADTRANS( 0x006c , 0xe40c , 0x1e39 , 0x0000),	// ḹ
	DEADTRANS( 0x0052 , 0xe40c , 0x1e5c , 0x0000),	// Ṝ
	DEADTRANS( 0x0072 , 0xe40c , 0x1e5d , 0x0000),	// Ṝ
// macron & ogonek(0xe40e)	
	DEADTRANS( 0x00af , 0x02db , 0xe40e , 0x0001),
	DEADTRANS( 0x02db , 0x00af , 0xe40e , 0x0001),
	DEADTRANS( 0x004f , 0xe40e , 0x01ec , 0x0000),	// Ǭ
	DEADTRANS( 0x006f , 0xe40e , 0x01ed , 0x0000),	// ǭ
// macron & grec (0xe410)
	DEADTRANS( 0x00af , 0x00b5 , 0xe410 , 0x0001),	
	DEADTRANS( 0x00b5 , 0x00af , 0xe410 , 0x0001),	
	DEADTRANS( 0x0041 , 0xe410 , 0x1fb9 , 0x0000),	// Ᾱ
	DEADTRANS( 0x0061 , 0xe410 , 0x1fb1 , 0x0000),	// ᾱ
	DEADTRANS( 0x0049 , 0xe410 , 0x1fd9 , 0x0000),	// Ῑ
	DEADTRANS( 0x0069 , 0xe410 , 0x1fd1 , 0x0000),	// ῑ
	DEADTRANS( 0x0055 , 0xe410 , 0x1fe9 , 0x0000),	// Ῡ
	DEADTRANS( 0x0075 , 0xe410 , 0x1fe1 , 0x0000),	// ῡ
// brève & crochet en chef (0xe508)
	DEADTRANS( 0x02d8 , 0x0309 , 0xe508 , 0x0001),
	DEADTRANS( 0x0309 , 0x02d8 , 0xe508 , 0x0001),	
	DEADTRANS( 0x0041 , 0xe508 , 0x1eb2 , 0x0000),	// Ẳ
	DEADTRANS( 0x0061 , 0xe508 , 0x1eb3 , 0x0000),	// ẳ
// brève & point souscrit (0xe50c)
	DEADTRANS( 0x02d8 , 0x0323 , 0xe50c , 0x0001),
	DEADTRANS( 0x0323 , 0x02d8 , 0xe50c , 0x0001),	
	DEADTRANS( 0x0041 , 0xe50c , 0x1eb6 , 0x0000),	// Ặ
	DEADTRANS( 0x0061 , 0xe50c , 0x1eb7 , 0x0000),	// ặ
// brève & cédille (0xe50d)
	DEADTRANS( 0x02d8 , 0x00b8 , 0xe50d , 0x0001),
	DEADTRANS( 0x00b8 , 0x02d8 , 0xe50d , 0x0001),
	DEADTRANS( 0x0045 , 0xe50d , 0x1e1c , 0x0000),	// Ḝ
	DEADTRANS( 0x0065 , 0xe50d , 0x1e1d , 0x0000),	// ḝ
	
// point en chef & caron (0xe60a)
	DEADTRANS( 0x02d9 , 0x02c7 , 0xe60a , 0x0001),
	DEADTRANS( 0x02c7 , 0x02d9 , 0xe60a , 0x0001),
	DEADTRANS( L'S'   , 0xe60a , 0x1e66 , 0x0000),	// Ṧ
	DEADTRANS( L's'   , 0xe60a , 0x1e67 , 0x0000),	// ṧ
// point en chef & point souscrit (0xe60c)
	DEADTRANS( 0x0323 , 0x02d9 , 0xe60c , 0x0001),
	DEADTRANS( 0x02d9 , 0x0323 , 0xe60c , 0x0001),	
	DEADTRANS( L'S'   , 0xe60c , 0x1e68 , 0x0000),	// Ṩ
	DEADTRANS( L's'   , 0xe60c , 0x1e69 , 0x0000),	// ṩ
// point en chef & barré (0xe60f)
	DEADTRANS( L'/'   , 0x02d9 , 0xe60f , 0x0001),
	DEADTRANS( 0x02d9 , L'/'   , 0xe60f , 0x0001),
	DEADTRANS( L'j'   , 0xe60f , 0x025f , 0x0000),	// ɟ
// tréma + macron (0xe704)
	DEADTRANS( 0x00af , 0x00a8 , 0xe704 , 0x0001),
	DEADTRANS( L'A'   , 0xe704 , 0x01de , 0x0000),	// Ǟ
	DEADTRANS( L'a'   , 0xe704 , 0x01df , 0x0000),	// ǟ
	DEADTRANS( L'O'   , 0xe704 , 0x022a , 0x0000),	// Ȫ
	DEADTRANS( L'o'   , 0xe704 , 0x022b , 0x0000),	// ȫ
	DEADTRANS( L'U'   , 0xe704 , 0x01d5 , 0x0000),	// Ǖ 
	DEADTRANS( L'u'   , 0xe704 , 0x01d6 , 0x0000),	// ǖ	
// tréma & caron (0xe70a)
	DEADTRANS( 0x00a8 , 0x02c7 , 0xe70a , 0x0001),
	DEADTRANS( 0x02c7 , 0x00a8 , 0xe70a , 0x0001),
	DEADTRANS( L'U'   , 0xe70a , 0x01d9 , 0x0000),	// Ǚ
	DEADTRANS( L'u'   , 0xe70a , 0x01da , 0x0000),	// ǚ
// crochet & cornu (0xe80b)
	DEADTRANS( 0x031b , 0x0309 , 0xe80b , 0x0001),
	DEADTRANS( 0x0309 , 0x031b , 0xe80b , 0x0001),
	DEADTRANS( 0x004f , 0xe80b , 0x1ede , 0x0000),	// Ở
	DEADTRANS( 0x006f , 0xe80b , 0x1edf , 0x0000),	// ở
	DEADTRANS( 0x0055 , 0xe80b , 0x1eec , 0x0000),	// Ử
	DEADTRANS( 0x0075 , 0xe80b , 0x1eed , 0x0000),	// ử
// crochet & grec (0xe810)
	DEADTRANS( 0x0309 , 0x00b5 , 0xe810 , 0x0001),
	DEADTRANS( 0x00b5 , 0x0309 , 0xe810 , 0x0001),
	DEADTRANS( 0x0055 , 0xe810 , 0x03d2 , 0x0000),	// ϒ
// cornu & point souscrit (0xeb0c)
	DEADTRANS( 0x031b , 0x0323 , 0xeb0c , 0x0001),	
	DEADTRANS( 0x0323 , 0x031b , 0xeb0c , 0x0001),
	DEADTRANS( 0x004f , 0xeb0c , 0x1ee2 , 0x0000),	// Ợ
	DEADTRANS( 0x006f , 0xeb0c , 0x1ee3 , 0x0000),	// ợ
	DEADTRANS( 0x0055 , 0xeb0c , 0x1ef0 , 0x0000),	// Ự
	DEADTRANS( 0x0075 , 0xeb0c , 0x1ef1 , 0x0000),	// ự
// barré & grec (0xef10)
	DEADTRANS( 0x00b5 , L'/'   , 0xef10 , 0x0001),
	DEADTRANS( 0x002f , 0x00b5 , 0xef10 , 0x0001),
	DEADTRANS( 0x0069 , 0xef10 , 0x1d7c , 0x0000),	// ᵼ

Références

  1. ǽ et Ǽ sont accessibles avec clavier bépo´+clavier bépoæ et clavier bépo´+clavier bépoÆ. Impossible de définir clavier bépo´+clavier bépoa+clavier bépoe et clavier bépo´+clavier bépoA+clavier bépoE à cause des définitions de á et Á.