Skip to content

Instantly share code, notes, and snippets.

@mishoo
Created March 25, 2014 07:31
Show Gist options
  • Save mishoo/9756732 to your computer and use it in GitHub Desktop.
Save mishoo/9756732 to your computer and use it in GitHub Desktop.
// -*- js -*-
xkb_keymap "mishoo" {
xkb_keycodes { include "evdev+aliases(qwertz)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols {
include "pc+us+inet(evdev)"
// following is copy/paste from "ro" (as distributed with XFree86)
name[Group1] = "Romanian";
key <AE01> { [ 1, exclam, dead_tilde ] };
key <AE02> { [ 2, at, dead_caron ] };
key <AE03> { [ 3, numbersign, dead_circumflex ] };
key <AE04> { [ 4, dollar, dead_breve ] };
key <AE05> { [ 5, percent, dead_abovering ] };
key <AE06> { [ 6, asciicircum, dead_ogonek ] };
key <AE07> { [ 7, ampersand, dead_grave ] };
key <AE08> { [ 8, asterisk, dead_abovedot ] };
key <AE09> { [ 9, parenleft, dead_acute ] };
key <AE10> { [ 0, parenright, dead_doubleacute ] };
key <AE11> { [ minus, underscore, dead_diaeresis, endash ] };
key <AE12> { [ equal, plus, dead_cedilla, plusminus ] };
key <AD01> { [ q, Q, acircumflex, Acircumflex ] };
key <AD02> { [ w, W, ssharp, U2299 ] };
key <AD03> { [ e, E, EuroSign ] };
key <AD05> { [ t, T, tcedilla, Tcedilla ] };
key <AD08> { [ i, I, icircumflex, Icircumflex ] };
key <AD10> { [ p, P, U03c0, section ] }; // π §
key <AD11> { [ bracketleft, braceleft, doublelowquotemark ] };
key <AD12> { [ bracketright, braceright, rightdoublequotemark ] };
key <AC01> { [ a, A, abreve, Abreve ] };
key <AC02> { [ s, S, scedilla, Scedilla ] };
key <AC03> { [ d, D, dstroke, Dstroke ] };
key <AC09> { [ l, L, lstroke, Lstroke ] };
key <LSGT> { [ backslash, bar ] };
key <AB03> { [ c, C, ccedilla, copyright ] }; // ç ©
key <AB08> { [ comma, less, guillemotleft ] };
key <AB09> { [ period, greater, guillemotright ] };
// customizations
key <AE01> { [ 1, exclam, exclamdown, onesuperior ]}; // ¡ ¹
key <AE02> { [ 2, at, onehalf, twosuperior ]}; // ½ ²
key <AE03> { [ 3, numbersign, threequarters, threesuperior ]}; // ¾ ³
key <AE04> { [ 4, dollar, onequarter, sterling ]}; // ¼ §
key <AE05> { [ 5, percent, EuroSign, cent ] }; // € ¢
key <AE06> { [ 6, asciicircum, enopencircbullet, enfilledcircbullet ]}; // ◦ •
key <AE07> { [ 7, ampersand, enopensquarebullet, enfilledsqbullet ]}; // ▫ ▪
key <AE08> { [ 8, asterisk, multiply, openstar ]}; // × ☆
key <AE09> { [ 9, parenleft, degree, emopencircle ] }; // ° ○
key <AE10> { [ 0, parenright, ooblique, Ooblique ]}; // ø Ø
key <AE11> { [ minus, underscore, emdash, endash ] }; // — –
key <AE12> { [ equal, plus, notequal, plusminus ] }; // ≠ ±
key <AD04> { [ r, R, registered, trademark ] }; // ® ™
key <AD07> { [ u, U, udiaeresis, Udiaeresis ] }; // ü Ü
// key <AD10> { [ p, P, section, U2605 ] }; // § ★
key <AD11> { [ bracketleft, braceleft, parenleft, leftdoublequotemark ]}; // ( “
key <AD12> { [ bracketright, braceright, parenright, rightdoublequotemark ]}; // ) ”
key <AC09> { [ l, L, Greek_lambda, Greek_LAMBDA ]}; // λ Λ
key <AC10> { [ semicolon, colon ] };
key <AC11> { [ apostrophe, quotedbl ] };
key <TLDE> { [ grave, asciitilde ] };
key <AC06> { [ h, H, U231B, U2665 ] }; // ⌛ ♥
key <AB07> { [ m, M, U266C, U2208 ] }; // ♬ ∈
key <AB10> { [ slash, question, U2026, U01F60E ] }; // … SMILEY_WITH_SUNGLASSES
key <BKSL> { [ backslash, bar, U2713, U2714 ] }; // ✓ ✔
key <SPCE> { [ space, space, nobreakspace, nobreakspace ] }; //    
key <AD09> { [ o, O, U263A, U30C4 ]}; // ☺ ツ
key <AB01> { [ z, Z, Greek_alpha, Greek_ALPHA ]}; // α Α
key <AB05> { [ b, B, Greek_beta, Greek_BETA ]}; // β Β
key <AC05> { [ g, G, Greek_gamma, Greek_GAMMA ]}; // γ Γ
key <AB04> { [ v, V, U2610, U2611 ] }; // ☐ ☑
key <AB02> { [ x, X, U2610, U2612 ] }; // ☐ ☒
key <UP> { [ Up, Up, U2191, U2196 ] }; // ↑ ↖
key <RGHT> { [ Right, Right, U2192, U2197 ] }; // → ↗
key <DOWN> { [ Down, Down, U2193, U2198 ] }; // ↓ ↘
key <LEFT> { [ Left, Left, U2190, U2199 ] }; // ← ↙
// modifiers ----------------------------------------
// turn PAUSE into CAPSLOCK
key <PAUS> { [ Caps_Lock ] };
key <RALT> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
key <CAPS> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
modifier_map Mod5 { ISO_Level3_Shift };
key <RWIN> {
type= "TWO_LEVEL",
symbols[Group1]= [ Control_R, Control_R ]
};
key <MENU> {
type= "TWO_LEVEL",
symbols[Group1]= [ Control_R, Control_R ]
};
modifier_map Control { <RWIN> };
modifier_map Control { <MENU> };
// // right control, caps, right Win and Menu keys are
// // turned into Mod3
// // key <RCTL> {
// // type[Group1]="ONE_LEVEL",
// // symbols[Group1] = [ ISO_Level3_Shift ]
// // };
// key <CAPS> {
// type[Group1]="ONE_LEVEL",
// symbols[Group1] = [ ISO_Level3_Shift ]
// };
// key <RWIN> {
// type[Group1]="ONE_LEVEL",
// symbols[Group1] = [ ISO_Level3_Shift ]
// };
// key <MENU> {
// type[Group1]="ONE_LEVEL",
// symbols[Group1] = [ ISO_Level3_Shift ]
// };
// modifier_map Mod5 { ISO_Level3_Shift };
// // turn right ALT into Control (or my hands will be dead soon)
// key <RALT> {
// type= "TWO_LEVEL",
// symbols[Group1]= [ Control_R, Control_R ]
// };
// modifier_map Control { <RALT> };
};
xkb_geometry { include "dell(latitude)" };
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment