Comment changer une disposition de clavier en Dvorak qui suppose que la disposition du clavier est QWERTY?


12

J'utilise Dvorak comme ma disposition de clavier principale. Pour écrire dans ma langue maternelle (bengali), j'aimerais utiliser la disposition Probhat . Mais Probhat suppose que vous utilisez une disposition QWERTY. Comment puis-je faire comprendre que j'utilise Dvorak pour qu'il corresponde aux clés Dvorak correspondantes?

Clarification: Par exemple, lorsque j'appuie sur 'E' ('D' dans QWERTY), la disposition Probhat le comprend comme un 'D' (ড). Je veux qu'il le comprenne comme 'E' (ী).


Suite à la réponse fournie dans une autre question , j'ai jeté un coup d'œil à la disposition Probhat ( /usr/share/X11/xkb/symbols/bd) et il semble que les caractères soient codés en dur aux positions des touches d'un clavier. Le clavier lui-même suppose être un clavier QWERTY (macbook pro). Je suppose donc que l'une des façons pourrait être de changer les mappages de touches individuels de QWERTY à dvorak.
Sayem

Réponses:


5

Le fichier à l'emplacement / usr / share / X11 / xkb / symboles / bd contient ce qui suit comme dernières lignes:

//
// XKB symbol :: Probhat Bangla/Bengali Keyboard Layout
// Ref: www.ankurbangla.org/images/probhat_layout.png
//

xkb_symbols "probhat" {
include "in(ben_probhat)"
name[Group1]= "Bangla (Probhat)";
};

Dans votre cas, si je comprends bien, vous ne devez pas modifier ce fichier, mais plutôt la disposition du fichier à l'emplacement / usr / share / X11 / xkb / symboles / in

Localisez les lignes:

xkb_symbols "ben_probhat" {
name[Group1]= "Bangla (India, Probhat)";

Ensuite, démarrez le nouveau remappage de la mise en page.

Notez que vous n'avez pas besoin de remapper chaque clé 1 par 1 à nouveau car les unicodes pour votre langue sont déjà définis pour cette disposition! Il vous suffit de réorganiser les clés et cela fonctionne pour toutes les langues et / ou mises en page dont la phonétique est basée sur qwerty et l'utilisateur souhaite plutôt la mapper sur dvorak standard.

Dans votre cas, le fichier / usr / share / X11 / xkb / symboles / in ressemble à ceci:

xkb_symbols "ben_probhat" {
name[Group1]= "Bangla (India, Probhat)";
key <ESC>  { [ Escape ] };

// numbers
key <TLDE> { [ U200D, asciitilde   ] };
key <AE01> { [ U09E7, exclam       ] };
key <AE02> { [ U09E8, at           ] };
key <AE03> { [ U09E9, numbersign   ] };
key <AE04> { [ U09EA, U09F3    ] };
key <AE05> { [ U09EB, percent      ] };
key <AE06> { [ U09EC, asciicircum  ] };
key <AE07> { [ U09ED, U099E    ] };
key <AE08> { [ U09EE, U09CE    ] };
key <AE09> { [ U09EF, parenleft    ] };
key <AE10> { [ U09E6, parenright   ] };
key <AE11> { [ minus,     underscore   ] };
key <AE12> { [ equal,     plus         ] };
key <BKSP> { [ BackSpace               ] };

// tab, q to ] 
key <TAB>  { [   Tab,  ISO_Left_Tab     ] };
key <AD01> { [   U09A6,  U09A7  ] };
key <AD02> { [   U09C2,  U098A  ] };
key <AD03> { [   U09C0,  U0988  ] };
key <AD04> { [   U09B0,  U09DC  ] };
key <AD05> { [   U099F,  U09A0  ] };
key <AD06> { [   U098F,  U0990  ] };
key <AD07> { [   U09C1,  U0989  ] };
key <AD08> { [   U09BF,  U0987  ] };
key <AD09> { [   U0993,  U0994  ] };
key <AD10> { [   U09AA,  U09AB  ] };
key <AD11> { [   U09C7,  U09C8  ] };
key <AD12> { [   U09CB,  U09CC  ] };
key <RTRN> { [   Return                 ] };

// caps, a to ' 
//   key <CAPS> { [   Caps_Lock              ] };
key <AC01> { [   U09BE,  U0985  ] };
key <AC02> { [   U09B8,  U09B7  ] };
key <AC03> { [   U09A1,  U09A2  ] };
key <AC04> { [   U09A4,  U09A5  ] };
key <AC05> { [   U0997,  U0998  ] };
key <AC06> { [   U09B9,  U0983  ] };
key <AC07> { [   U099C,  U099D  ] };
key <AC08> { [   U0995,  U0996  ] };
key <AC09> { [   U09B2,  U0982  ] };
key <AC10> { [   semicolon,  colon      ] };
key <AC11> { [   apostrophe, quotedbl   ] };

// shift, z to /
//   key <LFSH> { [   Shift_L                ] };
key <AB01> { [   U09DF,  U09AF  ] };
key <AB02> { [   U09B6,  U09DD  ] };
key <AB03> { [   U099A,  U099B  ] };
key <AB04> { [   U0986,  U098B  ] };
key <AB05> { [   U09AC,  U09AD  ] };
key <AB06> { [   U09A8,  U09A3  ] };
key <AB07> { [   U09AE,  U0999  ] };
key <AB08> { [   comma,      U09C3  ] };
key <AB09> { [   U0964,  U0981  ] };
key <AB10> { [   U09CD,  question   ] };
key <BKSL> { [   U200C,  U0965  ] };

Cela donne cette disposition

Maintenant, il vous suffit de réorganiser les clés comme ceci:

// numbers
key <TLDE> { [ grave,   asciitilde, voidsymbol, voidsymbol ] };
key <AE01> ==> key <AE01> <== NO CHANGE!
key <AE02> ==> key <AE02> <== NO CHANGE!
key <AE03> ==> key <AE03> <== NO CHANGE!
key <AE04> ==> key <AE04> <== NO CHANGE!
key <AE05> ==> key <AE05> <== NO CHANGE!
key <AE06> ==> key <AE06> <== NO CHANGE!
key <AE07> ==> key <AE07> <== NO CHANGE!
key <AE08> ==> key <AE08> <== NO CHANGE!
key <AE09> ==> key <AE09> <== NO CHANGE!
key <AE10> ==> key <AE10> <== NO CHANGE!
key <AE11> ==> key <AC11>
key <AE12> ==> key <AD12>
key <BKSP> { [ BackSpace ] };

// key <TAB>  { [ Tab,  ISO_Left_Tab ] };
key <AD01> ==> key <AB02>
key <AD02> ==> key <AB08>
key <AD03> ==> key <AC03>
key <AD04> ==> key <AD09>
key <AD05> ==> key <AC08>
key <AD06> ==> key <AD05>
key <AD07> ==> key <AC04>
key <AD08> ==> key <AC05>
key <AD09> ==> key <AC02>
key <AD10> ==> key <AD04>
key <AD11> ==> key <AE11>
key <AD12> ==> key <AE12>
key <RTRN> { [ Return ] };

// key <CAPS> { [ Caps_Lock ] };
key <AC01> ==> key <AC01> <== NO CHANGE!
key <AC02> ==> key <AC10>
key <AC03> ==> key <AC06>
key <AC04> ==> key <AD06>
key <AC05> ==> key <AD07>
key <AC06> ==> key <AC07>
key <AC07> ==> key <AB03>
key <AC08> ==> key <AB04>
key <AC09> ==> key <AD10>
key <AC10> ==> key <AB01>
key <AC11> ==> key <AD01>

// key <LFSH> { [ Shift_L ] };
key <AB01> ==> key <AB10>
key <AB02> ==> key <AB05>
key <AB03> ==> key <AD08>
key <AB04> ==> key <AB09>
key <AB05> ==> key <AB06>
key <AB06> ==> key <AC09>
key <AB07> ==> key <AB07> <== NO CHANGE!
key <AB08> ==> key <AD02>
key <AB09> ==> key <AD03>
key <AB10> ==> key <AD11>
key <BKSL> { [ backslash,   bar,        voidsymbol, voidsymbol ] };

Pour qu'il ressemble à ci-dessous dans le fichier / usr / share / X11 / xkb / symboles / in

xkb_symbols "ben_probhat" {
name[Group1]= "Bangla (India, Probhat)";
key <ESC>  { [ Escape ] };

// numbers
key <TLDE> { [ U200D, asciitilde   ] };
key <AE01> { [ U09E7, exclam       ] };
key <AE02> { [ U09E8, at           ] };
key <AE03> { [ U09E9, numbersign   ] };
key <AE04> { [ U09EA, U09F3    ] };
key <AE05> { [ U09EB, percent      ] };
key <AE06> { [ U09EC, asciicircum  ] };
key <AE07> { [ U09ED, U099E    ] };
key <AE08> { [ U09EE, U09CE    ] };
key <AE09> { [ U09EF, parenleft    ] };
key <AE10> { [ U09E6, parenright   ] };
key <AC11> { [ minus,     underscore   ] };
key <AD12> { [ equal,     plus         ] };
key <BKSP> { [ BackSpace               ] };

// tab, q to ] 
key <TAB>  { [   Tab,  ISO_Left_Tab     ] };
key <AB02> { [   U09A6,  U09A7  ] };
key <AB08> { [   U09C2,  U098A  ] };
key <AC03> { [   U09C0,  U0988  ] };
key <AD09> { [   U09B0,  U09DC  ] };
key <AC08> { [   U099F,  U09A0  ] };
key <AD05> { [   U098F,  U0990  ] };
key <AC04> { [   U09C1,  U0989  ] };
key <AC05> { [   U09BF,  U0987  ] };
key <AC02> { [   U0993,  U0994  ] };
key <AD04> { [   U09AA,  U09AB  ] };
key <AE11> { [   U09C7,  U09C8  ] };
key <AE12> { [   U09CB,  U09CC  ] };
key <RTRN> { [   Return                 ] };

// caps, a to ' 
//   key <CAPS> { [   Caps_Lock              ] };
key <AC01> { [   U09BE,  U0985  ] };
key <AC10> { [   U09B8,  U09B7  ] };
key <AC06> { [   U09A1,  U09A2  ] };
key <AD06> { [   U09A4,  U09A5  ] };
key <AD07> { [   U0997,  U0998  ] };
key <AC07> { [   U09B9,  U0983  ] };
key <AB03> { [   U099C,  U099D  ] };
key <AB04> { [   U0995,  U0996  ] };
key <AD10> { [   U09B2,  U0982  ] };
key <AB01> { [   semicolon,  colon      ] };
key <AD01> { [   apostrophe, quotedbl   ] };

// shift, z to /
//   key <LFSH> { [   Shift_L                ] };
key <AB10> { [   U09DF,  U09AF  ] };
key <AB05> { [   U09B6,  U09DD  ] };
key <AD08> { [   U099A,  U099B  ] };
key <AB09> { [   U0986,  U098B  ] };
key <AB06> { [   U09AC,  U09AD  ] };
key <AC09> { [   U09A8,  U09A3  ] };
key <AB07> { [   U09AE,  U0999  ] };
key <AD02> { [   comma,      U09C3  ] };
key <AD03> { [   U0964,  U0981  ] };
key <AD11> { [   U09CD,  question   ] };
key <BKSL> { [   U200C,  U0965  ] };

En fin de compte, je suppose que vous aimeriez

Notez que vous devez faire une sauvegarde de la disposition du fichier d'origine avant de commencer à le modifier et l'enregistrer en tant que root ou sinon vous devrez le télécharger et le restaurer à partir de freedesktop.org/wiki/Software/XKeyboardConfig

Bien que je ne comprenne rien de l'alphabet, j'espère que cela pourrait aider parce que j'utilise également la disposition dvorak depuis de nombreuses années et j'espère qu'un jour il pourra remplacer la disposition qwerty d'être toujours la norme :(


1
C'est exactement ce que j'ai demandé. Accessoires pour ajouter les captures d'écran. Je vous remercie.
Sayem

7

Méthode 1: utiliser un éditeur de texte

  1. Ouvrez le fichier en /etc/default/keyboardtant que root. Par exemple, vous pouvez exécutersudo nano /etc/default/keyboard
  2. Modifiez la ligne XKBMODEL="pc105"avec votre modèle de clavier (la liste complète est ici , à partir de la ligne 2).
  3. Changez la ligne XKBLAYOUT="en"avec votre mise en page (vraisemblablement "bd". Voir la liste complète ci-dessus, à partir de la ligne 189).
  4. Changez la ligne XKBVARIANT=""avec votre variante (Voir la liste complète ci-dessus, à partir de la ligne 284).
  5. Enregistrez le fichier ( Ctrl+ Xet appuyez sur Y).
  6. Redémarrez la configuration du clavier avec sudo service keyboard-setup restart

Méthode 2: à l'aide de l' keyboard-configurationoutil.

  1. Installer avec sudo apt-get install keyboard-configuration(vous l'avez peut-être déjà installé)
  2. Exécutez le programme de configuration, en tapant sudo dpkg-reconfigure keyboard-configuration
  3. Suivez les instructions pour sélectionner le modèle de votre clavier, la disposition , la variante , etc.
  4. Redémarrez la configuration du clavier avec sudo service keyboard-setup restart

Source: adapté d' ici .


La seule bonne réponse! +1
Fabby

Merci pour la réponse détaillée. Cependant, je n'ai aucun problème à changer de disposition.
Sayem

La disposition Probhat place des caractères similaires à leurs homologues anglais dans le style QWERTY. Pour faire une analogie, si j'utilisais la disposition Dvorak en anglais et que je passais ensuite à la disposition française, les lettres françaises sont placées dans le style QWERTY.
Sayem

1
Étrange. Une combinaison des options doit certainement fonctionner. Si le Bengali suppose QWERTY, alors pourquoi ne pas simplement sélectionner un modèle QWERTY par défaut? (même si la vôtre ne l'est pas)

Il semble que s'il y avait un moyen de définir, XKBLAYOUT=dvorakil convertirait toutes les dispositions qui supposent une disposition QWERTY en Dvorak. Malheureusement, ce n'est pas une valeur valide (j'ai quand même essayé de la définir mais cela n'a pas fonctionné). Il semble que la seule option qui me reste soit de changer le mappage des touches individuelles pour correspondre à la disposition Dvorak.
Sayem

3

Vous devez d'abord installer le ibus-avropackage. Vous trouverez une bonne description comment le faire ici . Vous devez ouvrir un terminal, faire cd /usr/srcet suivre les instructions.

Ensuite, vous devez sélectionner la disposition du clavier dans l'interface graphique comme décrit.


Je ne veux pas utiliser Avro. Je veux utiliser une disposition différente (Probhat) tandis que les lettres correspondent à Dvorak au lieu de QWERTY.
Sayem

Alors, je sais juste SCIMqui est pour les langues asiatiques. Mais ce n'est pas une disposition de clavier Bengaline. Il existe un rapport de bogue dans Ubuntu pour le bengali (Jatiya / National) ( bugs.launchpad.net/ubuntu/+source/console-setup/+bug/1570233 ). Mais je ne connais pas la différence entre `Jatiya` et` Probhat`. J'espère que ça aide.
musbach

3

La manière la plus simple pour vous est de modifier une disposition dvorak existante.

il existe plusieurs versions de la disposition dvorak disponibles dans X11:

  • Anglais (Dvorak)
  • Anglais (Dvorak, international avec touches mortes)
  • Anglais (alternative internationale Dvorak sans clé morte) etc.

Recherchez-les dans le fichier / usr / share / X11 / xkb / symboles / us ou / usr / share / X11 / xkb / symboles / gb.

L'idée est de choisir celui que vous n'utilisez pas - choisissez celui le plus pratique dans la liste, le plus proche du Dvorak que vous utilisez déjà - et de remplacer les caractères anglais dans ce fichier par les caractères bengali que vous souhaitez attribuer à chacun la clé de. (n'oubliez pas d'enregistrer une copie du fichier que vous éditez)

ça devrait ressembler à ça

key <TLDE> { [dead_grave, dead_tilde,         grave,       asciitilde ] };

key <AE01> { [     1,     exclam,    exclamdown,      onesuperior ] };
key <AE02> { [     2,         at,   twosuperior, dead_doubleacute ] };
key <AE03> { [     3, numbersign, threesuperior,      dead_macron ] };
key <AE04> { [     4,     dollar,      currency,         sterling ] };
key <AE05> { [     5,    percent,      EuroSign,     dead_cedilla ] };
key <AE06> { [    6, dead_circumflex,    onequarter,      asciicircum ] };
key <AE07> { [     7,  ampersand,       onehalf,    dead_horn ] };
key <AE08> { [     8,   asterisk, threequarters,      dead_ogonek ] };
key <AE09> { [     9,  parenleft, leftsinglequotemark, dead_breve ] };
key <AE10> { [     0, parenright, rightsinglequotemark, dead_abovering ] };
key <AE11> { [ bracketleft,  braceleft,  guillemotleft, leftdoublequotemark ] };
key <AE12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };

key <AD01> { [dead_acute, dead_diaeresis, apostrophe,        quotedbl ] };
key <AD02> { [     comma,       less,      ccedilla,         Ccedilla ] };
key <AD03> { [    period,    greater, dead_abovedot,       dead_caron ] };
key <AD04> { [     p,          P,    odiaeresis,       Odiaeresis ] };
key <AD05> { [     y,          Y,    udiaeresis,       Udiaeresis ] };
// key <AD06> { [      f,   F       ]   };
// key <AD07> { [      g,   G       ]   };
key <AD08> { [     c,          C,     copyright,             cent ] };
key <AD09> { [     r,          R,    registered,       registered ] };
key <AD10> { [     l,          L,        oslash,         Ooblique ] };
key <AD11> { [     slash,   question,  questiondown,        dead_hook ] };
// key <AD12> { [     equal,       plus,      multiply,         division ] };

key <AC01> { [     a,          A,        aacute,           Aacute ] };
key <AC02> { [     o,          O,        oacute,           Oacute ] };
key <AC03> { [     e,          E,        eacute,           Eacute ] };
key <AC04> { [     u,          U,        uacute,           Uacute ] };
key <AC05> { [     i,          I,        iacute,           Iacute ] };
key <AC06> { [     d,          D,           eth,              ETH ] };
// key <AC07> { [      h,   H       ]   };
key <AC08> { [     t,          T,         thorn,            THORN ] };
key <AC09> { [     n,          N,        ntilde,           Ntilde ] };
key <AC10> { [     s,          S,        ssharp,          section ] };
// key <AC11> { [     minus, underscore,           yen,    dead_belowdot ] };

key <AB01> { [ semicolon,      colon,     paragraph,           degree ] };
key <AB02> { [     q,          Q,    adiaeresis,       Adiaeresis ] };
// key <AB03> { [      j,   J       ]   };
key <AB04> { [     k,          K,            oe,               OE ] };
// key <AB05> { [      x,   X       ]   };
// key <AB06> { [      b,   B       ]   };
key <AB07> { [     m,          M,            mu,               mu ] };
key <AB08> { [     w,          W,         aring,            Aring ] };
// key <AB09> { [      v,   V       ]   };
key <AB10> { [     z,          Z,            ae,               AE ] };

key <BKSL> { [ backslash,        bar,       notsign,        brokenbar ] };

include "level3(ralt_switch)"

Pour utiliser l'exemple que vous avez donné, sur la ligne: key <AC03>remplacez epar U2496, qui est le code UTF correspondant . Dans le fichier / usr / share / X11 / xkb / symboles / bd, ils utilisent un codage comme "0x10009EA" mais je pense que vous pouvez utiliser le code UTF que vous pouvez trouver sur cette page.

une fois que vous avez terminé, vous pouvez enregistrer directement dans / usr / share / X11 / xkb / symboles / us ou / usr / share / X11 / xkb / symboles / gb que vous éditiez (ce qui fonctionne très bien, cela signifie simplement que vous avoir une mise en page bengali dans un fichier de mises en page en anglais), ou vous pouvez simplement copier le résultat dans le fichier / usr / share / X11 / xkb / symboles / bd et remplacer la mise en page par défaut par celle que vous venez de créer. faites juste attention et laissez tout ce code tel quel:

default  partial alphanumeric_keys
xkb_symbols "basic" {
   name[Group1]= "Bangla";
   key <ESC>  { [ Escape ] };

Ensuite, tout ce que vous devez faire est de supprimer tous les fichiers .xkm de "/ var / lib / xkb" et vous avez terminé, la disposition que vous venez de modifier est prête à être utilisée.

Quand j'ai créé ma propre mise en page en utilisant ce tutoriel (en utilisant la mise en page française bépo comme base à une mise en page russe qui correspond au bépo auquel je suis habitué), je n'ai pas trouvé de créer une nouvelle mise en page, c'est donc la façon dont j'ai utilisé pour y arriver.

Pour mieux illustrer cette explication, voici à quoi ressemble mon fichier / usr / share / X11 / xkb / symboles / fr. vous avez d'abord la disposition bépo par défaut, puis vous avez ma disposition bépo / russe. Notez que seules les deuxième, troisième et quatrième lignes sont modifiées. le code include "fr(bepo)"s'en charge pour que la première ligne de cette mise en page soit la première ligne de la mise en page bépo par défaut.

// Bépo : Improved ergonomic french keymap using Dvorak method.
// Built by community on 'Dvorak Fr / Bépo' :
// see http://www.clavier-dvorak.org/wiki/ to join and help.
// XOrg integration (1.0rc2 version) in 2008
// by Frédéric Boiteux <fboiteux at free dot fr>
//
// Bépo layout (1.0rc2 version) for a pc105 keyboard (french) :
// ┌─────┐
// │ S A │   S = Shift,  A = AltGr + Shift
// │ s a │   s = normal, a = AltGr
// └─────┘
//
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ # ¶ │ 1 „ │ 2 “ │ 3 ” │ 4 ≤ │ 5 ≥ │ 6   │ 7 ¬ │ 8 ¼ │ 9 ½ │ 0 ¾ │ ° ′ │ ` ″ ┃ ⌫ Retour┃
// │ $ – │ " — │ « < │ » > │ ( [ │ ) ] │ @ ^ │ + ± │ - − │ / ÷ │ * × │ = ≠ │ % ‰ ┃  arrière┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃       ┃ B ¦ │ É ˝ │ P § │ O Œ │ È ` │ !   │ V   │ D Ð │ L   │ J IJ │ Z Ə │ W   ┃Entrée ┃
// ┃Tab ↹  ┃ b | │ é ˊ │ p & │ o œ │ è ` │ ˆ ¡ │ v ˇ │ d ð │ l / │ j ij │ z ə │ w ̆  ┃   ⏎   ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
// ┃        ┃ A Æ │ U Ù │ I ˙ │ E ¤ │ ; ̛  │ C ſ │ T Þ │ S ẞ │ R ™ │ N   │ M º │ Ç , ┃      ┃
// ┃Maj ⇬   ┃ a æ │ u ù │ i ̈  │ e € │ , ’ │ c © │ t þ │ s ß │ r ® │ n ˜ │ m ¯ │ ç ¸ ┃      ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃       ┃ Ê   │ À   │ Y ‘ │ X ’ │ : · │ K   │ ? ̉  │ Q ̣  │ G   │ H ‡ │ F ª ┃             ┃
// ┃Shift ⇧┃ ê / │ à \ │ y { │ x } │ . … │ k ~ │ ' ¿ │ q ˚ │ g µ │ h † │ f ˛ ┃Shift ⇧      ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃       ┃       ┃       ┃ Espace inséc.   Espace inséc. fin ┃       ┃       ┃       ┃
// ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣ (Espace)      _               ␣ ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
partial alphanumeric_keys
xkb_symbols "bepo" {

    include "level3(ralt_switch)"
    include "keypad(oss)"

    name[Group1]= "French (Bepo, ergonomic, Dvorak way)";

    // First row
    key <TLDE> { [          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,      lessthanequal ] }; // ( 4 [ ≤
    key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [      parenright,            5,   bracketright,   greaterthanequal ] }; // ) 5 ] ≥
    key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [              at,            6,    asciicircum                 ] }; // @ 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> { [           equal,       degree,       notequal,        minutes ] }; // = ° ≠ ′
    key <AE12> { [         percent,        grave,          U2030,        seconds ] }; // % ` ‰ ″

    // Second row
    key <AD01> { [               b,            B,            bar,      brokenbar ] }; // b B | ¦
    key <AD02> { [          eacute,       Eacute,     dead_acute, dead_doubleacute ] }; // é É ˊ ˝
    key <AD03> { [               p,            P,      ampersand,        section ] }; // p P & §
    key <AD04> { [               o,            O,             oe,             OE ] }; // o O œ Œ
    key <AD05> { [          egrave,       Egrave,     dead_grave,          grave ] }; // è È ` `
    key <AD06> { [ dead_circumflex,       exclam,     exclamdown                 ] }; // ^ ! ¡
    key <AD07> { [               v,            V,     dead_caron                 ] }; // v V ˇ
    key <AD08> { [               d,            D,            eth,            ETH ] }; // d D ð Ð
    key <AD09> { [               l,            L,    dead_stroke                 ] }; // l L /
    key <AD10> { [               j,            J,          U0133,          U0132 ] }; // j J ij IJ
    key <AD11> { [               z,            Z,          schwa,          SCHWA ] }; // z Z ə Ə
    key <AD12> { [               w,            W,     dead_breve                 ] }; // w W ̆

    // Third row
    key <AC01> { [               a,            A,             ae,             AE ] }; // a A æ Æ
    key <AC02> { [               u,            U,         ugrave,         Ugrave ] }; // u U ù Ù
    key <AC03> { [               i,            I, dead_diaeresis,  dead_abovedot ] }; // i I ̈ ˙
    key <AC04> { [               e,            E,       EuroSign,  dead_currency ] }; // e E € ¤
    key <AC05> { [           comma,    semicolon, rightsinglequotemark, dead_horn ] }; // , ; ’ ̛
    key <AC06> { [               c,            C,      copyright,          U017F ] }; // c C © ſ
    key <AC07> { [               t,            T,          thorn,          THORN ] }; // t T þ Þ
    key <AC08> { [               s,            S,         ssharp,          U1E9E ] }; // s S ß ẞ
    key <AC09> { [               r,            R,     registered,      trademark ] }; // r R ® ™
    key <AC10> { [               n,            N,     dead_tilde                 ] }; // n N ~
    key <AC11> { [               m,            M,    dead_macron,      masculine ] }; // m M ̄ º
    key <BKSL> { [        ccedilla,     Ccedilla,   dead_cedilla, dead_belowcomma ] }; // ç Ç ¸ ,

    // Fourth row
    key <LSGT> { [     ecircumflex,  Ecircumflex,          slash                 ] }; // ê Ê /
    key <AB01> { [          agrave,       Agrave,      backslash                 ] }; // à À \
    key <AB02> { [               y,            Y,      braceleft, leftsinglequotemark  ] }; // y Y { ‘
    key <AB03> { [               x,            X,     braceright, rightsinglequotemark ] }; // x X } ’
    key <AB04> { [          period,        colon,       ellipsis, periodcentered ] }; // . : … ·
    key <AB05> { [               k,            K,     asciitilde                 ] }; // k K ~
    key <AB06> { [      apostrophe,     question,   questiondown,      dead_hook ] }; // ' ? ¿ ̉
    key <AB07> { [               q,            Q, dead_abovering,  dead_belowdot ] }; // q Q ˚ ̣
    key <AB08> { [               g,            G,     dead_greek                 ] }; // g G µ
    key <AB09> { [               h,            H,         dagger,   doubledagger ] }; // h H † ‡
    key <AB10> { [               f,            F,    dead_ogonek,    ordfeminine ] }; // f F ̨ ª

    key <SPCE> { [           space, nobreakspace,     underscore,          U202F ] }; // ␣ (espace insécable) _ (espace insécable fin)
};

// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┲━━━━━━━━━━━━━━━┓
// │ #   ¶ │ 1   „ │ 2   “ │ 3   ” │ 4   ≤ │ 5   ≥ │ 6     │ 7   ¬ │ 8   ¼ │ 9   ½ │ 0   ¾ │ °   ′ │ `   ″ ┃               ┃
// │ $   – │ "   — │ «   < │ »   > │ (   [ │ )   ] │ @   ^ │ +   ± │ -   − │ /   ÷ │ *   × │ =   ≠ │ %   ‰ ┃      <--      ┃
// ┢━━━━━━━┷━━━┱───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┺━━━┳━━━━━━━━━━━┫
// ┃    |<-    ┃ Б   ¦ │ Ы   Ѝ │ П   § │ О   І │ Ь   Ї │ !     │ В     │ Д   Ђ │ Л   Љ │ Ж   Ј │ З   Ѕ │ Ш     ┃      |    ┃
// ┃    ->|    ┃ б   | │ ы   ѝ │ п   & │ о   і │ ь   ї │ №   ¡ │ в   ˇ │ д   ђ │ л   љ │ ж   ј │ з   ѕ │ ш   ˘ ┃    <-'    ┃b é p o è ^ v d l j z w
// ┣━━━━━━━━━━━┻━┱─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┺━┓         ┃
// ┃             ┃ А   Ѣ │ У   Ў │ И   Й │ Е   Ё │ ;    ̛ │ Ц   ſ │ Т   Ћ │ С   ẞ │ Р   ™ │ Н   Њ │ М   º │ Щ   Џ ┃         ┃
// ┃    CAPS     ┃ а   ѣ │ у   ў │ и   й │ е   ё │ ,   ’ │ ц   © │ т   ћ │ с   ß │ р   ® │ н   њ │ м   ¯ │ щ   џ ┃         ┃a u i e , c t s r n m ç
// ┣━━━━━━━┳━━━━━┹─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┲━━━━━┷━━━━━━━┻━━━━━━━━━┫
// ┃   ^   ┃ Э   Є │ Я     │ Ю   ‘ │ Х   ’ │ :   · │ К   Ќ │ ?    ̉ │ Ъ    ̣ │ Г   Ѓ │ Ч   Ґ │ Ф   ª ┃           ^           ┃
// ┃   |   ┃ э   є │ я   \ │ ю   { │ х   } │ .   … │ к   ќ │ '   ¿ │ ъ   ° │ г   ѓ │ ч   ґ │ ф   ˛ ┃           |           ┃ê à y x . k ' q g h f
// ┣━━━━━━━┻━━━┳━━━┷━━━━━┳━┷━━━━━━━╈━━━━━━━┷━━━━━━━┷━━━━━━━┷━━━━━━━┷━━━━━━━┷━━━━━┳━┷━━━━━━━╈━━━━━━━┻━┳━━━━━━━━━┳━━━━━━━━━━━┫
// ┃           ┃         ┃         ┃           ␣                   NNBSP         ┃         ┃         ┃         ┃           ┃
// ┃   Ctrl    ┃  WinG   ┃   Alt   ┃           ⍽                     _           ┃  AltGr  ┃  WinD   ┃  WinM   ┃   Ctrl    ┃
// ┗━━━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━━━┛

// based on a keyboard map from http://forum.bepo.fr/viewtopic.php?id=695

partial alphanumeric_keys
xkb_symbols "bepo_latin9" {

    // Restricts the fr(bepo) layout to latin9 symbols

    include "fr(bepo)"

    name[Group1]="French (Bepo, ergonomic, Dvorak way, Latin-9 only)";

    // Second row
    key <AD01> { [       Cyrillic_be,       Cyrillic_BE,                       bar,                   brokenbar ] }; // б Б | ¦
    key <AD02> { [       Cyrillic_yeru,     Cyrillic_YERU,                   U045D,                       U040D ] }; // ы Ы ѝ Ѝ
    key <AD03> { [       Cyrillic_pe,       Cyrillic_PE,                 ampersand,                     section ] }; // п П & §
    key <AD04> { [        Cyrillic_o,        Cyrillic_O,               Ukrainian_i,                  Ukrainian_I] }; // о О і І 
    key <AD05> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN,              Ukrainian_yi,                Ukrainian_YI ] }; // ь Ь ї Ї
    key <AD06> { [        numerosign,            exclam,                exclamdown                              ] }; // № ! ¡
    key <AD07> { [       Cyrillic_ve,       Cyrillic_VE,                dead_caron                              ] }; // в В ˇ
    key <AD08> { [       Cyrillic_de,       Cyrillic_DE,               Serbian_dje,                 Serbian_DJE ] }; // д Д ђ Ђ
    key <AD09> { [       Cyrillic_el,       Cyrillic_EL,              Cyrillic_lje,                Cyrillic_LJE ] }; // л Л љ Љ
    key <AD10> { [      Cyrillic_zhe,      Cyrillic_ZHE,                Cyrillic_je,                 Cyrillic_JE] }; // ж Ж ј Ј
    key <AD11> { [       Cyrillic_ze,       Cyrillic_ZE,             Macedonia_dse,               Macedonia_DSE ] }; // з З ѕ Ѕ
    key <AD12> { [      Cyrillic_sha,      Cyrillic_SHA,                dead_breve                              ] }; // ш Ш ˘

    // Third row
    key <AC01> { [        Cyrillic_a,        Cyrillic_A,                     U0463,                        U0462] }; // а А ѣ Ѣ
    key <AC02> { [        Cyrillic_u,        Cyrillic_U,       Byelorussian_shortu,          Byelorussian_SHORTU] }; // у У ў Ў
    key <AC03> { [        Cyrillic_i,        Cyrillic_I,           Cyrillic_shorti,              Cyrillic_SHORTI] }; // и И й Й
    key <AC04> { [       Cyrillic_ie,       Cyrillic_IE,               Cyrillic_io,                  Cyrillic_IO] }; // е Е ё Ё
    key <AC06> { [      Cyrillic_tse,      Cyrillic_TSE,                 copyright,                       U017F ] }; // ц Ц © ſ
    key <AC07> { [       Cyrillic_te,       Cyrillic_TE,              Serbian_tshe,                 Serbian_TSHE] }; // т Т ћ Ћ
    key <AC08> { [       Cyrillic_es,       Cyrillic_ES,                    ssharp,                        U1E9E] }; // с С ß ẞ
    key <AC09> { [       Cyrillic_er,       Cyrillic_ER,                registered,                   trademark ] }; // р Р ® ™
    key <AC10> { [       Cyrillic_en,       Cyrillic_EN,              Cyrillic_nje,                 Cyrillic_NJE] }; // н Н њ Њ
    key <AC11> { [       Cyrillic_em,       Cyrillic_EM,               dead_macron,                   masculine ] }; // м М ¯ º
    key <BKSL> { [    Cyrillic_shcha,    Cyrillic_SHCHA,             Cyrillic_dzhe,                Cyrillic_DZHE] }; // щ Щ џ Џ

    // Fourth row
    key <LSGT> { [        Cyrillic_e,        Cyrillic_E,              Ukrainian_ie,                Ukrainian_IE ] }; // э Э є Є
    key <AB01> { [       Cyrillic_ya,       Cyrillic_YA,                 backslash                              ] }; // я Я \
    key <AB02> { [       Cyrillic_yu,       Cyrillic_YU,                 braceleft,         leftsinglequotemark ] }; // ю Ю { ‘
    key <AB03> { [       Cyrillic_ha,       Cyrillic_HA,                braceright,        rightsinglequotemark ] }; // х Х } ’
    key <AB05> { [       Cyrillic_ka,       Cyrillic_KA,             Macedonia_kje,               Macedonia_KJE ] }; // к К ќ Ќ
    key <AB07> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN,            dead_abovering,               dead_belowdot ] }; // ъ Ъ °  ̣
    key <AB08> { [      Cyrillic_ghe,      Cyrillic_GHE,             Macedonia_gje,               Macedonia_GJE ] }; // г Г ѓ Ѓ
    key <AB09> { [      Cyrillic_che,      Cyrillic_CHE, Ukrainian_ghe_with_upturn,   Ukrainian_GHE_WITH_UPTURN ] }; // ч Ч ґ Ґ
    key <AB10> { [       Cyrillic_ef,       Cyrillic_EF,               dead_ogonek,                 ordfeminine ] }; // ф Ф ˛ ª

1

Sooo, je n'ai jamais utilisé cette langue, mais dans votre réglage, vous pouvez aller au clavier, cliquer sur les paramètres de mise en page, sur le petit +, puis rechercher bengali et je peux voir différents types de probhat, vous pouvez rechercher Dvorak à l'intérieur, mais après quelques tests, vous devriez trouver ce que vous voulez.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.