diff --git a/rules/base.xml.in b/rules/base.xml.in
index ffa70eb..7fe7c08 100644
--- a/rules/base.xml.in
+++ b/rules/base.xml.in
@@ -4253,6 +4253,12 @@
<_description>Russian (phonetic French)
+
+
+ rulemak
+ <_description>Russian (Rulemak, phonetic Colemak)
+
+
diff --git a/symbols/ru b/symbols/ru
index 294120e..84ea840 100644
--- a/symbols/ru
+++ b/symbols/ru
@@ -630,6 +630,75 @@ xkb_symbols "phonetic_fr" {
name[Group1]= "Russian (phonetic French)";
};
+// Rulemak, Colemak based Russian phonetic layout
+// contact: Geert Hendrickx
+// http://forum.colemak.com/viewtopic.php?id=519
+
+partial alphanumeric_keys
+xkb_symbols "rulemak" {
+ include "us(basic)"
+
+ name[Group1]= "Russian (Rulemak, phonetic Colemak)";
+
+ key { [ Cyrillic_io, Cyrillic_IO, U0300, asciitilde ] };
+ key { [ 1, exclam, U0301 ] };
+ key { [ 2, at, U030B ] };
+ key { [ 3, numerosign, numbersign ] };
+ key { [ 4, dollar, cent ] };
+ key { [ 5, percent, EuroSign ] };
+ key { [ 6, asciicircum, U0306 ] };
+ key { [ 7, ampersand, U0307 ] };
+ key { [ 8, asterisk, U0308 ] };
+ key { [ 9, parenleft, bracketleft ] };
+ key { [ 0, parenright, bracketright ] };
+ key { [ minus, underscore, endash, emdash ] };
+ key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, equal, plus ] };
+
+ key { [ Cyrillic_ya, Cyrillic_YA, q, Q ] };
+ key { [ Cyrillic_zhe, Cyrillic_ZHE, w, W ] };
+ key { [ Cyrillic_ef, Cyrillic_EF, f, F ] };
+ key { [ Cyrillic_pe, Cyrillic_PE, p, P ] };
+ key { [ Cyrillic_ghe, Cyrillic_GHE, g, G ] };
+ key { [ Cyrillic_shorti, Cyrillic_SHORTI, j, J ] };
+ key { [ Cyrillic_el, Cyrillic_EL, l, L ] };
+ key { [ Cyrillic_u, Cyrillic_U, u, U ] };
+ key { [ Cyrillic_yeru, Cyrillic_YERU, y, Y ] };
+ key { [ Cyrillic_yu, Cyrillic_YU, semicolon, colon ] };
+ key { [ Cyrillic_sha, Cyrillic_SHA, guillemotleft, braceleft ] };
+ key { [ Cyrillic_shcha, Cyrillic_SHCHA, guillemotright, braceright ] };
+ key { [ Cyrillic_e, Cyrillic_E, backslash, bar ] };
+
+ key { [ Cyrillic_a, Cyrillic_A, a, A ] };
+ key { [ Cyrillic_er, Cyrillic_ER, r, R ] };
+ key { [ Cyrillic_es, Cyrillic_ES, s, S ] };
+ key { [ Cyrillic_te, Cyrillic_TE, t, T ] };
+ key { [ Cyrillic_de, Cyrillic_DE, d, D ] };
+ key { [ Cyrillic_che, Cyrillic_CHE, h, H ] };
+ key { [ Cyrillic_en, Cyrillic_EN, n, N ] };
+ key { [ Cyrillic_ie, Cyrillic_IE, e, E ] };
+ key { [ Cyrillic_i, Cyrillic_I, i, I ] };
+ key { [ Cyrillic_o, Cyrillic_O, o, O ] };
+ key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, quotedbl ] };
+
+ key { [ Cyrillic_ze, Cyrillic_ZE, z, Z ] };
+ key { [ Cyrillic_ha, Cyrillic_HA, x, X ] };
+ key { [ Cyrillic_tse, Cyrillic_TSE, c, C ] };
+ key { [ Cyrillic_ve, Cyrillic_VE, v, V ] };
+ key { [ Cyrillic_be, Cyrillic_BE, b, B ] };
+ key { [ Cyrillic_ka, Cyrillic_KA, k, K ] };
+ key { [ Cyrillic_em, Cyrillic_EM, m, M ] };
+ key { [ comma, semicolon, less ] };
+ key { [ period, colon, greater ] };
+ key { [ slash, question ] };
+
+ key { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
+ key { [ U0301, asciitilde, grave ] };
+ key { [ space, space, space, nobreakspace ] };
+ key