-
-
Save Tarrasch/1293692 to your computer and use it in GitHub Desktop.
// Colemak symbols for xkb on X.Org Server 7.x | |
// 2006-01-01 Shai Coleman, http://colemak.com/ . Public domain. | |
// Swedish version by Arash Rouhani | |
partial alphanumeric_keys | |
xkb_symbols "colemak" { | |
include "us" | |
name[Group1]= "English (Colemak)"; | |
// Alphanumeric section | |
key <TLDE> { [ grave, asciitilde, dead_tilde, asciitilde ] }; | |
key <AE01> { [ 1, exclam, exclamdown, onesuperior ] }; | |
key <AE02> { [ 2, at, masculine, twosuperior ] }; | |
key <AE03> { [ 3, numbersign, ordfeminine, threesuperior ] }; | |
key <AE04> { [ 4, dollar, cent, sterling ] }; | |
key <AE05> { [ 5, percent, EuroSign, yen ] }; | |
key <AE06> { [ 6, asciicircum, hstroke, Hstroke ] }; | |
key <AE07> { [ 7, ampersand, eth, ETH ] }; | |
key <AE08> { [ 8, asterisk, thorn, THORN ] }; | |
key <AE09> { [ 9, parenleft, leftsinglequotemark, leftdoublequotemark ] }; | |
key <AE10> { [ 0, parenright, rightsinglequotemark, rightdoublequotemark ] }; | |
key <AE11> { [ minus, underscore, endash, emdash ] }; | |
key <AE12> { [ equal, plus, multiply, division ] }; | |
key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] }; | |
key <AD02> { [ w, W, aring, Aring ] }; | |
key <AD03> { [ f, F, atilde, Atilde ] }; | |
key <AD04> { [ p, P, oslash, Ooblique ] }; | |
key <AD05> { [ g, G, dead_ogonek, asciitilde ] }; | |
key <AD06> { [ j, J, dstroke, Dstroke ] }; | |
key <AD07> { [ l, L, lstroke, Lstroke ] }; | |
key <AD08> { [ u, U, uacute, Uacute ] }; | |
key <AD09> { [ y, Y, udiaeresis, Udiaeresis ] }; | |
key <AD10> { [ semicolon, colon, odiaeresis, Odiaeresis ] }; | |
key <AD11> { [ bracketleft, braceleft, guillemotleft, 0x1002039 ] }; | |
key <AD12> { [ bracketright, braceright, guillemotright, 0x100203a ] }; | |
key <BKSL> { [ backslash, bar, asciitilde, asciitilde ] }; | |
key <AC01> { [ a, A, adiaeresis, Adiaeresis] }; | |
key <AC02> { [ r, R, Escape, Return ] }; | |
key <AC03> { [ s, S, Left, Home ] }; | |
key <AC04> { [ t, T, Right, End ] }; | |
key <AC05> { [ d, D, dead_diaeresis, asciitilde ] }; | |
key <AC06> { [ h, H, dead_caron, asciitilde ] }; | |
key <AC07> { [ n, N, Down, Next] }; | |
key <AC08> { [ e, E, Up, Prior ] }; | |
key <AC09> { [ i, I, aring, Aring ] }; | |
key <AC10> { [ o, O, odiaeresis, Odiaeresis ] }; | |
key <AC11> { [ apostrophe, quotedbl, otilde, Otilde ] }; | |
key <AB01> { [ z, Z, ae, AE ] }; | |
key <AB02> { [ x, X, dead_circumflex, asciitilde ] }; | |
key <AB03> { [ c, C, ccedilla, Ccedilla ] }; | |
key <AB04> { [ v, V, oe, OE ] }; | |
key <AB05> { [ b, B, dead_breve, asciitilde ] }; | |
key <AB06> { [ k, K, dead_abovering, asciitilde ] }; | |
key <AB07> { [ m, M, dead_macron, asciitilde ] }; | |
key <AB08> { [ comma, less, dead_cedilla, asciitilde ] }; | |
key <AB09> { [ period, greater, dead_abovedot, asciitilde ] }; | |
key <AB10> { [ slash, question, questiondown, asciitilde ] }; | |
key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] }; | |
key <LSGT> { [ minus, underscore, endash, emdash ] }; | |
key <SPCE> { [ space, space, space, nobreakspace ] }; | |
include "level3(ralt_switch)" | |
}; | |
Thanks for putting this together! It has been a great help.
IMHO there are two things that could be tweaked. First is that a somewhat common key is missing from this layout and that is the "é" key (alt+k, qwerty; alt+e, colemak) which has been replaced by uparrow. Maybe the uparrow could be placed on alt+i (qwerty) instead?
Second is the alt+s (alt+r colemak) which is "esc" in this layout. It is common that an "r" follows an åäö and very often you make the mistake of not letting the alt_gr key up completely before hitting the r. If you for example are in an email application such as outlook this will bring up a dialog box asking if you want to delete the mail. The problem is that if this "r" is in the end of the word, which it often is, you often hit the space key directly after, this will delete the email. I don't know how many times I've lost long emails this way. Accidental escape presses will loose you information in many different applications.
I have planned on looking into tweaking this myself, thought I'd just share this in case it could be useful.
Again, thanks for this layout, I use it every day!!!
Ok, so I have done some tweaks in my layout as described in my previous comment. So I moved the uparrow to the u key (colemak), this way I will use the same finger for uparrow as before (middle finger) but in a for me more logic position that is easier to remember (resembling the "normal" up/down arrow keys). I put in the é on alt+e (for words such as: idé, café etc.). I removed the esc/return from alt+r and moved it to alt+w (I will then use the same finger as before). I then replaced the End that was on alt+f with Home. The End key was mapped to both alt+f/p. This way I have the Home/End on f/p and with the left/rightarrow below on s/t it is logical and easy to remember.
Hi @wagasuki, I'm so sorry for not finding your comments until now! Some things:
- You perhaps have a physically longer index finger than me, for me the stretch to the "r_qwerty" and "u_qwerty" physical keys are a bit difficult.
- I also have found the Escape key on altgr+r to be a total pain and have made me close so many dialogs by mistake. I just took a stab at moving it. Not sure where I want it to be though.
- For the last 6-7 years I've lived with the total pain of the arrow and home keys not working in apps like chromium, alacritty, intellij, eclipse etc. Today I took a stab at fixing it and it kinda works!
To see all these recent (today's) changes. Please see the commit history of this gist-repo.
Finally, I'm so happy to hear you've used this keyboard layout and that you've had an overall good experience. It makes my day. :)
Cheers,
Arash
👍