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 e
par 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 ] }; // ф Ф ˛ ª
/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.