« Utilisateur:A2/dk » : différence entre les versions
m (correction de «pas de balise <reference /> sur la page») |
|||
(105 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{note|type=attention|Projet « enchainement | {{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}} | ||
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 : | 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;" | ||
|- | |- | ||
| | ! !! !! 0 !! 1 !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 !! 8 !! 9 !! a !! b !! c !! d !! e !! f !! ? | ||
|- | |- align="center" | ||
| | | align="left"|Point en chef || '''0''' || · || ṥṤ || || ṧṦ || || || || || ǡǠ<br>ȱȰ || || || ɟ || || || || ṩṨ || | ||
|- | |- align="center" | ||
| | | align="left"|Accent aigu || '''1''' || ṥṤ || · || ắẮ || || {{B|ḉḈ}} || ấẤ<br>{{B|ếẾ}}<br>ốỐ || ḯḮ<br>ǘǗ || || ḗḖ<br>ṓṒ || || ǻǺ || ǿǾ || ṍṌ<br>ṹṸ || ớỚ<br>ứỨ || || || | ||
|- | |- align="center" | ||
| | | align="left"|Brève || '''2''' || || ắẮ || · || || ḝḜ || || || {{B|ằẰ}} || || || || || ẵẴ || || ẳẲ || ặẶ || | ||
|- | |- align="center" | ||
| | | align="left"|Caron || '''3''' || ṧṦ || || || · || || || ǚǙ || || || || || || || || || || | ||
|- | |- align="center" | ||
| | | align="left"|Cédille || '''4''' || || ḉḈ || ḝḜ || || · || || || || || || || || || || || || | ||
|- | |- align="center" | ||
| | | align="left"|Circonflexe || '''5''' || || ấẤ<br>{{B|ếẾ}}<br/>ốỐ || || || || · || || {{B|ầẦ}}<br>{{B|ềỀ}}<br>ồỒ || || || || || ẫẪ<br/>ễỄ<br/>ỗỖ || || ẩẨ<br/>ểỂ<br/>ổỔ || ậẬ<br/>ệỆ<br/>ộỘ || | ||
|- | |- align="center" | ||
| | | align="left"|Tréma || '''6''' || || ḯḮ<br/>ǘǗ || || ǚǙ || || || · || {{B|ǜǛ}} || ǟǞ<br/>ȫȪ<br/>{{V|ǖǕ}} || || || || ṏṎ || || || || | ||
|- | |- align="center" | ||
| | | align="left"|Accent grave || '''7''' || || || ằẰ || || || ầẦ<br>{{B|ềỀ}}<br>ồỒ || ǜǛ || · || ḕḔ<br/>ṑṐ || || || || || ờỜ<br>ừỪ || || || | ||
|- | |- align="center" | ||
| | | align="left"|Macron || '''8''' || ǡǠ<br/>ȱȰ || {{B|ḗḖ}}<br>ṓṒ || || || || || ǟǞ<br/>ȫȪ<br/>{{V|ṻṺ}} || {{B|ḕḔ}}<br>ṑṐ || · || ǭǬ || || || ȭȬ || || || ḹḸ<br>ṝṜ || ᾱᾹ<br>ῑῙ<br>ῡῩ | ||
|- | |- align="center" | ||
| | | align="left"|Ogonek || '''9''' || || || || || || || || || ǭǬ || · || || || || || || || | ||
|- | |- align="center" | ||
| | | align="left"|Rond en chef || '''a''' || ǻǺ || || || || || || || || || || · || || || || || || | ||
|- | |- align="center" | ||
| | | align="left"|Barrés || '''b''' || ɟ || ǿǾ || || || || || || || || || || · || || || || || ϼ | ||
|} | |- align="center" | ||
| align="left"|Tilde || '''c''' || || ṍṌ<br>ṹṸ || ẵẴ || || || ẫẪ<br>{{B|ễỄ}}<br>ỗỖ || ṏṎ || || ȭȬ || || || || · || ỡỠ<br>ữỮ || || || | |||
|- align="center" | |||
| align="left"|Cornu || '''d''' || || ớỚ<br>ứỨ || || || || || || ờỜ<br>{{B|ừỪ}} || || || || || ỡỠ<br>ữỮ || · || ởỞ<br>ửỬ || ợỢ<br>ựỰ || | |||
|- align="center" | |||
| align="left"|Crochet || '''e''' || || || ẳẲ || || || ẩẨ<br>{{B|ểỂ}}<br>ổỔ || || || || || || || || ởỞ<br>ửỬ || · || || ϒ | |||
|- align="center" | |||
| align="left"|Point-souscrit || '''f''' || ṩṨ || || ặẶ || || || ậẬ<br>{{B|ệỆ}}<br>ộỘ || || || ḹḸ<br>ṝṜ || || || || || ợỢ<br>ựỰ || || · || | |||
|- align="center" | |||
| align="left"|Letrre grecque || '''?''' || || || || || || || || || ᾱᾹ<br>ῑῙ<br>ῡῩ || || || ϼ || || || ϒ || || · | |||
|} | |||
Légende : | |||
*en {{B|bleu}} : combinaisons disponibles de manière plus simple (avec ÊÉÈêéèÀàÙùÆ挜Ççſ) ; | |||
*en {{V|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 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). | ||
== | {| 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 | |||
|} | |||
*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|ếẾ}}ốỐ ḯḮǘǗ ḗḖṓṒ ǻǺ ǿǾ ṍṌṹṸ ớỚứỨ | |||
< | *Brève : ắẮ ḝḜ {{B|ằẰ}} ẵẴ ẳẲ ặẶ | ||
*Point en chef : ṥṤ ṧṦ ǡǠȱȰ ṩṨ ɟ | |||
*Caron : ṧṦ ǚǙ | |||
*Cédille : ḉḈ ḝḜ | |||
*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 == | ||
== | ===Ajouts possibles === | ||
Penser à vérifier l'homogénéïté des pilotes | |||
<pre> | <pre> | ||
// 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 | |||
</pre> | </pre> | ||
== | ===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 {{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. | |||
== | == Définitions pour le fichier source == | ||
< | <syntaxhighlight lang="C"> | ||
//-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), // ᵼ | |||
</syntaxhighlight> | |||
== | == Références == | ||
< | <references /> | ||
Dernière version du 13 juin 2014 à 10:55
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
- ↑ ǽ 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 Á.