Created
November 14, 2008 11:33
-
-
Save svetlyak40wt/24877 to your computer and use it in GitHub Desktop.
XKB config with typography and Alt+Space language switching
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
xkb_keymap "rusadv" | |
{ | |
xkb_keycodes | |
{ | |
include "xfree86" | |
}; | |
xkb_types | |
{ | |
include "default" | |
}; | |
xkb_compatibility | |
{ | |
include "default" | |
include "xfree86" | |
indicator "Caps Lock" { | |
modifiers= None; | |
groups=All-group1; | |
}; | |
// Shift to the 3rd group | |
interpret ISO_Last_Group_Lock { action = SetGroup(group=3); }; | |
}; | |
xkb_symbols | |
{ | |
include "pc+us+ru(winkeys)" | |
name[Group1] = "US/ASCII"; | |
name[Group2] = "Russian"; | |
name[Group3] = "Polygraphy symbols"; | |
key <ESC> { | |
[Escape] | |
}; | |
# 1st keyboard row | |
key <TLDE> { | |
[quoteleft, asciitilde], | |
[Cyrillic_io, Cyrillic_IO], | |
[acute, approxeq] | |
}; | |
key <AE01> { | |
[1, exclam], | |
[1, exclam], | |
[onesuperior, onesuperior] | |
}; | |
key <AE02> { | |
[2, at], | |
[2, quotedbl], | |
[twosuperior, twosuperior] | |
}; | |
key <AE03> { | |
[3, numbersign], | |
[3, numerosign], | |
[threesuperior, threesuperior] | |
}; | |
key <AE04> { | |
[4, dollar], | |
[4, semicolon], | |
[section, section] | |
}; | |
key <AE05> { | |
[5, percent], | |
[5, colon], | |
[0x01002030, 0x01002030] | |
}; | |
key <AE06> { | |
[6, asciicircum], | |
[6, comma] | |
}; | |
key <AE07> { | |
[7, ampersand], | |
[7, period], | |
[questiondown, question] | |
}; | |
key <AE08> { | |
[8, asterisk], | |
[8, semicolon] | |
}; | |
key <AE09> { | |
[9, parenleft] | |
}; | |
key <AE10> { | |
[0, parenright] | |
}; | |
key <AE11> { | |
[minus, underscore], | |
[minus, underscore], | |
[emdash, hyphen] | |
}; | |
key <AE12> { | |
[equal, plus], | |
[equal, plus], | |
[notequal, plusminus] | |
}; | |
key <BKSL> { | |
[backslash, bar], | |
[backslash, bar] | |
}; | |
key <BKSP> { | |
[BackSpace] | |
}; | |
############################# | |
# 2nd keyboard row | |
key <TAB> { | |
[Tab, ISO_Left_Tab] | |
}; | |
key <AD01> { | |
[q, Q], | |
[Cyrillic_shorti, Cyrillic_SHORTI], | |
[q, onequarter] | |
}; | |
key <AD02> { | |
[w, W], | |
[Cyrillic_tse, Cyrillic_TSE] | |
}; | |
key <AD03> { | |
[e, E], | |
[Cyrillic_u, Cyrillic_U], | |
[EuroSign, oneeighth] | |
}; | |
key <AD04> { | |
[r, R], | |
[Cyrillic_ka, Cyrillic_KA], | |
[registered, R] | |
}; | |
key <AD05> { | |
[t, T], | |
[Cyrillic_ie, Cyrillic_IE], | |
[trademark, onethird] | |
}; | |
key <AD06> { | |
[y, Y], | |
[Cyrillic_en, Cyrillic_EN] | |
}; | |
key <AD07> { | |
[u, U], | |
[Cyrillic_ghe, Cyrillic_GHE] | |
}; | |
key <AD08> { | |
[i, I], | |
[Cyrillic_sha, Cyrillic_SHA] | |
}; | |
key <AD09> { | |
[o, O], | |
[Cyrillic_shcha, Cyrillic_SHCHA], | |
[masculine, O] | |
}; | |
key <AD10> { | |
[p, P], | |
[Cyrillic_ze, Cyrillic_ZE], | |
[acute, doubleacute] | |
}; | |
key <AD11> { | |
[bracketleft, braceleft], | |
[Cyrillic_ha, Cyrillic_HA] | |
}; | |
key <AD12> { | |
[bracketright, braceright], | |
[Cyrillic_hardsign, Cyrillic_HARDSIGN] | |
}; | |
############################# | |
# 3rd keyboard row | |
key <AC01> { | |
[a, A], | |
[Cyrillic_ef, Cyrillic_EF], | |
[0x1000301, A] | |
}; | |
key <AC02> { | |
[s, S], | |
[Cyrillic_yeru, Cyrillic_YERU], | |
[section, S] | |
}; | |
key <AC03> { | |
[d, D], | |
[Cyrillic_ve, Cyrillic_VE], | |
[degree, D] | |
}; | |
key <AC04> { | |
[f, F], | |
[Cyrillic_a, Cyrillic_A], | |
[sterling, F] | |
}; | |
key <AC05> { | |
[g, G], | |
[Cyrillic_pe, Cyrillic_PE] | |
}; | |
key <AC06> { | |
[h, H], | |
[Cyrillic_er, Cyrillic_ER], | |
[h, onehalf] | |
}; | |
key <AC07> { | |
[j, J], | |
[Cyrillic_o, Cyrillic_O], | |
[doublelowquotemark, J] | |
}; | |
key <AC08> { | |
[k, K], | |
[Cyrillic_el, Cyrillic_EL], | |
[leftdoublequotemark, leftsinglequotemark] | |
}; | |
key <AC09> { | |
[l, L], | |
[Cyrillic_de, Cyrillic_DE], | |
[rightdoublequotemark, rightsinglequotemark] | |
}; | |
key <AC10> { | |
[semicolon, colon], | |
[Cyrillic_zhe, Cyrillic_ZHE], | |
[leftsinglequotemark, seconds] | |
}; | |
key <AC11> { | |
[quoteright, quotedbl], | |
[Cyrillic_e, Cyrillic_E], | |
[rightsinglequotemark, minutes] | |
}; | |
key <RTRN> { | |
[Return] | |
}; | |
############################# | |
# 4th keyboard row | |
key <AB01> { | |
[z, Z], | |
[Cyrillic_ya, Cyrillic_YA] | |
}; | |
key <AB02> { | |
[x, X], | |
[Cyrillic_che, Cyrillic_CHE], | |
[multiply, 0x010022C5] | |
}; | |
key <AB03> { | |
[c, C], | |
[Cyrillic_es, Cyrillic_ES], | |
[copyright, C] | |
}; | |
key <AB04> { | |
[v, V], | |
[Cyrillic_em, Cyrillic_EM] | |
}; | |
key <AB05> { | |
[b, B], | |
[Cyrillic_i, Cyrillic_I] | |
}; | |
key <AB06> { | |
[n, N], | |
[Cyrillic_te, Cyrillic_TE] | |
}; | |
key <AB07> { | |
[m, M], | |
[Cyrillic_softsign, Cyrillic_SOFTSIGN] | |
}; | |
key <AB08> { | |
[comma, less], | |
[Cyrillic_be, Cyrillic_BE], | |
[guillemotleft, doublelowquotemark] | |
}; | |
key <AB09> { | |
[period, greater], | |
[Cyrillic_yu, Cyrillic_YU], | |
[guillemotright, rightdoublequotemark] | |
}; | |
key <AB10> { | |
[slash, question], | |
[slash, question], | |
[ellipsis, question] | |
}; | |
############################# | |
# the last keyboard row | |
key <SPCE> { | |
[space, space], | |
[space, space], | |
[nobreakspace, nobreakspace] | |
}; | |
############################# | |
# arrows keys | |
key <LEFT> { | |
[Left], | |
[Left], | |
[0x1002190, 0x10021D0] | |
}; | |
key <UP> { | |
[Up], | |
[Up], | |
[0x1002191, 0x10021D1] | |
}; | |
key <RGHT> { | |
[Right], | |
[Right], | |
[0x1002192, 0x10021D2] | |
}; | |
key <DOWN> { | |
[Down], | |
[Down], | |
[0x1002193, 0x10021D3] | |
}; | |
// Switches: | |
// Alt+Space - permanent switch between en and ru | |
key <SPCE> { | |
type="PC_ALT_LEVEL2", | |
symbols[Group1]= [ space, ISO_Next_Group], | |
symbols[Group2]= [ space, ISO_Prev_Group] | |
}; | |
// RAlt - temporary switch to 3rd group | |
key <RALT> { | |
[ISO_Last_Group_Lock, ISO_Last_Group_Lock], | |
[ISO_Group_Shift, ISO_Group_Shift] | |
}; | |
}; | |
xkb_geometry | |
{ | |
include "pc(pc105)" | |
}; | |
}; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment