Custom Cyrillic layout for QWERTY keyboards

Discussion of natural languages, or language in general.
Post Reply
User avatar
Buran
Lebom
Lebom
Posts: 135
Joined: Mon Sep 10, 2012 2:28 pm
Location: Vancouver, BC

Custom Cyrillic layout for QWERTY keyboards

Post by Buran »

Note that in this post, "Cyrillic" is used to mean the Russian Cyrillic alphabet.

I have a piece of software called Microsoft Keyboard Creator 1.4, which, as the name implies, is used to create custom keyboard layouts. I've used this to create keyboard layouts that allow for easy typing of characters that would otherwise force me to hunt through Character Map. I had the idea of using the same tool to create a keyboard layout for typing in Cyrillic, while maintaining the familiar QWERTY layout- and also allowing the user to type digraphs which will be registered as a single Cyrillic letter. Thus, the user can type what would appear on QWERTY to be a conventional Latin alphabet transliteration (using <sh>, <zh>, <ch>, <kh>, etc.).

For example, the input "Zdravstvujte! Menya zovut Ivan." produces "Здравствуйте! Меня зовут Иван." But wait, "ya" is <я>... how do two keystrokes get converted into one letter? Through the magic of dead keys. "y" is a dead key- press it, and nothing happens, but press a vowel, and it will produce the appropriate Cyrillic letter. If you're not using <š> and <ž>, "s" and "z" can be dead keys as well (although they'll only produce <ш> and <ж> when the next key pressed is "h"; otherwise, they just produce <с> and <з>).

Code: Select all

Table of transliterations (Latin alphabetical order, prototypical)
* = dead key
** = only appears after dead key
X + Y means "Y typed immediately after X (which is a dead key)".

Latin input          Cyrillic
a                    а
b                    б
c*                   ч (so "h" can optionally be omitted)
c + h                ч
d                    д
e                    е
f                    ф
g                    г
h**                  (none)
i                    и
j                    ъ
k*                   к
k + h                х
l                    л
m                    м
n                    н
o                    о
p                    п
r                    р
s*                   с
s + h                ш
t*                   т
t + s                ц 
u                    у
v                    в
y*                   й
y + a                я
y + e                е
y + i                ы
y + o                ё
y + u                ю
z*                   з
z + h                ж
It's not perfect, but that's why it's a prototype. The use of both <y> and <j> is a bit ugly, yes, but it's better than using <'> for ъ and either <j> or <y> and a vowel (or no vowel, for ы) for й, я, ы, ё, and ю.

What do you think? Is there a more convenient transliteration? Should C and H be used differently, and should Q and X be used somehow (perhaps for ч and х)?

User avatar
finlay
Sumerul
Sumerul
Posts: 3600
Joined: Mon Dec 22, 2003 12:35 pm
Location: Tokyo

Re: Custom Cyrillic layout for QWERTY keyboards

Post by finlay »

I don't like using dead keys for this purpose - what if you want to type йа and you get я instead? I mean I know that that doesn't really happen with Russian spelling, but still... on the mac at least there is a qwerty russian keyboard - it uses keys like q, which wouldn't be used in your romanization, for я. Or you could just learn to type with the default keyboard.

User avatar
Buran
Lebom
Lebom
Posts: 135
Joined: Mon Sep 10, 2012 2:28 pm
Location: Vancouver, BC

Re: Custom Cyrillic layout for QWERTY keyboards

Post by Buran »

finlay wrote:I don't like using dead keys for this purpose - what if you want to type йа and you get я instead? I mean I know that that doesn't really happen with Russian spelling, but still... on the mac at least there is a qwerty russian keyboard - it uses keys like q, which wouldn't be used in your romanization, for я. Or you could just learn to type with the default keyboard.
If you wanted to type йа, you could just input "yya". Ideally though, there is a 1:1 correspondence of letter to key, and using Q and X would improve that. Alternately, there could be a different key for palatisation (for example ` or \ (which I use on my own custom layout for the caron, and which I find more convenient than `)). There's also AltGr, although that's slightly more inconvenient and not all keyboards have it. How about a layout like this:

Code: Select all

Latin input          Cyrillic
a                    а
b                    б
c                    ц
d                    д
e                    е
f                    ф
g                    г
h                    х
i                    и
j                    ъ
k                    к
l                    л
m                    м
n                    н
o                    о
p                    п
q                    ч
r                    р
s                    с
t                    т
u                    у
v                    в
y + y                й
y + a                я
y + e                е
y + i                ы
y + o                ё
y + u                ю
z                    з
\ + s                ш
\ + z                ж
Now "y" and "\" are the only dead keys. For й, "y" is double tapped, which I've found is very easy to get used to. "c" is ц, which I thought would be a nice touch, given how Czech uses it, and "q" is ч (I took some inspiration from Chinese Romanization); both can, again, be easily reassigned. What does your ideal Cyrillic keyboard layout look like?

User avatar
finlay
Sumerul
Sumerul
Posts: 3600
Joined: Mon Dec 22, 2003 12:35 pm
Location: Tokyo

Re: Custom Cyrillic layout for QWERTY keyboards

Post by finlay »

Um well there are some out there already, and they tend to be яверты or яжерты - notice that y is ы and w and v can swap places. Ш and щ (which you keep missing from your list) are relegated to the top right corner where the [] keys are, and any of ю, ё, ч get relegated to the top line instead of numbers or `. Also i should perhaps note that ё isn't given a different button on my phone's ime as it's really an uncommon variant of е (although й does have its own key and on qwerty based layouts it is usually in place of j, rather than y). Trouble is there are too many letters in Russian cyrillic to match with latin.

User avatar
finlay
Sumerul
Sumerul
Posts: 3600
Joined: Mon Dec 22, 2003 12:35 pm
Location: Tokyo

Re: Custom Cyrillic layout for QWERTY keyboards

Post by finlay »

Oh yeah, as for щ, it's traditionally transcribed shch; should we be writing that, now? And what about ь? It's missing!

User avatar
Kereb
Avisaru
Avisaru
Posts: 463
Joined: Sat Feb 12, 2005 12:59 pm
Location: Flavor Country™
Contact:

Re: Custom Cyrillic layout for QWERTY keyboards

Post by Kereb »

you'd think one would want to map j to ь and not ъ ...
hey maybe it was a typo??
<Anaxandridas> How many artists do you know get paid?
<Anaxandridas> Seriously, name five.

User avatar
Buran
Lebom
Lebom
Posts: 135
Joined: Mon Sep 10, 2012 2:28 pm
Location: Vancouver, BC

Re: Custom Cyrillic layout for QWERTY keyboards

Post by Buran »

Sorry, it was a typo. I'm no Cyrillic expert. The point of this keyboard idea is to type Cyrillic with a QWERTY keyboard, with minimal rearrangement of keys, so Latin K corresponds to Cyrillic К, F to Ф, and P to П, and not another arrangement which must be learned from scratch. Unfortunately, 26 keys are not enough to represent the Cyrillic alphabet (seriously, what's with the whole separate ya/yi/yo/yu characters? Wouldn't й + vowel suffice?). Other solutions usually put the extra characters on number or punctuation keys. I'd like to avoid that, and the easiest way to do that is dead keys.

Again, I'm no master of Cyrillic. If you would be so kind as to devise a way of inputting Cyrillic letters with no direct Latin counterpart, that would be excellent.

User avatar
Nortaneous
Sumerul
Sumerul
Posts: 4544
Joined: Mon Apr 13, 2009 1:52 am
Location: the Imperial Corridor

Re: Custom Cyrillic layout for QWERTY keyboards

Post by Nortaneous »

Here's what the default Linux QWERTY one does, although this one sucks:

ё
явертыуиопшщэ
асдфгхйклчю
зьцжбнм

Here's what the web one I use does:

ъщ
яшертыуиопюэё
асдфгхйклчь
зжцвбнм
Siöö jandeng raiglin zåbei tandiüłåd;
nää džunnfin kukuch vklaivei sivei tåd.
Chei. Chei. Chei. Chei. Chei. Chei. Chei.

Post Reply