// xkb configuration file // use LShift+RShift to switch between en<->ru(winkeys) // use RAlt to temporary switch to typography layout // (c) Sergei Stolyarov // Last modified: Fri, 05 Sep 2008 22:56:44 +0700 xkb_keymap "rusadv" { xkb_keycodes { include "xfree86" }; xkb_types { include "default" }; xkb_compatibility { include "default" include "xfree86" // Shift to the 3rd group interpret ISO_Last_Group_Lock { action = SetGroup(group=3); }; }; xkb_symbols { include "pc+us+ru" name[Group1] = "US/ASCII"; name[Group2] = "Russian"; name[Group3] = "Typography symbols"; key { [Escape] }; # 1st keyboard row key { [quoteleft, asciitilde], [Cyrillic_io, Cyrillic_IO], [acute, approxeq] }; key { [1, exclam], [1, exclam], [onesuperior, onesuperior] }; key { [2, at], [2, quotedbl], [twosuperior, twosuperior] }; key { [3, numbersign], [3, numerosign], [threesuperior, threesuperior] }; key { [4, dollar], [4, semicolon], [section, section] }; key { [5, percent], [5, percent], [0x01002030, 0x01002030] }; key { [6, asciicircum], [6, colon] }; key { [7, ampersand], [7, question], [questiondown, question] }; key { [8, asterisk] }; key { [9, parenleft] }; key { [0, parenright] }; key { [minus, underscore], [minus, underscore], [emdash, hyphen] }; key { [equal, plus], [equal, plus], [notequal, plusminus] }; key { [backslash, bar], [backslash, slash] }; key { [BackSpace] }; ############################# # 2nd keyboard row key { [Tab, ISO_Left_Tab] }; key { [q, Q], [Cyrillic_shorti, Cyrillic_SHORTI], [q, onequarter] }; key { [w, W], [Cyrillic_tse, Cyrillic_TSE] }; key { [e, E], [Cyrillic_u, Cyrillic_U], [EuroSign, oneeighth] }; key { [r, R], [Cyrillic_ka, Cyrillic_KA], [registered, R] }; key { [t, T], [Cyrillic_ie, Cyrillic_IE], [trademark, onethird] }; key { [y, Y], [Cyrillic_en, Cyrillic_EN] }; key { [u, U], [Cyrillic_ghe, Cyrillic_GHE] }; key { [i, I], [Cyrillic_sha, Cyrillic_SHA] }; key { [o, O], [Cyrillic_shcha, Cyrillic_SHCHA], [masculine, O] }; key { [p, P], [Cyrillic_ze, Cyrillic_ZE], [acute, doubleacute] }; key { [bracketleft, braceleft], [Cyrillic_ha, Cyrillic_HA] }; key { [bracketright, braceright], [Cyrillic_hardsign, Cyrillic_HARDSIGN] }; ############################# # 3rd keyboard row key { [a, A], [Cyrillic_ef, Cyrillic_EF], [0x1000301, A] }; key { [s, S], [Cyrillic_yeru, Cyrillic_YERU], [section, S] }; key { [d, D], [Cyrillic_ve, Cyrillic_VE], [degree, D] }; key { [f, F], [Cyrillic_a, Cyrillic_A], [sterling, F] }; key { [g, G], [Cyrillic_pe, Cyrillic_PE] }; key { [h, H], [Cyrillic_er, Cyrillic_ER], [h, onehalf] }; key { [j, J], [Cyrillic_o, Cyrillic_O], [doublelowquotemark, J] }; key { [k, K], [Cyrillic_el, Cyrillic_EL], [leftdoublequotemark, leftsinglequotemark] }; key { [l, L], [Cyrillic_de, Cyrillic_DE], [rightdoublequotemark, rightsinglequotemark] }; key { [semicolon, colon], [Cyrillic_zhe, Cyrillic_ZHE], [leftsinglequotemark, seconds] }; key { [quoteright, quotedbl], [Cyrillic_e, Cyrillic_E], [rightsinglequotemark, minutes] }; key { [Return] }; ############################# # 4th keyboard row key { [z, Z], [Cyrillic_ya, Cyrillic_YA] }; key { [x, X], [Cyrillic_che, Cyrillic_CHE], [multiply, 0x010022C5] }; key { [c, C], [Cyrillic_es, Cyrillic_ES], [copyright, C] }; key { [v, V], [Cyrillic_em, Cyrillic_EM] }; key { [b, B], [Cyrillic_i, Cyrillic_I] }; key { [n, N], [Cyrillic_te, Cyrillic_TE] }; key { [m, M], [Cyrillic_softsign, Cyrillic_SOFTSIGN] }; key { [comma, less], [Cyrillic_be, Cyrillic_BE], [guillemotleft, doublelowquotemark] }; key { [period, greater], [Cyrillic_yu, Cyrillic_YU], [guillemotright, rightdoublequotemark] }; key { [slash, question], [period, comma], [ellipsis, question] }; ############################# # the last keyboard row key { [space, space], [space, space], [nobreakspace, nobreakspace] }; ############################# # arrows keys key { [Left], [Left], [0x1002190, 0x10021D0] }; key { [Up], [Up], [0x1002191, 0x10021D1] }; key { [Right], [Right], [0x1002192, 0x10021D2] }; key { [Down], [Down], [0x1002193, 0x10021D3] }; // Switches: // LShift+RShift - permanent switch between en and ru(winkeys) // RAlt - temporary switch to 3rd group key { [Alt_L, ISO_Next_Group], [Alt_L, ISO_Prev_Group] }; key { type[Group1]="PC_ALT_LEVEL2", type[Group2]="PC_ALT_LEVEL2", symbols[Group1]= [ Shift_R, ISO_Next_Group ], symbols[Group2]= [ Shift_R, ISO_Prev_Group ] }; key { type[Group1]="PC_ALT_LEVEL2", type[Group2]="PC_ALT_LEVEL2", symbols[Group1]= [ Shift_L, ISO_Next_Group ], symbols[Group2]= [ Shift_L, ISO_Prev_Group ] }; key { [ISO_Last_Group_Lock, ISO_Last_Group_Lock], [ISO_Group_Shift, ISO_Group_Shift] }; // Some impovements // eliminate the caps lock key completely (replace with control) key { symbols[Group1]= [ Control_L, Control_L ] }; modifier_map Control { , }; }; xkb_geometry { include "pc(pc105)" }; };