This package provides xkb/symbols/rulv map to get Russian and Latvian input simultaneously without dedicated keyboard switcher. It is convinient to use in lightweight desktop invironment. Latvian characters are entered using dead key.
Download and apply rulv.diff. The patch is against Xorg 1.15.1, xkb 2.10.1.
$ cd /usr/share/X11/xkb
$ patch -p0 -i /patch/to/rulv.diff
This will create symbols/rulv and modify following files:
compat/basic
rules/base
rules/evdev
symbols/group
If you're using EVDEV for input (the default) then call
$ setxkbmap -layout rulv -option grp:cat_tsd
to set the map. Put the command into ~/.xsessionrc or ~/.xinitrc (~/.config/xfce4/xinitrc for Xfce4).
Otherwise, for KEYBOARD driver edit xorg.conf. Find keyboard section - should starts with Section "InputDevice". Comment out all directives that starts with Xkb and put following text in:
        Option "XkbTypes"       "default"
        Option "XkbCompat"      "default"
        Option "XkbRules"       "xorg"
        Option "XkbModel"       "pc104"
        Option "XKbLayout"      "rulv"
        Option "XKbVariant"     "basic"
       #Option "XkbOptions"     "grp:caa_tsd" # Right Ctrl between English and Russian, switch to Latvian with apostrophe
        Option "XkbOptions"     "grp:cat_tsd" # Right Ctrl between English and Russian, switch to Latvian with tilde (grave)
       #Option "XkbOptions"     "grp:maa_tsd" # Menu between English and Russian, switch to Latvian with apostrophe
       #Option "XkbOptions"     "grp:mat_tsd" # Menu between English and Russian, switch to Latvian with tilde (grave)
Use grp:cat_tsd if you want to use tilde key to latch to Latvian or grp:caa_tsd to use apostrophe key.
Restart X server.

How to input
Group1 - US/ASCII, Group2 - Latvian, Group3 - Russian.
I found this scheme quite usable and intuitive. If you have comments/ideas please contact me at Arkadi.Shishlov at gmail.com.