Skip to content

Instantly share code, notes, and snippets.

@nhatminhle
Created March 17, 2013 13:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nhatminhle/5181522 to your computer and use it in GitHub Desktop.
Save nhatminhle/5181522 to your computer and use it in GitHub Desktop.
My own variation of the Canadian Multilingual Standard keymap. All AltGr combinations are on the right-hand side; modifiers are swapped around to fit various machines and keyboards that I have.
default partial
xkb_symbols "basic" {
name[Group1] = "Canada (RZ)";
key <TLDE> { [ egrave, Egrave, degree ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, dollar ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, question ] };
key <AE07> { [ 7, ampersand, braceleft ] };
key <AE08> { [ 8, asterisk, braceright ] };
key <AE09> { [ 9, parenleft, bracketleft ] };
key <AE10> { [ 0, parenright, bracketright ] };
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
key <AD01> { [ q, Q ] };
key <AD02> { [ w, W ] };
key <AD03> { [ e, E ] };
key <AD04> { [ r, R ] };
key <AD05> { [ t, T ] };
key <AD06> { [ y, Y ] };
key <AD07> { [ u, U, ugrave, Ugrave ] };
key <AD08> { [ i, I, section ] };
key <AD09> { [ o, O, oe, OE ] };
key <AD10> { [ p, P, paragraph ] };
key <AD11> { [dead_circumflex, dead_diaeresis, grave, dead_grave] };
key <AD12> { [ ccedilla, Ccedilla, asciitilde ] };
key <AC01> { [ a, A ] };
key <AC02> { [ s, S ] };
key <AC03> { [ d, D ] };
key <AC04> { [ f, F ] };
key <AC05> { [ g, G ] };
key <AC06> { [ h, H ] };
key <AC07> { [ j, J ] };
key <AC08> { [ k, K, guillemotleft ] };
key <AC09> { [ l, L, guillemotright ] };
key <AC10> { [ semicolon, colon, bar ] };
key <AC11> { [ egrave, Egrave, degree ] };
key <BKSL> { [ agrave, Agrave, aring, Aring ] };
key <LSGT> { [ slash, backslash ] };
key <AB01> { [ z, Z ] };
key <AB02> { [ x, X ] };
key <AB03> { [ c, C ] };
key <AB04> { [ v, V ] };
key <AB05> { [ b, B ] };
key <AB06> { [ n, N ] };
key <AB07> { [ m, M, backslash, mu ] };
key <AB08> { [ comma, apostrophe, less ] };
key <AB09> { [ period, quotedbl, greater ] };
key <AB10> { [ eacute, Eacute, slash, dead_acute ] };
key <SPCE> { [ space, space, nobreakspace ] };
};
partial
xkb_symbols "cherry_common" {
key <AC11> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Control_R ]
};
key <LCTL> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ VoidSymbol ]
};
key <RCTL> {
type[Group1] = "FOUR_LEVEL",
symbols[Group1] = [ egrave, Egrave, degree ]
};
key <DELE> {
type[Group1] = "FOUR_LEVEL",
symbols[Group1] = [ egrave, Egrave, degree ]
};
key <LWIN> { symbols[Group1] = [ Alt_L ] };
key <RWIN> { symbols[Group1] = [ Alt_L ] };
key <LALT> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
key <LSGT> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
key <MENU> { symbols[Group1] = [ Super_L ] };
key <INS> { symbols[Group1] = [ Super_L ] };
modifier_map Control { <AC11>, <CAPS> };
modifier_map Mod1 { <LWIN>, <RWIN>, <RALT> };
modifier_map Mod4 { <MENU> };
modifier_map Mod5 { ISO_Level3_Shift };
modifier_map Mod5 { <LALT>, <LSGT> };
};
partial
xkb_symbols "cherry" {
include "ca_rz(basic)"
include "ctrl(swapcaps)"
include "ca_rz(cherry_common)"
};
partial
xkb_symbols "cherry_onetbsd" {
include "pc/ca_rz(basic)"
include "ctrl(swapcaps)"
include "pc/ca_rz(cherry_common)"
};
partial
xkb_symbols "inspiron_common" {
key <AC11> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Control_R ]
};
key <MENU> {
type[Group1] = "FOUR_LEVEL",
symbols[Group1] = [ egrave, Egrave, degree ]
};
key <INS> {
type[Group1] = "FOUR_LEVEL",
symbols[Group1] = [ egrave, Egrave, degree ]
};
key <DELE> {
type[Group1] = "FOUR_LEVEL",
symbols[Group1] = [ agrave, Agrave, aring, Aring ]
};
key <LWIN> { symbols[Group1] = [ Alt_L ] };
key <RWIN> { symbols[Group1] = [ Alt_L ] };
key <LALT> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
key <LSGT> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
key <RCTL> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Super_L ]
};
modifier_map Control { <AC11>, <CAPS> };
modifier_map Mod1 { <LWIN>, <RWIN>, <RALT> };
modifier_map Mod4 { <MENU> };
modifier_map Mod5 { ISO_Level3_Shift };
modifier_map Mod5 { <LALT>, <LSGT> };
};
partial
xkb_symbols "inspiron" {
include "ca_rz(basic)"
include "ctrl(swapcaps)"
include "ca_rz(inspiron_common)"
};
partial
xkb_symbols "inspiron_onetbsd" {
include "pc/ca_rz(basic)"
include "ctrl(swapcaps)"
include "pc/ca_rz(inspiron_common)"
};
partial
xkb_symbols "hpmini_common" {
key <CAPS> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Control_L ]
};
key <AC11> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Control_R ]
};
key <RCTL> {
type[Group1] = "FOUR_LEVEL",
symbols[Group1] = [ egrave, Egrave, degree ]
};
key <LWIN> { symbols[Group1] = [ Alt_L ] };
key <RALT> { symbols[Group1] = [ Alt_L ] };
key <LALT> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
key <LSGT> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
key <MENU> { symbols[Group1] = [ Super_L ] };
key <LCTL> { symbols[Group1] = [ Menu ] };
modifier_map Control { <AC11>, <CAPS> };
modifier_map Mod1 { <LWIN>, <RALT> };
modifier_map Mod4 { <MENU> };
modifier_map Mod5 { ISO_Level3_Shift };
modifier_map Mod5 { <LALT>, <LSGT> };
};
partial
xkb_symbols "hpmini_linux" {
include "ca_rz(basic)"
include "ca_rz(hpmini_common)"
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment