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 ж
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 х)?