¿Cómo cambiar una distribución del teclado a Dvorak que asume que la distribución del teclado es QWERTY?

12

Yo uso Dvorak como mi diseño de teclado principal. Para escribir en mi idioma nativo (bengalí), me gustaría usar el diseño Probhat . Pero Probhat supone que está utilizando un diseño QWERTY. ¿Cómo hago para entender que estoy usando Dvorak para que coincida con las teclas Dvorak correspondientes?

Aclaración: por ejemplo, cuando presiono 'E' ('D' en QWERTY), el diseño Probhat lo entiende como una 'D' (ড). Quiero que lo entienda como 'E' (ী).

Sayem
fuente
Después de la respuesta proporcionada en otra pregunta , eché un vistazo al diseño de Probhat ( /usr/share/X11/xkb/symbols/bd) y parece que los caracteres están codificados en las posiciones clave de un teclado. El teclado en sí asume que es un teclado QWERTY (macbook pro). Así que supongo que una de las formas podría ser cambiar los mapeos de teclas individuales de QWERTY a dvorak.
Sayem

Respuestas:

5

El archivo en la ubicación / usr / share / X11 / xkb / symbols / bd contiene lo siguiente como las últimas líneas:

//
// 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)";
};

En su caso, si entiendo correctamente, no debe editar este archivo, sino el diseño del archivo en la ubicación / usr / share / X11 / xkb / symbols / in

Localiza las líneas:

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

Entonces, comenzando la nueva reasignación de diseño.

¡Tenga en cuenta que no necesita reasignar cada clave 1 por 1 nuevamente porque los unicodes para su idioma ya están configurados para este diseño! Solo necesita reordenar las claves y esto funciona para cualquier idioma y / o diseño cuya fonética se base en qwerty y el usuario prefiera asignarla a dvorak estándar.

En su caso, el archivo / usr / share / X11 / xkb / symbols / in tiene este aspecto:

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  ] };

Esto le da a este diseño

Ahora solo necesita reordenar las teclas de esta manera:

// 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 ] };

Para que se vea a continuación en el archivo / usr / share / X11 / xkb / symbols / 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 última instancia, dando el diseño, supongo que te gustaría

Tenga en cuenta que debe hacer una copia de seguridad del diseño del archivo original antes de comenzar a editarlo y guardarlo como root o, de lo contrario, deberá descargarlo y restaurarlo desde freedesktop.org/wiki/Software/XKeyboardConfig

Aunque no entiendo nada del alfabeto, espero que esto pueda ayudar porque he estado usando el diseño dvorak también durante muchos años y espero que algún día pueda reemplazar el diseño qwerty de ser siempre el estándar :(

dmr_helper
fuente
1
Esto es exactamente lo que pedí. Accesorios para agregar las capturas de pantalla. Gracias.
Sayem
7

Método 1: usar un editor de texto

  1. Abre el archivo /etc/default/keyboardcomo root. Por ejemplo, puedes corrersudo nano /etc/default/keyboard
  2. Cambie la línea XKBMODEL="pc105"con su modelo de teclado (la lista completa está aquí , comenzando desde la línea 2).
  3. Cambie la línea XKBLAYOUT="en"con su diseño (presumiblemente "bd". Vea la lista completa arriba, comenzando desde la línea 189).
  4. Cambie la línea XKBVARIANT=""con su variante (vea la lista completa arriba, comenzando desde la línea 284).
  5. Guarde el archivo ( Ctrl+ Xy presione Y).
  6. Reinicie la configuración del teclado con sudo service keyboard-setup restart

Método 2: usando la keyboard-configurationherramienta.

  1. Instalar con sudo apt-get install keyboard-configuration(puede que ya lo tenga instalado)
  2. Ejecute el programa de configuración, escribiendo sudo dpkg-reconfigure keyboard-configuration
  3. Siga las instrucciones para seleccionar el modelo de su teclado, el diseño , la variante , etc.
  4. Reinicie la configuración del teclado con sudo service keyboard-setup restart

Fuente: adaptado de aquí .


fuente
La única buena respuesta! +1
Fabby
Gracias por la respuesta detallada. Sin embargo, no tengo ningún problema con cambiar el diseño.
Sayem
El diseño Probhat coloca caracteres que son similares a sus homólogos ingleses en estilo QWERTY. Para hacer una analogía, si estaba usando el diseño Dvorak en inglés y luego cambiaba al diseño francés, las letras francesas se colocan en estilo QWERTY.
Sayem
1
Extraño. Seguramente alguna combinación de las opciones debe funcionar. Si el bengalí asume QWERTY, ¿por qué no simplemente seleccionar cualquier modelo QWERTY como predeterminado? (incluso si el tuyo no lo es)
Parece que si hubiera una manera de establecer XKBLAYOUT=dvorak, convertiría todos los diseños que suponen un diseño QWERTY a Dvorak. Desafortunadamente, ese no es un valor válido (intenté configurarlo de todos modos pero no funcionó). Parece que la única opción que me queda es cambiar la asignación de teclas individuales para que se corresponda con el diseño de Dvorak.
Sayem
3

Primero tiene que instalar el ibus-avropaquete. Encontrarás una buena descripción de cómo hacerlo aquí . Tienes que abrir una terminal, hacer cd /usr/srcy seguir las instrucciones.

Luego, debe seleccionar la distribución del teclado desde la GUI como se describe.

Musbach
fuente
No quiero usar Avro. Quiero usar un diseño diferente (Probhat) mientras las letras corresponden a Dvorak en lugar de QWERTY.
Sayem
Entonces, solo sé SCIMcuál es para los idiomas asiáticos. Pero no es un diseño de teclado de Bengaline. Hay un informe de error en Ubuntu para bengalí (Jatiya / National) ( bugs.launchpad.net/ubuntu/+source/console-setup/+bug/1570233 ). Pero no sé la diferencia entre `Jatiya` y` Probhat`. Espero que ayude.
musbach
3

La forma más fácil para usted es editar un diseño dvorak existente.

Hay varias versiones del diseño dvorak disponibles en X11:

  • Inglés (Dvorak)
  • Inglés (Dvorak, internacional con claves muertas)
  • Inglés (Dvorak alternativa internacional sin claves inactivas) etc.

Búsquelos en el archivo / usr / share / X11 / xkb / symbols / us o / usr / share / X11 / xkb / symbols / gb.

La idea es elegir uno que no esté usando , elija el más conveniente en la lista, el más cercano al Dvorak que ya está usando, y reemplazar los caracteres en inglés en ese archivo con los caracteres bengalíes que desea asignar a cada uno. clave para. (no olvide guardar una copia del archivo que está editando)

Debe tener un aspecto como este

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)"

Para usar el ejemplo que dio, en la línea: key <AC03>reemplace econ U2496, que es el código UTF correspondiente . En el archivo / usr / share / X11 / xkb / symbols / bd usan una codificación como “0x10009EA” pero creo que puedes usar el código UTF que puedes encontrar en esta página.

una vez que haya terminado, puede guardar directamente en / usr / share / X11 / xkb / symbols / us o / usr / share / X11 / xkb / symbols / gb que estaba editando (lo cual funciona bien, solo significa que usted tener un diseño bengalí dentro de un archivo de diseños en inglés), o simplemente puede copiar el resultado en el archivo / usr / share / X11 / xkb / symbols / bd y reemplazar el diseño predeterminado con el que acaba de crear. solo ten cuidado y deja todo este código como está:

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

Entonces todo lo que necesita hacer es eliminar todos los archivos .xkm de "/ var / lib / xkb" y listo, el diseño que acaba de editar está listo para ser utilizado.

Cuando creé mi propio diseño usando este tutorial (usando el diseño francés bépo como base para un diseño ruso que corresponde al bépo al que estoy acostumbrado) no pude encontrar para crear un nuevo diseño, así es como solía hacerlo para que ocurra.

Para ilustrar mejor esta explicación, esto es lo que parece mi archivo / usr / share / X11 / xkb / symbols / fr. primero tiene el diseño bépo predeterminado, y luego tiene mi diseño bépo / ruso. Observe que solo se editan las filas segunda, tercera y cuarta. el código include "fr(bepo)"se encarga de eso, de modo que la primera fila de este diseño es la primera fila del diseño bépo predeterminado.

// 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 ] }; // ф Ф ˛ ª
Albizia
fuente
1

Así que nunca he usado este idioma, pero en su configuración puede ir al teclado, hacer clic en la configuración de diseño, en el pequeño +, luego buscar bengalí y puedo ver diferentes tipos de problemas, puede buscar Dvorak adentro, pero después algunas pruebas debes encontrar lo que quieres.

habló612
fuente