Romanized Russian and jTranslit

Explicating a transliteration scheme.

Typing Russian characters on a plain old keyboard is hard. You could install another keyboard mapping, but this means you have to labouriously change change keyboard layout everytime you swap languages, and have to remember where how the Cyrillic characters are arranged. You could install some sort of virtual keyboard or chart (e.g. PopChar) and play hunt-and-peck, but that get's old real fast.

A useful solution I've found is jTranslit. This is just a straightforward, simple Java app that presents a space for you to type into. It watches what you type and makes substitutions, sometimes based on consequent pairs of characters. So, for example. jTranslit transliterates "dela" into "????".

A small problem is that the transliteration scheme used isn't specified or documented. Mostly, it just makes sense and verves close (but not exactly) to Translit or GOST 1971. For the greater internet good, here is what my experimentation has revealed: with a few modifications. Divergences from GOST are marked with an asterisk:

Cyrillic Keyboard
? ? a
? ? b
? ? v
? ? g
? ? d
? ? e
? ? jo*
? ? zh
? ? z
? ? i
? ? j
? ? k, q*
? ? l
? ? m
? ? n
? ? o
? ? p
? ? r
? ? s
? ? t
? ? u
? ? f
? ? x
? ? c*
? ? ch
? ? sh
? ? W*
? ? #
? ? y*
? ? '*
? ? ?
? ? ju*
? ? ja*