Version 1.1rc2

De Disposition de clavier bépo

Si certains caractères s’affichent mal (carrés vides, points d’interrogation), consultez l’aide Unicode sur Wikipédia.

┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│ # ¶│ 1 „│ 2 “│ 3 ”│ 4 │ 5 ║ 6  │ 7 ¬│ 8 ¼│ 9 ½│ 0 ¾│ ° ′│ ` ″║         ║
│ $ –│ " —│ « <│ » >│ ( [│ ) ]║ @ ^│ + ±│ - −│ / ÷│ * ×│ = ≠│ % ‰║ <--     ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║  |<-  ║ B _│ É  │ P §│ O Œ│ È `║ !  │ V  │ D  │ L £│ J  │ Z  │ W  ║   |  ║
║  ->|  ║ b |│ é ´│ p &│ o œ│ è `ˆ ¡│ v ˇ│ d │ l /│ j  │ z │ w  ║ <-'  ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗     ║
║        ║ A Æ│ U Ù│ I ˙│ E ¤│ ; ,║ C ©│ T │ S ſ│ R ®│ N  │ M  │ Ç ©║     ║
║  CAPS  ║ a æ│ u ù│ i ¨│ e €│ , '║ c ¸│ t │ s ß│ r ˘│ n ~│ m ¯│ ç  ║     ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣
║   ^  ║ Ê ^│ À │ Y ‘│ X ’│ : ·│ K ║ ? ̉ │ Q ̛│ G │ H ‡│ F  ║     ^      ║
║   |  ║ ê /│ à \│ y {│ x }│ . …│ k ~║  ¿│ q °│ g µ│ h ̣ │ f ˛║     |      ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
║       ║      ║     ║ Fine insécable  Insécable ║     ║      ║     ║      ║
║ Ctrl  ║ WinG ║ Alt ║ Espace                  _ ║AltGr║ WinD ║WinM ║ Ctrl ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝
 © = copyleft ; dans Unicode à partir de la v11.0.0 (2018)
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│ #  │ 1  │ 2  │ 3  │ 4  │ 5  ║ 6  │ 7  │ 8  │ 9  │ 0  │ °  │ `  ║        ║
│ $ │ " —│ « <│ » >│ ( [│ ) ]║ @ ^│ +  │ -  │ /  │ *  │ =  │ %  ║ <--    ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║  |<-  ║ B  │ É  │ P  │ O  │ È  ║ !  │ V  │ D  │ L  │ J  │ Z  │ W  ║   | ║
║  ->|  ║   |│   ´│   &│   œ│   `ˆ  │    │    │    │    │    │    ║ <-' ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
║        ║ A  │ U  │ I  │ E  │ ;  ║ C  │ T  │ S  │ R  │ N  │ M  │ Ç  ║    ║
║  CAPS  ║   æ│   ù│   ¨│   €│ , '║    │    │   ß│    │    │    │    ║    ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩════╣
║   ^  ║ Ê  │ À  │ Y  │ X  │ :  │ K  ║ ?  │ Q  │ G  │ H  │ F  ║     ^     ║
║   |  ║   /│   \│   {│   }│ . …│   ~║   │    │   µ│    │    ║     |     ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦═════╣
║       ║      ║     ║ Fine insécable            ║     ║      ║     ║     ║
║ Ctrl  ║ WinG ║ Alt ║ Espace            _       ║AltGr║ WinD ║WinM ║Ctrl ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩═════╝

Changements acceptés depuis la version 1.0

Couche de base

  • Duplication de l’accent circonflexe « ^ » U+005E sur clavier bépoAltGr+clavier bépoMaj+clavier bépoÊ.
  • Permutation de l’apostrophe droite « ' » U+0027 et de l’apostrophe typographique «  ’ » U+2019.
  • Permutation de l’espace insécable U+00A0 et de l’espace fine insécable U+202F.
  • Remplacement de ≤ et ≥ par ⩽ et ⩾, respectivement U+2A7D et U+2A7E en clavier bépoAltGr+clavier bépoMaj+clavier bépo4 et clavier bépoAltGr+clavier bépoMaj+clavier bépo5.
  • Remplacement du clavier « ⌨ » par le trait d’union insécable « ‑ » U+2011 en clavier bépoAltGr+clavier bépoMaj+clavier bépok.
  • Déplacements de l’obèle « † » en clavier bépoAltGr+clavier bépoMaj+clavier bépog, du s long « ſ » en clavier bépoAltGr+clavier bépoMaj+clavier bépos et des symboles « © », « ™ » et « ® » en clavier bépoAltGr+clavier bépoMaj+clavier bépoc, clavier bépot et clavier bépor.
  • Déplacement des ordinaux « º » et « ª » sur la nouvelle touche morte exposants et indices en clavier bépoclavier bépoAltGr+clavier bépom et clavier bépoclavier bépoAltGr+clavier bépof.
  • Ajout du symbole copyleft « © » sur clavier bépoAltGr+clavier bépoMaj+clavier bépoç (absent d’Unicode, peut être composé avec U+0254+U+20DD, prévu dans la prochaine version d’Unicode en U+1F12F).
  • Suppression de la barre brisée « ¦ » U+00A6 et duplication du tiret bas « _ » U+005F en clavier bépoAltGr+clavier bépoMaj+clavier bépob.

Carte de base

  • La présence de / en clavier bépoAltGr+clavier bépoê, du ^ vif en clavier bépoAltGr+clavier bépo6, de – en clavier bépoAltGr+clavier bépo$ et de l’apostrophe droite en clavier bépoAltGr+clavier bépo, est confirmée.
  • Ajout de l’aigu mort en clavier bépoAltGr+clavier bépoé et du grave mort en clavier bépoAltGr+clavier bépoè.
  • Ajout du latin étendu en clavier bépoAltGr+clavier bépos et des lettres grecques en clavier bépoAltGr+clavier bépog

Touches mortes

  • redécoupage de certaines cartes de touches mortes grâce aux pressions multiples : clavier bépotouche morte +clavier bépotouche morte  ne donne plus les diacritiques chassants mais permet d’accéder à la place à certains caractères, notamment ceux portant les diacritiques souscrits.
    • Support des lettres diacritées plusieurs fois dans le pilote Windows et généralisation des enchaînements de touches mortes.
  • Création de cinq touches mortes :
  • Déplacements des touches mortes cédille en clavier bépoAltGr+clavier bépoc, brève en clavier bépoAltGr+clavier bépor, point souscrit en clavier bépoAltGr+clavier bépoh, cornu en clavier bépoAltGr+clavier bépoMaj+clavier bépoq et virgule souscrite en clavier bépoAltGr+clavier bépoMaj+clavier bépo,.
  • Révision complète de la touche morte symboles monétaires « clavier bépo¤  » pour y ajouter les monnaies dont les symboles ont été ajoutés dans Unicode 6 à 9 avec réservation d’une place pour le symbole du bitcoin. Déplacement du symbole « £ » de la livre sterling sur clavier bépoAltGr+clavier bépoMaj+clavier bépol en conséquence.
  • Réorganisation des lettres sur la touche morte lettres grecques « clavier bépoµ  » pour suivre la norme ISO 9995-9 (associant à chaque lettre latine une lettre grecque précise, et pas totalement suivie par le BÉPO pour l’instant) :
ISO BÉPO 1.0
C ψ Ψ
J ξ Ξ θ Θ
Q χ Χ
U θ Θ υ Υ
V ω Ω
W ς ω Ω
X χ Χ ξ Ξ
Y υ Υ ψ Ψ

Changements acceptés depuis la version 1.1rc1

Couche de base

  • Ajout du guillemet-virgule « ‚ » U+201A en clavier bépoAltGr+clavier bépoMaj+clavier bépoÀ
  • Les symboles des touches mortes Latin étendu (ß) et Lettres grecques (µ) sont ajouté à la carte simplifiée.

Touches mortes

  • Déplacement des ordinaux « º » et « ª » sur la touche morte latin étendu en clavier bépoßclavier bépom et clavier bépoßclavier bépof
  • Inversions des emplacement des touches mortes Latin étendu et Exposants
  • Accès aux variantes diacrités (Ex Ꝃ et Ꞣ tous deux K barré) en double pression de la touche morte (Ex Ꝃ en AltGr+l→K, Ꞣ en AltGr+l→AltGr+l→K)
  • Sur la couche Latin étendu : Déplacement de Esh sur la touche Ç, duplication de ß en AltGr+s

Carte en l’état

Cartes de la version 1.1rc2

Bépo-1.1-simplifié.png
Bépo-1.1-complet.png


En plus de cette vue d’ensemble qui s’affiche bien, aussi sur petit écran, voici les mêmes images, la carte complète cette fois cliquable et avec infobulles :

Bépo-1.1-simplifié.png
À propos de cette image
U+0024 Symbole dollarU+0023 CroisillonU+2013 Tiret demi-cadratinU+00B6 Pied-de-moucheU+0022 Double guillemet génériqueU+0031 Chiffre unU+2014 Tiret cadratinU+201E Guillemet double virguleU+00AB Guillemet croissantU+0032 Chiffre deuxU+003C InférieurU+201C Guillemet double apostrophe retournéeU+00BB Guillemet décroissantU+0033 Chiffre troisU+003E SupérieurU+201D Guillemet double apostropheU+0028 Parenthèse ouvranteU+0034 Chiffre quatreU+005B Crochet ouvrantU+2A7D Inférieur ou égal inclinéU+0029 Parenthèse fermanteU+0035 Chiffre cinqU+005D Crochet fermantU+2A7E Supérieur ou égal inclinéU+0040 ArobaseU+0036 Chiffre sixU+005E Accent circonflexe(Emplacement disponible)U+002B Signe plusU+0037 Chiffre septU+00B1 Plus ou moinsU+00AC Symbole nonU+002D Tiret génériqueU+0038 Chiffre huitU+2212 Signe moinsU+00BC Fraction ordinaire un quartU+002F ObliqueU+0039 Chiffre neufU+00F7 ObélusU+00BD Fraction ordinaire un demiU+002A AstérisqueU+0030 Chiffre zéroU+00D7 Croix de multiplicationU+00BE Fraction ordinaire trois quartsU+003D ÉgalU+00B0 Symbole degréU+2260 DifférentU+2032 PrimeU+0025 Symbole pour centU+0060 Accent graveU+2030 Symbole pour milleU+2033 Double primeU+0062 Minuscule latine bU+0042 Capitale latine bU+007C Barre verticaleU+005F Tiret basU+00E9 Minuscule latine e accent aiguU+00C9 Capitale latine e accent aiguTouche morte ‹ Accent aigu ›(Emplacement disponible)U+0070 Minuscule latine pU+0050 Capitale latine pU+0026 PerluèteU+00A7 Symbole paragrapheU+006F Minuscule latine oU+004F Capitale latine oU+0153 Minuscule latine oe entrelacésU+0152 Capitale latine oe entrelacésU+00E8 Minuscule latine e accent graveU+00C8 Capitale latine e accent graveTouche morte ‹ Accent grave ›U+0060 Accent graveTouche morte ‹ Accent circonflexe ›U+0021 Point d’exclamationU+00A1 Point d’exclamation retourné(Emplacement disponible)U+0076 Minuscule latine vU+0056 Capitale latine vTouche morte ‹ Hatchek ›(Emplacement disponible)U+0064 Minuscule latine dU+0044 Capitale latine dTouche morte ‹ Symboles scientifiques ›(Emplacement disponible)U+006C Minuscule latine lU+004C Capitale latine lTouche morte ‹ Barre oblique ›U+00A3 Symbole livreU+006A Minuscule latine jU+004A Capitale latine j(Emplacement disponible)(Emplacement disponible)U+007A Minuscule latine zU+005A Capitale latine zTouche morte ‹ Barre horizontale ›(Emplacement disponible)U+0077 Minuscule latine wU+0057 Capitale latine w(Emplacement disponible)(Emplacement disponible)U+0061 Minuscule latine aU+0041 Capitale latine aU+00E6 Minuscule latine ae entrelacésU+00C6 Capitale latine ae entrelacésU+0075 Minuscule latine uU+0055 Capitale latine uU+00F9 Minuscule latine u accent graveU+00D9 Capitale latine u accent graveU+0069 Minuscule latine iU+0049 Capitale latine iTouche morte ‹ Tréma ›Touche morte ‹ Point en chef ›U+0065 Minuscule latine eU+0045 Capitale latine eU+20AC Symbole euroTouche morte ‹ Symboles monétaires ›U+002C VirguleU+003B Point-virguleU+0027 Simple guillemet génériqueTouche morte ‹ Virgule souscrite ›U+0063 Minuscule latine cU+0043 Capitale latine cTouche morte ‹ Cédille ›U+00A9 Symbole copyrightU+0074 Minuscule latine tU+0054 Capitale latine tTouche morte ‹ Exposants et indices ›U+2122 Symbole marque de commerceU+0073 Minuscule latine sU+0053 Capitale latine sTouche morte ‹ Latin et ponctuation ›U+017F Minuscule latine s longU+0072 Minuscule latine rU+0052 Capitale latine rTouche morte ‹ Brève ›U+00AE Symbole marque déposéeU+006E Minuscule latine nU+004E Capitale latine nTouche morte ‹ Tilde ›(Emplacement disponible)U+006D Minuscule latine mU+004D Capitale latine mTouche morte ‹ Macron ›(Emplacement disponible)U+00E7 Minuscule latine c cédilleU+00C7 Capitale latine c cédille(Emplacement disponible)U+1F12F Symbole copyleftU+00EA Minuscule latine e accent circonflexeU+00CA Capitale latine e accent circonflexeU+002F ObliqueU+005E Accent circonflexeU+00E0 Minuscule latine a accent graveU+00C0 Capitale latine a accent graveU+005C Oblique inverse(Emplacement disponible)U+0079 Minuscule latine yU+0059 Capitale latine yU+007B Accolade ouvranteU+2018 Guillemet simple apostrophe retournéeU+0078 Minuscule latine xU+0058 Capitale latine xU+007D Accolade fermanteU+2019 Guillemet simple apostropheU+002E PointU+003A Deux-pointsU+2026 Points de suspensionU+00B7 Point médianU+006B Minuscule latine kU+004B Capitale latine kU+007E TildeU+2011 Trait d’union insécableU+2019 Guillemet simple apostropheU+003F Point d’interrogationU+00BF Point d’interrogation retournéTouche morte ‹ Crochet, hameçon et crochet en chef ›U+0071 Minuscule latine qU+0051 Capitale latine qTouche morte ‹ Rond en chef ›Touche morte ‹ Cornu ›U+0067 Minuscule latine gU+0047 Capitale latine gTouche morte ‹ Lettres grecques ›U+2020 ObèleU+0068 Minuscule latine hU+0048 Capitale latine hTouche morte ‹ Point souscrit ›U+2021 Double obèleU+0066 Minuscule latine fU+0046 Capitale latine fTouche morte ‹ Ogonek ›(Emplacement disponible)U+0020 EspaceU+202F Espace fine insécableU+005F Tiret basU+00A0 Espace insécable classiqueBépo-1.1-complet.png
À propos de cette image


Différents problèmes ont conduit à des compromis pas toujours évidents, comme l’explique la documentation de ce modèle.

Discussions reportées à la version 1.2

  • Complétion des touches mortes existantes avec les caractères ajoutés par Unicode 6 à Unicode 9.
  • Complétion de la touche lettres grecques pour permettre la saisie du grec monotonique ou polytonique. Ajout du point d'interrogation grec « ; » U+037E en clavier bépoµ +clavier bépo?.
  • Support de l’API par une touche morte dédiée.
  • Support d’alphabets étrangers par touche morte, par bascule ou par variante : cyrillique, roman, hébreu
  • Support d’émojis.
  • Ajout d’une touche « compose » pour la prise en charge de caractères tel que œ, æ, ij, eng, schwa etc.
  • Uniformisation du comportement de la barre espace lorsqu’une touche morte est active.

Changements refusés

  • Proposition a minima permettant de supporter les quelques caractères supplémentaires demandés par l’AFNOR avec un nombre limité de modifications apportées.
  • Inversions E/I, O/P, Y/È, G/Q et N/R.
  • Permutation de la rangée inférieure gauche pour permettre la frappe en A (Ê -> K -> point -> X -> Y -> À -> Ê).
  • Remplacement de la touche {ê, Ê, /} par une touche tiret (notamment, {-, #, —, shy} est proposé).
  • Remplacement du / de la touche {ê} par un autre caractère (^, #, $, ß, ç ou ŭ).

Description

La version 1.1 de la disposition bépo est une évolution mineure de la version originale destinée à l’inclusion de la disposition dans la future norme de clavier française de l’AFNOR. L’enjeu est d’intégrer quelques contraintes supplémentaires de façon impérative avant l’échéance normative. Un point faisant consensus est que la carte simplifiée reste figée. De manière générale, les modifications apportées à la disposition doivent être minimalistes.

De par les mises à jour d’Unicode, la prise en charge de nouveaux caractères sur les touches mortes, qui serait entièrement transparente, est également envisageable voir souhaitable. Certains des caractères supplémentaires pris en considération dans cette version peuvent être pensés dans un contexte plus global, par exemple par l’ajout d’une touche morte pour l’API, demandée de nombreuses fois, ou encore en notant qu’un outil permet maintenant à Windows d’avoir une touche Compose identique à Unix depuis 2013 (logiciel WinCompose) et donc que certains caractères n’ont peut-être plus leur place actuelle.

Jalons et contraintes temporelles

Les échéances sont :

  • l’enquête publique de l’AFNOR : C’est « assez technique » (= incompréhensible par Mme Michu). Le ministère de la Culture prévoit de décliner cette consultation en version grand public. Je serais assez surpris que le ministère présente aussi le bépo. Il faut donc être prêt à communiquer quelque chose (à mon avis) ;
  • fin septembre/début octobre décembre 2016 pour la finalisation du rapport qui va mener à l’enquête publique (lire sur le site de l’AFNOR ; lire dans l’archive de la ML) ;
  • début 2017, publication définitive avec prise en compte des retours. La version finale azerty ne sera peut-être pas celle de l’enquête publique.

Contraintes techniques

Sept caractères supplémentaires sont à prendre en charge dans le but de supporter intégralement les langues de l’Union européenne utilisant l’alphabet latin, ainsi que la typographie (française). Les formes diacritées et ligaturées peuvent être placées en touche morte lorsque cela est possible (à préciser) :

Fichier xkb

partial alphanumeric_keys
xkb_symbols "dvorak" {

	name[Group1]= "France - Bepo, ergonomic, Dvorak way (v1.1rc2)";

	include "pc(pc105)"

	key <TLDE> { type[group1] = "FOUR_LEVEL", [ dollar, numbersign, endash, paragraph ] }; // $ # – ¶
	key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1, emdash, doublelowquotemark ] }; // " 1 — „
	key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less, leftdoublequotemark ] }; // « 2 < “
	key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater, rightdoublequotemark ] }; // » 3 > ”
	key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft, U2A7D ] }; // ( 4 [ ⩽
	key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright, U2A7E ] }; // ) 5 ] ⩾
	key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, 6, asciicircum, U262D ] }; // @ 6 ^ ☭
	key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, 7, plusminus, notsign ] }; // + 7 ± ¬
	key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, U2212, onequarter ] }; // - 8 − ¼
	key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 9, division, onehalf ] }; // / 9 ÷ ½
	key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, 0, multiply, threequarters ] }; // * 0 × ¾
	key <AE11> { type[group1] = "FOUR_LEVEL", [ equal, degree, notequal, minutes ] }; // = ° ≠ ′
	key <AE12> { type[group1] = "FOUR_LEVEL", [ percent, grave, U2030, seconds ] }; // % ` ‰ ″

	key <AD01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ b, B, bar, underscore ] }; // b B | _
	key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, Eacute, dead_acute, heart ] }; // é É ´ ♥
	key <AD03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ p, P, ampersand, section ] }; // p P & §
	key <AD04> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ o, O, oe, OE ] }; // o O œ Œ
	key <AD05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, Egrave, dead_grave, grave ] }; // è È ` `
	key <AD06> { type[group1] = "FOUR_LEVEL", [ dead_circumflex, exclam, exclamdown, U2620 ] }; // ^ ! ¡ ☠
	key <AD07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ v, V, dead_caron, U2622 ] }; // v V ˇ ☢
	key <AD08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ d, D, UFDD7, U2623 ] }; // d D ∞ ☣
	key <AD09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ l, L, dead_stroke, sterling ] }; // l L / £
	key <AD10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ j, J, U262E, U262F ] }; // j J ☮ ☯
	key <AD11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ z, Z, UFDD8, U2619 ] }; // z Z ― ☙
	key <AD12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ w, W, U269C, U267F ] }; // w W ⚜ ♿

	key <AC01> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ a, A, ae, AE ] }; // a A æ Æ
	key <AC02> { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ u, U, ugrave, Ugrave ] }; // u U ù Ù
	key <AC03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ i, I, dead_diaeresis, dead_abovedot ] }; // i I ¨ ˙
	key <AC04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ e, E, EuroSign, dead_currency ] }; // e E € ¤
	key <AC05> { type[group1] = "FOUR_LEVEL", [ comma, semicolon, apostrophe, dead_belowcomma ] }; // , ; ' ,
	key <AC06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ c, C, dead_cedilla, copyright ] }; // c C ¸ ©
	key <AC07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ t, T, UFDD5, trademark ] }; // t T ᵉ ™
	key <AC08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ s, S, UFDD4, U017F ] }; // s S ß ſ
	key <AC09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ r, R, dead_breve, registered ] }; // r R ˘ ®
	key <AC10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ n, N, dead_tilde, U2693 ] }; // n N ~ ⚓
	key <AC11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ m, M, dead_macron, U26FD ] }; // m M ¯ ⛽
	key <BKSL> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ccedilla, Ccedilla, U2708, U1F12F ] }; // ç Ç ✈ 🄯

	key <LSGT> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ecircumflex, Ecircumflex, slash, asciicircum ] }; // ê Ê / ^
	key <AB01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ agrave, Agrave, backslash, singlelowquotemark ] }; // à À \ ‚
	key <AB02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ y, Y, braceleft, leftsinglequotemark ] }; // y Y { ‘
	key <AB03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ x, X, braceright, rightsinglequotemark ] }; // x X } ’
	key <AB04> { type[group1] = "FOUR_LEVEL", [ period, colon, ellipsis, periodcentered ] }; // . : … ·
	key <AB05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ k, K, asciitilde, U2011 ] }; // k K ~ ‑
	key <AB06> { type[group1] = "FOUR_LEVEL", [ rightsinglequotemark, question, questiondown, dead_hook ] }; // ’ ? ¿ ̉
	key <AB07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ q, Q, dead_abovering, dead_horn ] }; // q Q ˚ ̛
	key <AB08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ g, G, dead_greek, dagger ] }; // g G µ †
	key <AB09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ h, H, dead_belowdot, doubledagger ] }; // h H ̣ ‡
	key <AB10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ f, F, dead_ogonek, U26C4 ] }; // f F ˛ ⛄
	key <SPCE> { type[group1] = "FOUR_LEVEL", [ space, U202F, underscore, nobreakspace ] }; //     _  


	include "level3(ralt_switch)"
};