Skip to content

Instantly share code, notes, and snippets.

@sbatten
Last active July 11, 2019 04:57
Show Gist options
  • Save sbatten/8e246fa8dbfd22fd845c3f6723d1533d to your computer and use it in GitHub Desktop.
Save sbatten/8e246fa8dbfd22fd845c3f6723d1533d to your computer and use it in GitHub Desktop.
Add Colemak Mod-DH to Elementary OS

Add the following /usr/share/X11/xkb/symbols/us

partial alphanumeric_keys modifier_keys
xkb_symbols "cmkdh" {

    name[Group1]= "English (US, Colemak Mod-DH)";

    key <TLDE> {	[     grave,	asciitilde	]	};
    key <AE01> {	[	  1,	exclam 		]	};
    key <AE02> {	[	  2,	at		]	};
    key <AE03> {	[	  3,	numbersign	]	};
    key <AE04> {	[	  4,	dollar		]	};
    key <AE05> {	[	  5,	percent		]	};
    key <AE06> {	[	  6,	asciicircum	]	};
    key <AE07> {	[	  7,	ampersand	]	};
    key <AE08> {	[	  8,	asterisk	]	};
    key <AE09> {	[	  9,	parenleft	]	};
    key <AE10> {	[	  0,	parenright	]	};
    key <AE11> {	[     minus,	underscore	]	};
    key <AE12> {	[     equal,	plus		]	};

    key <AD01> {	[	  q,	Q 		]	};
    key <AD02> {	[	  w,	W		]	};
    key <AD03> {	[	  f,	F		]	};
    key <AD04> {	[	  p,	P		]	};
    key <AD05> {	[	  b,	B		]	};
    key <AD06> {	[	  j,	J		]	};
    key <AD07> {	[	  l,	L		]	};
    key <AD08> {	[	  u,	U		]	};
    key <AD09> {	[	  y,	Y		]	};
    key <AD10> {	[ semicolon,	colon		]	};
    key <AD11> {	[ bracketleft,	braceleft	]	};
    key <AD12> {	[ bracketright,	braceright	]	};

    key <AC01> {	[	  a,	A 		]	};
    key <AC02> {	[	  r,	R		]	};
    key <AC03> {	[	  s,	S		]	};
    key <AC04> {	[	  t,	T		]	};
    key <AC05> {	[	  g,	G		]	};
    key <AC06> {	[	  k,	K		]	};
    key <AC07> {	[	  n,	N		]	};
    key <AC08> {	[	  e,	E		]	};
    key <AC09> {	[	  i,	I		]	};
    key <AC10> {	[     o,    O		]	};
    key <AC11> {	[ apostrophe,	quotedbl	]	};

    key <AB01> {	[	  x,	X 		]	};
    key <AB02> {	[	  c,	C		]	};
    key <AB03> {	[	  d,	D		]	};
    key <AB04> {	[	  v,	V		]	};
    key <AB05> {	[	  z,	Z		]	};
    key <AB06> {	[	  m,	M		]	};
    key <AB07> {	[	  h,	H		]	};
    key <AB08> {	[     comma,	less		]	};
    key <AB09> {	[    period,	greater		]	};
    key <AB10> {	[     slash,	question	]	};

    key <BKSL> {	[ backslash,         bar	]	};
};

Add the following to /usr/share/X11/xkb/rules/base.xml and /usr/share/X11/xkb/rules/evdev.xml

        <variant>
          <configItem>
            <name>cmkdh</name>
            <description>English (US, Colemak Mod-DH)</description>
          </configItem>
        </variant>

Add the following to /usr/share/X11/xkb/rules/base.lst and /usr/share/X11/xkb/rules/evdev.lst under variants

cmkdh us: English (US, Colemak-Mod DH)

Reboot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment