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

De Disposition de clavier bépo
m (correction de «pas de balise <reference /> sur la page»)
 
(23 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}}
{{sommaire à droite}}
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.
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 deu deux touches mortes :
Tableau récapitulatif des combinaisons de deux touches mortes (double aigu, virgule souscrite et symboles monétaires n'ont pas de combinaisons) :
{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
|-
|-
! 0xe{{B|x}}0{{R|y}} !! {{B|x}}\{{R|y}} !! 0 !! 1 !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 !! 8 !! 9 !! a !! b !! c !! d !! e !! f !! ?
! !! !! 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 || '''0''' || · ||  ṥṤ ||  ||  ṧṦ ||  ||  ||  ||  ||  ǡǠ<br>ȱȰ ||  ||  || {{R| ɟ}} ||  ||  ||  || ṩṨ ||
| align="left"|Point en chef || '''0''' || · ||  ṥṤ ||  ||  ṧṦ ||  ||  ||  ||  ||  ǡǠ<br>ȱȰ ||  ||  || ɟ  ||  ||  ||  || ṩṨ ||
|- align="center"
|- align="center"
| align="left"|Accent aigu || '''1''' || ṥṤ || · || ắẮ ||  || {{B|ḉḈ}}  || ấẤ<br>{{B|ếẾ}}<br>ốỐ || ḯḮ<br>ǘǗ ||  || ḗḖ<br>ṓṒ ||  || ǻǺ || ǿǾ || ṍṌ<br>ṹṸ || ớỚ<br>ứỨ ||  ||  ||
| align="left"|Accent aigu || '''1''' || ṥṤ || · || ắẮ ||  || {{B|ḉḈ}}  || ấẤ<br>{{B|ếẾ}}<br>ốỐ || ḯḮ<br>ǘǗ ||  || ḗḖ<br>ṓṒ ||  || ǻǺ || ǿǾ || ṍṌ<br>ṹṸ || ớỚ<br>ứỨ ||  ||  ||
Ligne 38 : Ligne 38 :
| align="left"|Crochet || '''e''' ||  ||  || ẳẲ ||  ||  || ẩẨ<br>{{B|ểỂ}}<br>ổỔ ||  ||  ||  ||  ||  ||  ||  || ởỞ<br>ửỬ || · ||  || ϒ
| align="left"|Crochet || '''e''' ||  ||  || ẳẲ ||  ||  || ẩẨ<br>{{B|ểỂ}}<br>ổỔ ||  ||  ||  ||  ||  ||  ||  || ởỞ<br>ửỬ || · ||  || ϒ
|- align="center"
|- align="center"
| align="left"|Point-souscrit || '''f''' || ṩṨ ||  || ặẶ ||  ||  || ậẬ<br>{{B|ệỆ}}<br>ộỘ ||  ||  ||  {{R|ḹḸ<br>ṝṜ}} ||  ||  ||  ||  || ợỢ<br>ựỰ ||  || · ||
| align="left"|Point-souscrit || '''f''' || ṩṨ ||  || ặẶ ||  ||  || ậẬ<br>{{B|ệỆ}}<br>ộỘ ||  ||  ||  ḹḸ<br>ṝṜ ||  ||  ||  ||  || ợỢ<br>ựỰ ||  || · ||
|- align="center"
|- align="center"
| align="left"|Letrre grecque || '''?''' ||  ||  ||  ||  ||  ||  ||  ||  || ᾱᾹ<br>ῑῙ<br>ῡῩ ||  ||  || ϼ ||  ||  || ϒ ||  || ·
| align="left"|Letrre grecque || '''?''' ||  ||  ||  ||  ||  ||  ||  ||  || ᾱᾹ<br>ῑῙ<br>ῡῩ ||  ||  || ϼ ||  ||  || ϒ ||  || ·
Ligne 44 : Ligne 44 :


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 combinaisons : double aigu, virgule souscrite, symboles monétaires.
 
Toutes les combaisons fonctionnent avec le [[Windows portable|pilote portable]] (pkl).


== Méthode ==
== 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 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 prenant le tableau croisé des touches mortes précédent comme tel, j'utilise un point de code e{{B|x}}0{{R|y}} avec {{B|x}} et {{R|y}} désignant les deux touches mortes, on décrira seulement la partie inférieure du tableau (la partie supérieure étant identique sauf pour quelques cas). 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).
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).


Les combinaisons avec une étoile « * » en commentaire sont accessibles de manière plus simple grâce aux caracatères en accès direct êàùæœçſ.
{| border =1 class=wikitable align=center width=80%
|-  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 || ¡ 
|- align="center"
| 0|| align=left | Accent grave||X||||002||||004||005||||007||||||||00b||||||||||
|- align="center"
| 1|| align=left | Accent aigu||||X||102||103||104||105||106||107||||109||||10b||||10d||||10f||
|- align="center"
| 2|| align=left | Accent circonflexe||200||201||X||203||||||||||208||||||||20c||||||||
|- align="center"
| 3|| align=left | Tilde||||301||302||X||304||305||||307||||||||30b||||||||||
|- align="center"
| 4|| align=left | Macron||400||401||||403||X||||406||{{V|407}}||||||||||40c||||40e||||410
|- align="center"
| 5|| align=left | Brève||500||501||||503||||X||||||508||||||||50c||50d||||||
|- align="center"
| 6|| align=left | Point en chef||||601||||||604||||X||||||||60a||||60c||||||60f||
|- align="center"
| 7|| align=left | Tréma||700||701||||703||{{V|704}}||||||X||||||70a||||||||||||
|- align="center"
| 8|| align=left | Crochet en chef||||||802||||||805||||||X||||||80b||||||||||810
|- align="center"
| 9|| align=left | Rond en chef||||901||||||||||||||||X||||||||||||||
|- align="center"
| a|| align=left | Caron||||||||||||||a06||a07||||||X||||||||||||
|- align="center"
| b|| align=left | Cornu||b00||b01||||b03||||||||||b08||||||X||b0c||||||||
|- align="center"
| c|| align=left | Point souscrit||||||c02||||c04||c05||c06||||||||||c0b||X||||||||
|- align="center"
| d|| align=left | Cédille||||d01||||||||d05||||||||||||||||X||||||
|- align="center"
| e|| align=left | Ogonek||||||||||e04||||||||||||||||||||X||||
|- align="center"
| f|| align=left | Barré||||f01||||||||||f06||||||||||||||||||X||f10
|- align="center"
| ¡|| align=left | Grec||||||||||014||||||||018||||||||||||||01f||X
|}


== TODO ==
*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|ếẾ}}ốỐ ḯḮǘǗ ḗḖṓṒ ǻǺ ǿǾ ṍṌṹṸ ớỚứỨ
*utiliser des points de code ex0y plus intuitif pour retrouver la combinaison dans le tableau
*Brève : ắẮ ḝḜ {{B|ằẰ}} ẵẴ ẳẲ ặẶ
*réorganiser les définitions non par touche morte mais par combinaison
*Point en chef : ṥṤ ṧṦ ǡǠȱȰ ṩṨ ɟ
*les définitions des 3 touches mortes : macron, point souscrit, grec
*Caron : ṧṦ ǚǙ
*vérifier les quelques cas spéciaux
*Cédille : ḉḈ ḝḜ
*vérifier le comportement de tout ça sous linux (pilotes homogènes)
*Circonflexe : ấẤ{{b|ếẾ}}ốỐ {{b|ầẦềỀ}}ồỒ ẫẪễỄỗỖ ẩẨểỂổỔ ậẬệỆộỘ
*compter combien on a « sauvé » de caractère de leur « non-saisissabilité ».
*Tréma : ḯḮǘǗ ǚǙ {{b|ǜǛ}} ǟǞȫȪ{{v|ǖǕ}} ṏṎ
*Accent grave : ằẰ ầẦ {{b|ềỀ}} ồỒ ǜǛ ḕḔ ṑṐ ờỜừỪ 
*Macron : ǡǠȱȰ ḗḖṓṒ ǟǞȫȪṻṺ ḕḔṑṐ ǭǬ ȭȬ ḹḸṝṜ  ᾱᾹῑῙῡῩ
*Ogonek : Ǭǭ
*Rond en chef : ǻǺ
*Barrés : ɟ ǿǾ
*Tilde : ṍṌṹṸ  ẵẴ  ẫẪ{{B|ễỄ}}ỗỖ ṏṎ ȭȬ ỡỠữỮ
*Cornu : ỚớỨứ Ờờ{{B|Ừừ}} ỢợỰự ỞởỬử ỠỡỮữ
*Crochet : ẳẲ ẩẨ{{B|ểỂ}}ổỔ ởỞửỬ ϒ {{R|ʄ}}
*Point souscrit : ṩṨ ặẶ ậẬ{{B|ệỆ}}ộỘ ḹḸṝṜ ợỢựỰ


==Aigu (e000)==
== Notes et remarques ==
Note : ǽ et Ǽ sont accessibles avec {{touches|´|æ}} et {{touches|´|Æ}}. Impossible de définir {{touches|´|a|e}} et {{touches|´|A|E}} à cause des définitions de á et Á.


{{fait}} : + 32 caractères ṥṤ ắẮ {{b|ḉḈ}} ấẤ{{b|ếẾ}}ốỐ ḯḮǘǗ ḗḖṓṒ ǻǺ ǿǾ ṍṌṹṸ ớỚứỨ
===Ajouts possibles ===
<syntaxhighlight lang="C">
Penser à vérifier  l'homogénéïté des pilotes
DEADTRANS( 0x00c6 , 0x00b4 , 0x01fc , 0x0000), //Æ *
<pre>
DEADTRANS( 0x00e6 , 0x00b4 , 0x01fd , 0x0000), //æ *
// DEADTRANS( L'n'  , L'^'  , 0x207f , 0x0000), // exposant n (du Neo2 ?)
DEADTRANS( 0x00c7 , 0x00b4 , 0x1e08 , 0x0000), //Ç *
//- Combinaison de 3 touches mortes : J dotless with stroke and hook :
DEADTRANS( 0x00e7 , 0x00b4 , 0x1e09 , 0x0000), //ç *
// DEADTRANS( 0x025f , 0x0309 , 0x0284 , 0x0000), // ɟ -> ʄ > combinaison de 3 touches
DEADTRANS( 0x00ca , 0x00b4 , 0x1ebe , 0x0000), //Ê *
// 03D3    GREEK UPSILON WITH ACUTE AND HOOK SYMBOL // combinaison de 4 touches  
DEADTRANS( 0x00ea , 0x00b4 , 0x1ebf , 0x0000), //ê *
// 0351    COMBINING LEFT HALF RING ABOVE (
DEADTRANS( 0x005e , 0x00b4 , 0xe000 , 0x0001), //aigu+circonflexe (0xe000)
// 0357    COMBINING RIGHT HALF RING ABOVE )
DEADTRANS( 0x0041 , 0xe000 , 0x1ea4 , 0x0000), //Â ->
// 212B    ANGSTROM SIGN
DEADTRANS( 0x0061 , 0xe000 , 0x1ea5 , 0x0000), //â -> ấ
// 2E1B    TILDE WITH RING ABOVE  > combinaison + espace ?
DEADTRANS( 0x0045 , 0xe000 , 0x1ebe , 0x0000), //Ê -> Ế
//- « doubles touches mortes » combinantes qu'on pourrait avoir
DEADTRANS( 0x0065 , 0xe000 , 0x1ebf , 0x0000), //ê -> ế
// 1DCB    COMBINING BREVE-MACRON > combinaison + nbsp ?
DEADTRANS( 0x004f , 0xe000 , 0x1ed0 , 0x0000), //Ô -> Ố
DEADTRANS( 0x006f , 0xe000 , 0x1ed1 , 0x0000), //ô -> ố
DEADTRANS( 0x02da , 0x00b4 , 0xe001 , 0x0001), //aigu+rond en chef (0xe001)
DEADTRANS( 0x0041 , 0xe001 , 0x01fa , 0x0000), //Å -> Ǻ
DEADTRANS( 0x0061 , 0xe001 , 0x01fb , 0x0000), //å -> ǻ
DEADTRANS( 0x00b8 , 0x00b4 , 0xe003 , 0x0001), //aigu+cédille (0xe003)
DEADTRANS( 0x0043 , 0xe003 , 0x1e08 , 0x0000), //Ç -> Ḉ
DEADTRANS( 0x0063 , 0xe003 , 0x1e09 , 0x0000), //ç -> ḉ
DEADTRANS( 0x00a8 , 0x00b4 , 0xe004 , 0x0001), //aigu+tréma (0xe004)
DEADTRANS( 0x0049 , 0xe004 , 0x1e2e , 0x0000), //Ï -> Ḯ
DEADTRANS( 0x0069 , 0xe004 , 0x1e2f , 0x0000), //ï -> ḯ
DEADTRANS( 0x0055 , 0xe004 , 0x01d7 , 0x0000), //Ü -> Ǘ
DEADTRANS( 0x0075 , 0xe004 , 0x01d8 , 0x0000), //ü -> ǘ
DEADTRANS( 0x007e , 0x00b4 , 0xe005 , 0x0001), //aigu+tilde (0xe005)
DEADTRANS( 0x004f , 0xe005 , 0x1e4c , 0x0000), //Õ -> Ṍ
DEADTRANS( 0x006f , 0xe005 , 0x1e4d , 0x0000), //õ -> ṍ
DEADTRANS( 0x0055 , 0xe005 , 0x1e78 , 0x0000), //Ũ -> Ṹ
DEADTRANS( 0x0075 , 0xe005 , 0x1e79 , 0x0000), //ũ -> ṹ
DEADTRANS( 0x002f , 0x00b4 , 0xe006 , 0x0001), //aigu+barré (0xe006)
DEADTRANS( 0x004f , 0xe006 , 0x01fe , 0x0000), //Ø -> Ǿ
DEADTRANS( 0x006f , 0xe006 , 0x01ff , 0x0000), //ø -> ǿ
DEADTRANS( 0x02d8 , 0x00b4 , 0xe007 , 0x0001), //aigu+breve (0xe007)
DEADTRANS( 0x0041 , 0xe007 , 0x1eae , 0x0000), //Ă -> Ắ
DEADTRANS( 0x0061 , 0xe007 , 0x1eaf , 0x0000), //ă -> ắ
DEADTRANS( 0x00af , 0x00b4 , 0xe008 , 0x0001), //aigu+macro (0xe008)
DEADTRANS( 0x0045 , 0xe008 , 0x1e16 , 0x0000), //Ē -> Ḗ
DEADTRANS( 0x0065 , 0xe008 , 0x1e17 , 0x0000), //ē -> ḗ
DEADTRANS( 0x004f , 0xe008 , 0x1e52 , 0x0000), //Ō -> Ṓ
DEADTRANS( 0x006f , 0xe008 , 0x1e53 , 0x0000), //ō -> ṓ
DEADTRANS( 0x031b , 0x00b4 , 0xe009 , 0x0001), //aigu+corne (0xe009)
DEADTRANS( 0x004f , 0xe009 , 0x1eda , 0x0000), //Ơ -> Ớ
DEADTRANS( 0x006f , 0xe009 , 0x1edb , 0x0000), //ơ -> ớ
DEADTRANS( 0x0055 , 0xe009 , 0x1ee8 , 0x0000), //Ư -> Ứ
DEADTRANS( 0x0075 , 0xe009 , 0x1ee9 , 0x0000), //ư -> ứ
DEADTRANS( 0x02d9 , 0x00b4 , 0xe00a , 0x0001), //aigu+point en chef (0xe00a)
DEADTRANS( 0x0053 , 0xe00a , 0x1e64 , 0x0000), //Ṡ -> Ṥ
DEADTRANS( 0x0073 , 0xe00a , 0x1e65 , 0x0000), //ṡ -> ṥ
// Manquant ou ajout possible :
// 03D3    GREEK UPSILON WITH ACUTE AND HOOK SYMBOL // combinaison de 5? touches  
</syntaxhighlight>
 
==Brève (e100) ==
{{fait}} : +12 caractères ắẮ ḝḜ {{B|ằẰ}} ẵẴ ẳẲ ặẶ
 
<syntaxhighlight lang="C">
DEADTRANS( 0x00c0 , 0x02d8 , 0x1eb0 , 0x0000), // À -> Ằ *
DEADTRANS( 0x00e0 , 0x02d8 , 0x1eb1 , 0x0000), // à -> ằ *
  DEADTRANS( 0x0060 , 0x02d8 , 0xe100 , 0x0001), // breve+grave (0xe100)
  DEADTRANS( 0x0041 , 0xe100 , 0x1eb0 , 0x0000), // À -> Ằ
  DEADTRANS( 0x0061 , 0xe100 , 0x1eb1 , 0x0000), // à ->
  DEADTRANS( 0x00b4 , 0x02d8 , 0xe007 , 0x0001), // breve+aigu=aigu+breve (0xe007) (Ắắ)
  DEADTRANS( 0x007e , 0x02d8 , 0xe102 , 0x0001), // breve+tilde (0xe102)
  DEADTRANS( 0x0041 , 0xe102 , 0x1eb4 , 0x0000), // Ã -> Ẵ
  DEADTRANS( 0x0061 , 0xe102 , 0x1eb5 , 0x0000), // ã -> ẵ
  DEADTRANS( 0x00b8 , 0x02d8 , 0xe103 , 0x0001), // breve+cédille (0xe103)
  DEADTRANS( 0x0045 , 0xe103 , 0x1e1c , 0x0000), // Ȩ -> Ḝ
  DEADTRANS( 0x0065 , 0xe103 , 0x1e1d , 0x0000), // ȩ -> ḝ
  DEADTRANS( 0x0323 , 0x02d8 , 0xe104 , 0x0001), // breve+point souscrit (0xe104)
  DEADTRANS( 0x0041 , 0xe104 , 0x1eb6 , 0x0000), // Ạ -> Ặ
  DEADTRANS( 0x0061 , 0xe104 , 0x1eb7 , 0x0000), // ạ -> ặ
  DEADTRANS( 0x0309 , 0x02d8 , 0xe105 , 0x0001), // breve+crochet en chef (0xe105)
  DEADTRANS( 0x0041 , 0xe105 , 0x1eb2 , 0x0000), // Ả -> Ẳ
  DEADTRANS( 0x0061 , 0xe105 , 0x1eb3 , 0x0000), // ả -> ẳ
// POSSIBILITÉ
// 1DCB    COMBINING BREVE-MACRON
// 1DCC    COMBINING MACRON-BREVE
// 1DCC    COMBINING MACRON-BREVE
// 035D    COMBINING DOUBLE BREVE 
// 035D    COMBINING DOUBLE BREVE 
</syntaxhighlight>
// 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 :
==Point en chef (e700) ==
{{fait}} : + 11 caractères ṥṤ ṧṦ ǡǠ ȱȰ ṩṨ ɟ
<syntaxhighlight lang="C">
DEADTRANS( L'/'  , 0x02d9 , 0xe500 , 0x0001), //point en chef+barré=barré+point en chef (0xe500) (ɟ)
  DEADTRANS( 0x00af , 0x02d9 , 0xe700 , 0x0001), // point en chef + macron (0xe700)
  DEADTRANS( L'A'  , 0xe700 , 0x01e0 , 0x0000), // Ā -> Ǡ
  DEADTRANS( L'a'  , 0xe700 , 0x01e1 , 0x0000), // ā -> ǡ
  DEADTRANS( L'O'  , 0xe700 , 0x0230 , 0x0000), // Ō -> Ȱ
  DEADTRANS( L'o'  , 0xe700 , 0x0231 , 0x0000), // ō -> ȱ
  DEADTRANS( 0x00b4 , 0x02d9 , 0xe00a , 0x0001), // point en chef+aigu=aigu+point en chef (0xe00a) (ṥṤ)
  DEADTRANS( 0x02c7 , 0x02d9 , 0xe401 , 0x0001), // point en chef+caron=caron+point en chef (0xe401) (ṧṦ)
  DEADTRANS( 0x0323 , 0x02d9 , 0xe701 , 0x0001), // point en chef+point souscrit (0xe701)
  DEADTRANS( L'S'  , 0xe701 , 0x1e68 , 0x0000), // Ṣ -> Ṩ
  DEADTRANS( L's'  , 0xe701 , 0x1e69 , 0x0000), // ṣ -> ṩ
//Ajouts possibles :
  DEADTRANS( 0x00d7 , 0x02d9 , 0x2a30 , 0x0000), // × -> ⨰ MULTIPLICATION SIGN WITH DOT ABOVE  
  DEADTRANS( 0x007e , 0x02d9 , 0x2e1e , 0x0000), // ~ -> ⸞ TILDE WITH DOT ABOVE
</syntaxhighlight>
 
==Caron (e400) ==
{{fait}} : + 4 caractères ṧṦ ǚǙ
<syntaxhighlight lang="C">
  DEADTRANS( 0x00a8 , 0x02c7 , 0xe400 , 0x0001), //caron+tréma (0xe400)
  DEADTRANS( L'U'  , 0xe400 , 0x01d9 , 0x0000), //Ü -> Ǚ
  DEADTRANS( L'u'  , 0xe400 , 0x01da , 0x0000), //ü -> ǚ
  DEADTRANS( 0x02d9 , 0x02c7 , 0xe401 , 0x0001), //caron+point en chef (0xe401)
  DEADTRANS( L'S'  , 0xe401 , 0x1e66 , 0x0000), //Ṡ -> Ṧ
  DEADTRANS( L's'  , 0xe401 , 0x1e67 , 0x0000), //ṡ -> ṧ
// Ajouts possibles : indices sur neo2 (x possible mais pas a/e déjà définis) :
// DEADTRANS( L'a'  , 0x02c7 , 0x2090 , 0x0000),
// DEADTRANS( L'a'  , 0x02c7 , 0x2090 , 0x0000),
// DEADTRANS( L'e'  , 0x02c7 , 0x2091 , 0x0000),
// DEADTRANS( L'e'  , 0x02c7 , 0x2091 , 0x0000),
// DEADTRANS( L'x'  , 0x02c7 , 0x2093 , 0x0000),
// DEADTRANS( L'x'  , 0x02c7 , 0x2093 , 0x0000),
</syntaxhighlight>
// DEADTRANS( 0x00d7 , 0x02d9 , 0x2a30 , 0x0000), // × -> ⨰ MULTIPLICATION SIGN WITH DOT ABOVE
 
// DEADTRANS( 0x007e , 0x02d9 , 0x2e1e , 0x0000), // ~ -> ⸞ TILDE WITH DOT ABOVE
==Cédille==
{{fait}} : + 4 caractères ḉḈ ḝḜ
<syntaxhighlight lang="C">
DEADTRANS( 0x00b4 , 0x00b8 , 0xe003 , 0x0001), // cédille+aigu=aigu+cédille (0xe003) (ḉḈ)
DEADTRANS( 0x02d8 , 0x00b8 , 0xe103 , 0x0001), // cédille+brève=brève+cédille (0xe103) (ḝḜ)
// Ajouts possibles :
// U+0312 COMBINING TURNED COMMA ABOVE ̒
// ¸+Ç = C et ¸+ç=c ?
//
// À supprimer du bépo (pourquoi cette définition ?) :
// /20a1 20b5 // ₡ -> ₵
// /00a2 20b5 // ¢ -> ₵
</syntaxhighlight>
 
==Circonflexe (e300)==
{{fait}} : + 30 caractères ấẤ{{b|ếẾ}}ốỐ {{b|ầẦềỀ}}ồỒ ẫẪễỄỗỖ ẩẨểỂổỔ ậẬệỆộỘ
<syntaxhighlight lang="C">
  DEADTRANS( 0x00c0 , L'^'  , 0x1ea6 , 0x0000), // À -> Ầ *
  DEADTRANS( 0x00e0 , L'^'  , 0x1ea7 , 0x0000), // à -> ầ *
  DEADTRANS( 0x00c8 , L'^'  , 0x1ec0 , 0x0000), // È -> Ề *
  DEADTRANS( 0x00e8 , L'^'  , 0x1ec1 , 0x0000), // è -> ề *
  DEADTRANS( 0x00c9 , L'^'  , 0x1ebe , 0x0000), // É -> Ế *
  DEADTRANS( 0x00e9 , L'^'  , 0x1ebf , 0x0000), // é -> ế *
DEADTRANS( 0x0060 , L'^'  , 0xe200 , 0x0001), //circonflexe+grave=grave+circonflexe (0xe200) (6x)
  DEADTRANS( 0x00b4 , L'^'  , 0xe000 , 0x0001), //circonflexe+aigu=aigu+circonflexe (0xe000) (6x)
  DEADTRANS( 0x007e , L'^'  , 0xe300 , 0x0001), //circonflexe+tilde (0xe300)
  DEADTRANS( L'A'  , 0xe300 , 0x1eaa , 0x0000), // Ã ->
  DEADTRANS( L'a'  , 0xe300 , 0x1eab , 0x0000), // ã -> ẫ
  DEADTRANS( L'E'  , 0xe300 , 0x1ec4 , 0x0000), // Ẽ -> Ễ
  DEADTRANS( L'e'  , 0xe300 , 0x1ec5 , 0x0000), // ẽ -> ễ
  DEADTRANS( L'O'  , 0xe300 , 0x1ed6 , 0x0000), // Õ -> Ỗ
  DEADTRANS( L'o'  , 0xe300 , 0x1ed7 , 0x0000), // õ -> ỗ
  DEADTRANS( 0x0323 , L'^'  , 0xe301 , 0x0001), //circonflexe+point souscrit (0xe301)
  DEADTRANS( L'A'  , 0xe301 , 0x1eac , 0x0000), // Ạ -> Ậ
  DEADTRANS( L'a'  , 0xe301 , 0x1ead , 0x0000), // ạ -> ậ
  DEADTRANS( L'E'  , 0xe301 , 0x1ec6 , 0x0000), // Ẹ -> Ệ
  DEADTRANS( L'e'  , 0xe301 , 0x1ec7 , 0x0000), // ẹ -> ệ
  DEADTRANS( L'O'  , 0xe301 , 0x1ed8 , 0x0000), // Ọ -> Ộ
  DEADTRANS( L'o'  , 0xe301 , 0x1ed9 , 0x0000), // ọ -> ộ
  DEADTRANS( 0x1ea2 , L'^'  , 0xe302 , 0x0001), //circonflexe+crochet en chef (0xe302)
  DEADTRANS( L'A'  , 0xe302 , 0x1ea8 , 0x0000), // Ả -> Ẩ
  DEADTRANS( L'a'  , 0xe302 , 0x1ea9 , 0x0000), // ả -> ẩ
  DEADTRANS( L'E'  , 0xe302 , 0x1ec2 , 0x0000), // Ẻ -> Ể
  DEADTRANS( L'e'  , 0xe302 , 0x1ec3 , 0x0000), // ẻ -> ể
  DEADTRANS( L'O'  , 0xe302 , 0x1ed4 , 0x0000), // Ỏ -> Ổ
  DEADTRANS( L'o'  , 0xe302 , 0x1ed5 , 0x0000), // ỏ -> ổ
// Manquant :
// DEADTRANS( L'n'  , L'^'  , 0x207f , 0x0000), // exposant n du Neo2 ?
</syntaxhighlight>
 
==Tréma (e600) ==
{{fait}} : + 16 caractères ḯḮǘǗ ǚǙ {{b|ǜǛ}} ǟǞȫȪ{{v|ǖǕ}} ṏṎ
<syntaxhighlight lang="C">
  DEADTRANS( 0x00d9 , 0x00a8 , 0x01db , 0x0000), //Ù -> Ǜ *
  DEADTRANS( 0x00f9 , 0x00a8 , 0x01dc , 0x0000), //ù -> ǜ *
  DEADTRANS( 0x00b4 , 0x00a8 , 0xe004 , 0x0001), //tréma+aigu=aigu+tréma (0xe004) (ḯḮǘǗ)
  DEADTRANS( 0x007e , 0x00a8 , 0xe600 , 0x0001), //tréma+tidle (0xe600)
  DEADTRANS( L'O'  , 0xe600 , 0x1e4e , 0x0000), //Õ -> Ṏ
  DEADTRANS( L'o'  , 0xe600 , 0x1e4f , 0x0000), //õ -> ṏ
  DEADTRANS( 0x0060 , 0x00a8 , 0xe201 , 0x0001), //tréma+grave=grave+tréma (0xe201) (ǜǛ)
  DEADTRANS( 0x00af , 0x00a8 , 0xe601 , 0x0001), //tréma+macron (0xe601)
  DEADTRANS( L'A'  , 0xe601 , 0x01de , 0x0000), //Ā -> Ǟ
  DEADTRANS( L'a'  , 0xe601 , 0x01df , 0x0000), //ā -> ǟ
  DEADTRANS( L'O'  , 0xe601 , 0x022a , 0x0000), //Ō -> Ȫ
  DEADTRANS( L'o'  , 0xe601 , 0x022b , 0x0000), //ō -> ȫ
  DEADTRANS( L'U'  , 0xe601 , 0x01d5 , 0x0000), //Ū -> Ǖ (<>)
  DEADTRANS( L'u'  , 0xe601 , 0x01d6 , 0x0000), //ū -> ǖ (<>)
  DEADTRANS( 0x02c7 , 0x00a8 , 0xe400 , 0x0001), //tréma+caron=caron+tréma (0xe400) (ǚǙ)
</syntaxhighlight>
 
==Accent grave (e200) ==
{{fait}} : + 18 caractères ằẰ ầẦ {{b|ềỀ}} ồỒ ǜǛ ḕḔ ṑṐ ờỜ ừỪ 
<syntaxhighlight lang="C">
DEADTRANS( 0x00ca , L'`'  , 0x1ec0 , 0x0000), //Ê -> Ề*
DEADTRANS( 0x00ea , L'`'  , 0x1ec1 , 0x0000), //ê -> ề*
  DEADTRANS( 0x005e , L'`'  , 0xe200 , 0x0001), //grave+circonflexe (0xe200)
  DEADTRANS( L'A'  , 0xe200 , 0x1ea6 , 0x0000), //Â -> Ầ
  DEADTRANS( L'a'  , 0xe200 , 0x1ea7 , 0x0000), //â -> ầ
  DEADTRANS( L'E'  , 0xe200 , 0x1ec0 , 0x0000), //Ê -> Ề
  DEADTRANS( L'e'  , 0xe200 , 0x1ec1 , 0x0000), //ê -> ề
  DEADTRANS( L'O'  , 0xe200 , 0x1ed2 , 0x0000), //Ô -> Ồ
  DEADTRANS( L'o'  , 0xe200 , 0x1ed3 , 0x0000), //ô -> ồ
  DEADTRANS( 0x00a8 , L'`'  , 0xe201 , 0x0001), //grave+tréma (0xe201)
  DEADTRANS( L'U'  , 0xe201 , 0x01db , 0x0000), //Ü -> Ǜ
  DEADTRANS( L'u'  , 0xe201 , 0x01dc , 0x0000), //ü -> ǜ
  DEADTRANS( 0x02d8 , L'`'  , 0xe100 , 0x0001), //grave+breve=breve+grave (0xe100) (ằẰ)
  DEADTRANS( 0x00af , L'`'  , 0xe202 , 0x0001), //grave+macron (0xe202)
  DEADTRANS( L'E'  , 0xe202 , 0x1e14 , 0x0000), //Ē -> Ḕ
  DEADTRANS( L'e'  , 0xe202 , 0x1e15 , 0x0000), //ē -> ḕ
  DEADTRANS( L'O'  , 0xe202 , 0x1e50 , 0x0000), //Ō -> Ṑ
  DEADTRANS( L'o'  , 0xe202 , 0x1e51 , 0x0000), //ō -> ṑ
  DEADTRANS( 0x031b , L'`'  , 0xe203 , 0x0001), //grave+cornu (0xe203)
  DEADTRANS( L'O'  , 0xe203 , 0x1edc , 0x0000), //Ơ -> Ờ
  DEADTRANS( L'o'  , 0xe203 , 0x1edd , 0x0000), //ơ -> ờ
  DEADTRANS( L'U'  , 0xe203 , 0x1eea , 0x0000), //Ư -> Ừ
  DEADTRANS( L'u'  , 0xe203 , 0x1eeb , 0x0000), //ư -> ừ
</syntaxhighlight>
 
==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>
</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 ᾱ
===Accessibilité des combinaisons===
GREEK CAPITAL LETTER ALPHA WITH MACRON U+1FB9 GREEK CAPITAL LETTER ALPHA WITH MACRON Ᾱ
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.
GREEK SMALL LETTER IOTA WITH MACRON U+1FD1 GREEK SMALL LETTER IOTA WITH MACRON ῑ
GREEK CAPITAL LETTER IOTA WITH MACRON U+1FD9 GREEK CAPITAL LETTER IOTA WITH MACRON Ῑ
GREEK SMALL LETTER UPSILON WITH MACRON U+1FE1 GREEK SMALL LETTER UPSILON WITH MACRON ῡ
GREEK CAPITAL LETTER UPSILON WITH MACRON U+1FE9 GREEK CAPITAL LETTER UPSILON WITH MACRON Ῡ
 
==Ogonek (e800) ==
{{fait}} : + 2 caractères
<syntaxhighlight lang="C">
DEADTRANS( 0x00af , 0x02db , 0xe800 , 0x0001), // ogenek+macron (0xe800)
DEADTRANS( 0x014c , 0xe800 , 0x01ec , 0x0000), // Ō -> Ǭ
DEADTRANS( 0x014d , 0xe800 , 0x01ed , 0x0000), // ō -> ǭ
</syntaxhighlight>
 
==Rond en chef==
{{fait}} : + 2 caractères ǻǺ
<syntaxhighlight lang="C">
  DEADTRANS( 0x00b4 , 0x02da , 0xe001 , 0x0001), //rond en chef+aigu=aigu+rond en chef (0xe001) (ǻǺ)
// Manquants ou ajouts possibles :
//  0351    COMBINING LEFT HALF RING ABOVE (
//  0357    COMBINING RIGHT HALF RING ABOVE )
//  212B    ANGSTROM SIGN
//  2E1B    TILDE WITH RING ABOVE
</syntaxhighlight>
 
==Barrés (e500) ==
{{fait}} : + 3 caractères ɟ ǿǾ
<syntaxhighlight lang="C">
  DEADTRANS( 0x00b4 , L'/'  , 0xe006 , 0x0001), //barré+aigu=aigu+barré (0xe006) (ǿǾ)
  DEADTRANS( 0x02d9 , L'/'  , 0xe500 , 0x0001), //barré+point en chef (0xe500)
  DEADTRANS( L'j'  , 0xe500 , 0x025f , 0x0000), //ȷ -> ɟ
// MANQUANT :
// DEADTRANS( 0x0269 , L'/'  , 0x1d7c , 0x0000), //ɩ small iota ( à tester)
// DEADTRANS( 0x0269 , L'/'  , 0xe500 , 0x0001),
// DEADTRANS( 0x0269 , 0xe500 , 0x1d7c , 0x0000),
</syntaxhighlight>
 
==Tilde==
{{fait}} : + 20 caractères ṍṌṹṸ  ẵẴ  ẫẪ{{B|ễỄ}}ỗỖ ṏṎ ȭȬ ỡỠữỮ
 
<syntaxhighlight lang="C">
DEADTRANS( 0x00ca , 0xe07e , 0x1ec4 , 0x0000), // Ê* -> Ễ
DEADTRANS( 0x00ea , 0xe07e , 0x1ec5 , 0x0000), // ê* -> ễ
DEADTRANS( 0x02d8 , 0x007e , 0xe102 , 0x0001), //tilde+brève=brève+tilde (0xe102) (Ẵẵ)
DEADTRANS( 0x005e , 0x007e , 0xe300 , 0x0001), //tilde+circonflexe+circonflexe+brève (0xe300) (ẪẫỄễỖỗ)
DEADTRANS( 0x00b4 , 0x007e , 0xe005 , 0x0001), //tilde+aigu+aigu+tilde (ex005) (ṌṍṸṹ)
DEADTRANS( 0x00a8 , 0x007e , 0xe600 , 0x0001), //tidle+tréma=tréma+tilde (0xe600) (Ṏṏ)
DEADTRANS( 0x00af , 0x007e , 0xea00 , 0x0001), //tilde+macron=macro+tilde (0xea00)
DEADTRANS( 0x004f , 0xea00 , 0x022c , 0x0000), // Ō -> Ȭ
DEADTRANS( 0x006f , 0xea00 , 0x022d , 0x0000), // ō -> ȭ
DEADTRANS( 0x031b , 0x007e , 0xe902 , 0x0001), //tilde+cornu=cornu+tilde (0xe902) (ỠỡỮữ)
</syntaxhighlight>
 
==Cornu==
{{fait}} : + 20 caractères ỚớỨứ Ờờ{{B|Ừừ}} ỢợỰự ỞởỬử ỠỡỮữ
<syntaxhighlight lang="C">
DEADTRANS( 0x00d9 , 0x031b , 0x1eea , 0x0000), // Ù* -> Ừ
DEADTRANS( 0x00f9 , 0x031b , 0x1eeb , 0x0000), // ù* -> ừ
DEADTRANS( 0x00b4 , 0x031b , 0xe000 , 0x0001), // cornu+aigu=aigu+corne (0xe009) (ỚớỨứ)
DEADTRANS( 0x0060 , 0x031b , 0xe000 , 0x0001), // cornu+grave=grave+cornu (0xe203) (ỜờỪừ)
DEADTRANS( 0x0323 , 0x031b , 0xe900 , 0x0001), // cornu+point souscrit (0xe900)
DEADTRANS( 0x004f , 0xe900 , 0x1ee2 , 0x0000), // Ọ -> Ợ
DEADTRANS( 0x006f , 0xe900 , 0x1ee3 , 0x0000), // ọ -> ợ
DEADTRANS( 0x0055 , 0xe900 , 0x1ef0 , 0x0000), // Ụ -> Ự
DEADTRANS( 0x0075 , 0xe900 , 0x1ef1 , 0x0000), // ụ -> ự
DEADTRANS( 0x0309 , 0x031b , 0xe901 , 0x0001), // cornu+crochet en chef (0xe901)
DEADTRANS( 0x004f , 0xe901 , 0x1ede , 0x0000), // Ỏ -> Ở
DEADTRANS( 0x006f , 0xe901 , 0x1edf , 0x0000), // ỏ -> ở
DEADTRANS( 0x0055 , 0xe901 , 0x1eec , 0x0000), // Ủ -> Ử
DEADTRANS( 0x0075 , 0xe901 , 0x1eed , 0x0000), // ủ -> ử
DEADTRANS( 0x007e , 0x031b , 0xe902 , 0x0001), // cornu+tilde (0xe902)
DEADTRANS( 0x004f , 0xe902 , 0x1ee0 , 0x0000), // Õ -> Ỡ
DEADTRANS( 0x006f , 0xe902 , 0x1ee1 , 0x0000), // õ -> ỡ
DEADTRANS( 0x0055 , 0xe902 , 0x1eee , 0x0000), // Ũ -> Ữ
DEADTRANS( 0x0075 , 0xe902 , 0x1eef , 0x0000), // ũ -> ữ
</syntaxhighlight>
 
==Crochet==
{{fait}} : + 11 caractères ẳẲ ẩẨ{{B|ểỂ}}ổỔ ởỞửỬ ϒ {{R|ʄ}}
 
<syntaxhighlight lang="C">
DEADTRANS( 0x0259 , 0x0309 , 0x025a , 0x0000), // ə* -> ɚ
DEADTRANS( 0x00ca , 0x0309 , 0x1ec2 , 0x0000), // Ê* -> Ể
DEADTRANS( 0x00ea , 0x0309 , 0x1ec3 , 0x0000), // ê* -> ể
DEADTRANS( 0x02d8 , 0x0309 , 0xe105 , 0x0001), //crochet+brève=brève+crochet (0xe105) (Ẳẳ)
DEADTRANS( 0x005e , 0x0309 , 0xe302 , 0x0001), //crochet+circonflexe=circonflexe+crochet (0xe302) (ẨẩỂểỔổ)
DEADTRANS( 0x031b , 0x0309 , 0xe901 , 0x0001), //crochet+cornu=cornu+crochet (0xe901) (ỞởỬử)
DEADTRANS( 0x00b5 , 0x0309 , 0x0902 , 0x0001), // grec+crochet (0xe902)
DEADTRANS( 0x0055 , 0x0902 , 0x03d2 , 0x0000), // Υ -> ϒ
//- À supprimer :
// DEADTRANS( 0x0256 , 0x0309 , 0x1d91 , 0x0000), // ɖ -> ᶑ > d with tail sur bépo, combinaison à faire supprimer ?
//- Combinaison de 3 touches mortes : J dotless with stroke and hook
// DEADTRANS( 0x025f , 0x0309 , 0x0284 , 0x0000), // ɟ -> ʄ > combinaison de 3 touches
</syntaxhighlight>


==Point souscrit==
== Définitions pour le fichier source ==
{{fait}} : + 16 caractères ṩṨ ặẶ ậẬ{{B|ệỆ}}ộỘ ḹḸṝṜ ợỢựỰ
<syntaxhighlight lang="C">
<syntaxhighlight lang="C">
DEADTRANS( 0x00ca , 0x0323 , 0x1ec6 , 0x0000), // Ê* -> Ệ
//-Touches mortes multiples
DEADTRANS( 0x00ea , 0x0323 , 0x1ec7 , 0x0000), // ê* -> ệ
// accent grave & circonflexe (0xe002)
// Point souscrit + autre touche morte
DEADTRANS( 0x0060 , L'^'  , 0xe002 , 0x0001),
DEADTRANS( 0x005e , 0x0323 , 0xe301 , 0x0001), // circonflexe+point souscrit=point souscrit+circonflexe (0xe301) (ẬậỆệỘộ)
DEADTRANS( 0x005e , L'`'  , 0xe002 , 0x0001),
DEADTRANS( 0x02d8 , 0x0323 , 0xe104 , 0x0001), // breve+point souscrit=point souscrit+brève (0xe104) (Ặặ)
DEADTRANS( L'A'  , 0xe002 , 0x1ea6 , 0x0000), // Ầ
DEADTRANS( 0x02d9 , 0x0323 , 0xe701 , 0x0001), // point en chef+point souscrit=point souscrit+point en chef (0xe701) (Ṩṩ)
DEADTRANS( L'a'  , 0xe002 , 0x1ea7 , 0x0000), // ầ
DEADTRANS( 0x031b , 0x0323 , 0xe900 , 0x0001), // cornu+point souscrit=point souscrit+cornu (0xe900) (ỢợỰự)
DEADTRANS( L'E'  , 0xe002 , 0x1ec0 , 0x0000), // Ề
DEADTRANS( 0x00af , 0x0323 , 0xeb00 , 0x0001), // macron+point souscrit (0xeb00)
DEADTRANS( L'e'  , 0xe002 , 0x1ec1 , 0x0000), // ề
DEADTRANS( 0x004c , 0xeb00 , 0x1e38 , 0x0000), // L ->
DEADTRANS( L'O'  , 0xe002 , 0x1ed2 , 0x0000), // Ồ
DEADTRANS( 0x006c , 0xeb00 , 0x1e39 , 0x0000), // l ->
DEADTRANS( L'o'  , 0xe002 , 0x1ed3 , 0x0000), // ồ
DEADTRANS( 0x0052 , 0xeb00 , 0x1e5c , 0x0000), // r ->
// accent grave & macron (0xe004)
DEADTRANS( 0x0072 , 0xeb00 , 0x1e5d , 0x0000), // r ->
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), // ᵼ
</syntaxhighlight>
</syntaxhighlight>


==Lettre grecque==
== Références ==
<references />

Dernière version du 13 juin 2014 à 11: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 Á.