Skip to content

Instantly share code, notes, and snippets.

@Conobi
Created July 3, 2016 22:12
Show Gist options
  • Save Conobi/898aa6b52f554bb7e762e07b0dd1a8c1 to your computer and use it in GitHub Desktop.
Save Conobi/898aa6b52f554bb7e762e07b0dd1a8c1 to your computer and use it in GitHub Desktop.
VOID map
// based on a keyboard map from an 'xkb/symbols/be' file
default partial alphanumeric_keys
xkb_symbols "basic" {
include "latin"
name[Group1]="Belgian";
key <AE01> { [ ampersand, 1, bar, exclamdown ] };
key <AE02> { [ eacute, 2, at, oneeighth ] };
key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
key <AE04> { [apostrophe, 4, onequarter, dollar ] };
key <AE05> { [ parenleft, 5, onehalf, threeeighths ] };
key <AE06> { [ section, 6, asciicircum, fiveeighths ] };
key <AE07> { [ egrave, 7, braceleft, seveneighths ] };
key <AE08> { [ exclam, 8, bracketleft, trademark ] };
key <AE09> { [ ccedilla, 9, braceleft, plusminus ] };
key <AE10> { [ agrave, 0, braceright, degree ] };
key <AE11> { [parenright, degree, backslash, questiondown ] };
key <AE12> { [ minus, underscore, dead_cedilla, dead_ogonek ] };
key <AD01> { [ 0x00001403, A, at, Greek_OMEGA ] };
key <AD02> { [ 0x00001614, Z, lstroke, Lstroke ] };
key <AD03> { [ 0x000014C5, E, EuroSign, cent ] };
key <AD04> { [ 0x0000161B, R, paragraph, registered ] };
key <AD05> { [ 0x00001603, T, tslash, Tslash ] };
key <AD06> { [ 0x000015BB, Y, leftarrow, yen ] };
key <AD07> { [ 0x0000158D, U, downarrow, uparrow ] };
key <AD08> { [ 0x000015BA, I, rightarrow, idotless ] };
key <AD09> { [ 0x00001613, O, oe, OE ] }; // o O œ Œ
key <AD10> { [ 0x00001547, P, thorn, THORN ] };
key <AC01> { [ 0x00001543, Q, ae, AE ] };
key <AC02> { [ 0x00001516, S, ssharp, section ] };
key <AC03> { [ 0x0000161B, D, eth, ETH ] };
key <AC04> { [ 0x00001511, F, dstroke, ordfeminine ] };
key <AC05> { [ 0x00001526, G, eng, ENG ] };
key <AC06> { [ 0x00001563, H, hstroke, Hstroke ] };
key <AC07> { [ 0x00001606, J, dead_hook, dead_horn ] };
key <AC08> { [ 0x00001621, K, kra, ampersand ] };
key <AC09> { [ 0x00001635, L, lstroke, Lstroke ] };
key <AC10> { [ 0x0000164F, M, dead_acute, dead_doubleacute ] };
key <AB01> { [ 0x00001552, W, guillemotleft, less ] };
key <AB02> { [ 0x0000161E, X, guillemotright, greater ] };
key <AB03> { [ 0x00001445, C, cent, copyright ] };
key <AB04> { [ 0x0000155A, V, leftdoublequotemark, leftsinglequotemark ] };
key <AB05> { [ 0x0000159A, B, rightdoublequotemark, rightsinglequotemark ] };
key <AB06> { [ 0x000015E3, N, n, N ] };
key <AD11> { [dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] };
key <AD12> { [ dollar, asterisk, bracketright, dead_macron ] };
key <AC11> { [ ugrave, percent, dead_acute, dead_caron ] };
key <TLDE> { [twosuperior, threesuperior, notsign, notsign ] };
key <BKSL> { [ mu, sterling, dead_grave, dead_breve ] };
key <AB07> { [ comma, question, dead_cedilla, masculine ] };
key <AB08> { [ semicolon, period, horizconnector, multiply ] };
key <AB09> { [ colon, slash, periodcentered, division ] };
key <AB10> { [ equal, plus, dead_tilde, dead_abovedot] };
key <LSGT> { [ less, greater, backslash, backslash ] };
include "level3(ralt_switch)"
};
// Variant of the fr(oss) layout for Belgium
// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
//
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ ³ ≤ │ 1 ≥ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ™ │ 7 È │ 8 ¡ │ 9 Ç │ 0 À │ ° Ø │ _ ± ┃ ⌫ Retour┃
// │ ² ¹ │ & | │ é @ │ " # │ ' ¸ │ ( ˇ │ § ^ │ è ` │ ! ~ │ ç { │ à } │ ) ø │ - ‑ ┃ arrière┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ * ̨ ┃Entrée ┃
// ┃Tab ↹ ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ [ │ $ ] ┃ ⏎ ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
// ┃ ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L │ M Ö │ % Ù │ £ ̄ ┃ ┃
// ┃Maj ⇬ ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l / │ m ö │ ù ' │ µ ` ┃ ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃ ┃ > ≠ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ + − ┃ ┃
// ┃Shift ⇧┃ < \ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ = ~ ┃Shift ⇧ ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃ ┃ ┃ ┃ ␣ Espace insécable ⍽ ┃ ┃ ┃ ┃
// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace ␣ ┃AltGr ⇮┃Menu ┃Ctrl ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
partial alphanumeric_keys
xkb_symbols "oss" {
include "fr(oss)"
include "be(oss_frbe)"
name[Group1]="Belgian (alternative)";
};
partial alphanumeric_keys
xkb_symbols "oss_frbe" {
// First row
key <TLDE> { [ twosuperior, threesuperior, onesuperior, lessthanequal ] }; // ² ³ ¹ ≤
key <AE01> { [ ampersand, 1, bar, greaterthanequal ] }; // & 1 | ≥
key <AE02> { [ eacute, 2, at, Eacute ] }; // é 2 @ É
key <AE04> { [ apostrophe, 4, dead_cedilla, 0x1002014 ] }; // ' 4 ¸ — (tiret cadratin)
key <AE05> { [ parenleft, 5, dead_caron, 0x1002013 ] }; // ( 5 ˇ – (tiret demi-cadratin)
key <AE06> { [ section, 6, asciicircum, trademark ] }; // § 6 ^ ™
key <AE08> { [ exclam, 8, asciitilde, exclamdown ] }; // ! 8 ~ ¡
key <AE09> { [ ccedilla, 9, braceleft, Ccedilla ] }; // ç 9 { Ç
key <AE10> { [ agrave, 0, braceright, Agrave ] }; // à 0 } À
key <AE11> { [ parenright, degree, oslash, Ooblique ] }; // ) ° ø Ø
key <AE12> { [ minus, underscore, 0x1002011, plusminus ] }; // - _ - (tiret insécable) ±
// Second row
key <AD11> { [ dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] }; // ^ ̈ [ ˚
key <AD12> { [ dollar, asterisk, bracketright, dead_ogonek ] }; // $ * ] ̨
// Third row
key <AC09> { [ l, L, dead_stroke ] };
key <BKSL> { [ mu, sterling, dead_grave, dead_macron ] }; // µ £ ` ̄
// Fourth row
key <LSGT> { [ less, greater, backslash, notequal ] }; // < > \ ≠
key <AB10> { [ equal, plus, dead_tilde, 0x1002212 ] }; // = + ~ −
};
partial alphanumeric_keys
xkb_symbols "oss_latin9" {
// Restricts the be(oss) layout to latin9 symbols
include "fr(oss_latin9)"
include "be(oss_frbe)"
include "keypad(oss_latin9)"
name[Group1]="Belgian (alternative, Latin-9 only)";
// First row
key <TLDE> { [ twosuperior, threesuperior, onesuperior, less ] }; // ² ³ ¹ <
key <AE01> { [ ampersand, 1, bar, greater ] }; // & 1 | >
key <AE04> { [ apostrophe, 4, dead_cedilla, minus ] }; // ' 4 ¸ -
key <AE05> { [ parenleft, 5, dead_caron, minus ] }; // ( 5 ˇ -
key <AE06> { [ section, 6, asciicircum, asciicircum ] }; // § 6 ^ ^
key <AE12> { [ minus, underscore, minus, plusminus ] }; // - _ - ±
// Second row
key <AD12> { [ dollar, asterisk, bracketright, dead_cedilla ] }; // $ * ] ¸
// Third row
key <AC09> { [ l, L, l, L ] }; // l L l L
key <BKSL> { [ mu, sterling, dead_grave, dead_circumflex ] }; // µ £ ` ^
// Fourth row
key <LSGT> { [ less, greater, backslash, equal ] }; // < > \ =
key <AB10> { [ equal, plus, dead_tilde, minus ] }; // = + ~ -
};
partial alphanumeric_keys
xkb_symbols "oss_Sundeadkeys" {
// Modifies the basic be(oss) layout to use the Sun dead keys
include "be(oss)"
// First row
key <AE04> { [ apostrophe, 4, dead_cedilla, 0x1002014 ] }; // ' 4 ¸ — (tiret cadratin)
// Second row
key <AD11> { [ dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] }; // ^ ̈ [ ˚
//Third row
key <AC11> { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù
key <BKSL> { [ mu, sterling, dead_grave, dead_macron ] }; // µ £ ` ̄
// Fourth row
key <AB10> { [ equal, plus, dead_tilde, 0x1002212 ] }; // = + ~ −
};
partial alphanumeric_keys
xkb_symbols "oss_sundeadkeys" {
include "be(oss_Sundeadkeys)"
name[Group1]="Belgian (alternative, Sun dead keys)";
};
partial alphanumeric_keys
xkb_symbols "iso-alternate" {
include "be(basic)"
name[Group1]="Belgian (ISO alternate)";
key <AD01> { [ a, A, ae, AE ] };
key <AD02> { [ z, Z, guillemotleft, less ] };
key <AC01> { [ q, Q, at, Greek_OMEGA ] };
key <AC10> { [ m, M, mu, masculine ] };
key <AB01> { [ w, W, lstroke, Lstroke ] };
key <AB07> { [ comma, question, dead_cedilla, dead_doubleacute ] };
};
partial alphanumeric_keys
xkb_symbols "sundeadkeys" {
// Use the Sun dead keys
include "be(basic)"
name[Group1]="Belgian (Sun dead keys)";
key <AD11> { [dead_circumflex, dead_diaeresis, bracketleft, bracketleft] };
key <AC11> { [ ugrave, percent, dead_acute, dead_acute ] };
key <BKSL> { [ mu, sterling, dead_grave, dead_grave ] };
key <AB07> { [ comma, question, dead_cedilla, dead_cedilla] };
key <AB10> { [ equal, plus, dead_tilde, dead_tilde ] };
};
partial alphanumeric_keys
xkb_symbols "Sundeadkeys" {
// Use the Sun dead keys
include "be(sundeadkeys)"
};
partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
// Eliminates dead keys from the basic Belgian layout
include "be(basic)"
name[Group1]="Belgian (eliminate dead keys)";
key <AE12> { [ minus, underscore, cedilla, ogonek ] };
key <AD11> { [asciicircum, diaeresis, bracketleft, bracketleft] };
key <AD12> { [ dollar, asterisk, bracketright, macron ] };
key <AC10> { [ m, M, acute, doubleacute ] };
key <AC11> { [ ugrave, percent, apostrophe, apostrophe ] };
key <BKSL> { [ mu, sterling, grave, grave ] };
key <AB07> { [ comma, question, cedilla, masculine ] };
key <AB10> { [ equal, plus, asciitilde, asciitilde ] };
};
// Wang model 724 azerty Belgium keyboard
partial alphanumeric_keys
xkb_symbols "wang" {
include "be(basic)"
include "keypad(legacy_wang)"
name[Group1]="Belgian (Wang model 724 azerty)";
// Engravings on Wang 725-3771-ae
key <TLDE> { [ twosuperior, threesuperior, notsign, asciitilde ] };
key <LSGT> { [ less, greater, backslash, brokenbar ] };
};
// EXTRAS:
partial alphanumeric_keys
xkb_symbols "sun_type6" {
include "sun_vndr/be(sun_type6)"
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment