Skip to content

Instantly share code, notes, and snippets.

@kulicuu
Last active June 5, 2016 15:29
Show Gist options
  • Save kulicuu/f708b2cd913ea5d4323d to your computer and use it in GitHub Desktop.
Save kulicuu/f708b2cd913ea5d4323d to your computer and use it in GitHub Desktop.
dvorak russian keyboard layout

' " , <

. >

p P ::: П п :::: u+041f

y Y ::: Уу ::: u

f F :: ф Ф




a A :: А а

b B :: Б б , also on the same key we can have В в, and those can also be mapped from latin 'v'

(and we'll need to make our own dvorak french and spanish, because i can't find the right way to make certain symbols in the ones provided)

gG -- obviously г Г

dD -- дД

eE -- еЕ and on compose key 3rd level key: Ёё. so here we're going not so much for always a phonetic correspondence. a logographic preferred sometimes.

zZ :: from the compose 3rd-level key we get жЖ, but from plain we get зЗ

uU :: иИ and from compose 3rd-level йЙ

Kk :: кК

Ll :: лЛ

mM :: obvious latin 'm' to cyrrilic "em"

n N :: obvious that which looks like h here. maybe also from latin 'h' ? or do we need that for something else ?

oO :: obvious o-micron

pP :: as before obvious pi

cC and sS :: so the latin c and latin s to same place ? if we keep doubling we'll be in crazy shortage

tT :: тТ obvious

yY :: here logographic precedence, as phonetically there is little correspondence betwee latin 'y' and cyrrilic (russian) 'у'

fF :: as before phonetic to ф

xX :: хХ


now we have ::::::

cyrillic ц Ц :::: no clear and obvious correspondence. maybe 3rd level on latin 'x' (following the hebrew mapping of tsadik, or maybe a latin 'j'. going with latin 'q'

cyr ч Ч :::::::: no clear and obvious. maybe a 3rd level latin 'x' maybe these two would share the latin 'j' ? use the latin 'q' for this one and the one above.

cyr ш Ш ::::: clear correspondence with the hebrew, but there is nothing we could do with the latin 'e' as it's already covered on all four slots, plus we have two letters here to deal with. we do have the latin 'w', which is nice enough.

cyr ъ Ъ ::::::::: these are silent, maybe we can have 1st level latin 'h' to the russian phonetic of 'nun', and then the 3rd level can go here. (silent h)

cyr ы Ы :::::::: could use the latin 'i' as we haven't used that yet at all.

cyr ь Ь ::::::::::: this could be 3rd level latin 'i' as ъ was 3rd level latin 'h'

cyr э Э :::::::::: lunate epsilon reversed, but the latin 'e' is taken. here we use latin 'j', maybe because of it's variance around the world. a few different phonemes in spanish, and in hebrew it's vague maybe a 'yi' sound or maybe a long 'e' sound. so, we use the latin 'j'

cyr ю Ю ::::::::::::: use the third level of latin 'y'

cyr я Я :::::::::::::::::: use the third level of latin 'R' :: here going for something more logographic.

<variant>
<configItem>
<name>wjc-dvorak</name>
<description>dvorak-derived phonetic/logographic</description>
</configItem>
</variant>
partial alphanumeric_keys
xkb_symbols "wjc-dvorak" {
name[Group1]= "dvorak-derived phonetic/logographic";
key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, dollar ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
key <AE07> { [ 7, ampersand ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft, dead_grave] };
key <AE10> { [ 0, parenright ] };
key <AE11> { [ bracketleft, braceleft ] };
key <AE12> { [ bracketright, braceright, dead_tilde] };
key <AD01> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
key <AD02> { [ comma, less, dead_cedilla, dead_caron ] };
key <AD03> { [ period, greater, dead_abovedot, periodcentered ] };
key <AD04> { [ U043F, U041F ] };
key <AD05> { [ U0443, U0423 , U044E , U042E ] };
key <AD06> { [ U0444, U0424 ] };
key <AD07> { [ U0433, U0413 ] };
key <AD08> { [ U0441, U0421 ] };
key <AD09> { [ U0440, U0420 , U044F , U042F ] };
key <AD10> { [ U043B, U041B ] };
key <AD11> { [ slash, question ] };
key <AD12> { [ equal, plus ] };
key <AC01> { [ U0430, U0410 ] };
key <AC02> { [ U043E, U041E ] };
key <AC03> { [ U0435, U0415, U0451, U0401 ] };
key <AC04> { [ U0438, U0418, U0439, U0419 ] };
key <AC05> { [ U044B, U042B , U044C , U042C ] };
key <AC06> { [ U0434, U0414 ] };
key <AC07> { [ U043D, U041D, U044A , U042A ] };
key <AC08> { [ U0442, U0422 ] };
key <AC09> { [ U043D, U041D ] };
key <AC10> { [ U0441, U0421 ] };
key <AC11> { [ minus, underscore ] };
key <AB01> { [ semicolon, colon, dead_ogonek, dead_doubleacute ] };
key <AB02> { [ U0447, U0427, U0446, U0426 ] };
key <AB03> { [ U044D, U042D ] };
key <AB04> { [ U043A, U041A ] };
key <AB05> { [ U0445, U0425 ] };
key <AB06> { [ U0431, U0411, U0432, U0412 ] };
key <AB07> { [ U043C, U041C ] };
key <AB08> { [ U0448, U0428 ] };
key <AB09> { [ U0432, U0412 ] };
key <AB10> { [ U0437, U0417, U0436, U0416 ] };
key <BKSL> { [ backslash, bar ] };
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment