diff options
author | Tom Willemse | 2014-02-15 22:36:59 +0100 |
---|---|---|
committer | Tom Willemse | 2014-02-15 22:36:59 +0100 |
commit | 85f3173a1ed3362dd6abcc764835479a63cac8b8 (patch) | |
tree | 339cc3eabbeac659049b102a8d180c975e771433 | |
download | ryuk-85f3173a1ed3362dd6abcc764835479a63cac8b8.tar.gz ryuk-85f3173a1ed3362dd6abcc764835479a63cac8b8.zip |
Initial commit
-rw-r--r-- | README.org | 91 | ||||
-rw-r--r-- | kbd/.gitignore | 1 | ||||
-rw-r--r-- | kbd/Makefile | 2 | ||||
-rw-r--r-- | kbd/ryuk.map | 75 | ||||
-rw-r--r-- | xkb/ryuk | 65 |
5 files changed, 234 insertions, 0 deletions
diff --git a/README.org b/README.org new file mode 100644 index 0000000..d3295bb --- /dev/null +++ b/README.org @@ -0,0 +1,91 @@ +#+TITLE: ryuk +#+STARTUP: showall + +* Introduction + + I've been using [[http://colemak.com][colemak]] for quite a while now and I really like it. + The fact that basically only the letters change position (aside from + ~;~ and ~:~) really makes learning it easier than some alternatives + would. + + I came across [[http://www.kaufmann.no/roland/dvorak/index.html][Programmer Dvorak]] a little while ago, and found the + idea of having symbols on the keyboard without needing the Shift key + very enticing. It made me think real hard about maybe learning + Dvorak after all, even though I'd previously chosen colemak + *because* it didn't change the places of any symbols and such. + + I decided against it, though. I've invested quite a few hours + getting proficient with colemak, and I'd hate for that to have been + in vain. So I decided to try and change colemak's symbol positions, + or some of them anyway. + + I didn't change the order of the number keys, though Shift is now + required to use them, because I didn't like the idea. These numbers + have been ingrained into my brain since the beginning of time, or + at least ever since I first sat behind a PC. Reading the Programmer + Dvorak page makes me believe that there is good reason to change + their order, but I thought that any benefits gained would not + outweigh the benefit of blindly knowing where they are. However, it + is of course possible that this may change in the future, since I + also thought something similar when I first switched to colemak, but + then about symbol keys in general. + + I also didn't shift the number keys one place to the right, as + Programmer Dvorak does. This is because even though I'm sure that + that would work very well on a standard keyboard layout, it would + ruin the symmetric properties of my [[https://www.trulyergonomic.com/store/index.php][Truly Ergonomic Keyboard]]. Right + now the ~(~ and ~)~ are both placed directly above my index fingers, + and since I spend quite a bit of my free time writing various forms + of Lisp code that is extra cool. + + The source files are stored in a git repository. These can be found + either on [[http://code.ryuslash.org/ryuk/][my website]] or [[https://github.com/ryuslash/ryuk/][github]]. Use whichever you prefer, cloning + urls are available on both locations. + +* Installation + +** X11 + + To install and use the X11 keyboard, copy the ~xkb/ryuk~ file to where + XKB looks for these files. In my case this is + ~/usr/share/X11/xkb/symbols~. Once put in the proper place, next to, + for example, ~us~, set your =XkbVariant= to ~ryuk~. For example, I have in + my ~/etc/X11/xorg.conf.d/10-evdev.conf~ file the following: + + #+BEGIN_SRC conf + # ... + + Section "InputClass" + Identifier "evdev keyboard catchall" + MatchIsKeyboard "on" + MatchDevicePath "/dev/input/event*" + Driver "evdev" + Option "XkbLayout" "ryuk" + EndSection + + # ... + #+END_SRC + + Since your distribution may have Xorg configured differently, you + may have to specify it in a different file or a different section, + but please note that only the line starting with ~Option~ was put + there by me. + +** TTY + + To install the TTY keyboard layout you should gzip the + ~kbd/ryuk.map~ file, which can be achieved by running ~make~ from the + ~kbd~ map, and put the resulting file where the kbd utilities can find + them. In my case this is ~/usr/share/kbd/keymaps/i386/colemak/~, and I + choose the ~colemak~ directory because the ~ryuk~ files are based + directly off the colemak files. + + Once put in the proper place you should specify that the TTY should + use your keymap by putting the following in your ~/etc/vconsole.conf~: + + #+BEGIN_SRC sh + KEYMAP=ryuk + #+END_SRC + + This should work at least on systems that use systemd. I don't know + how other init systems set it. diff --git a/kbd/.gitignore b/kbd/.gitignore new file mode 100644 index 0000000..10d00b5 --- /dev/null +++ b/kbd/.gitignore @@ -0,0 +1 @@ +*.gz diff --git a/kbd/Makefile b/kbd/Makefile new file mode 100644 index 0000000..405751a --- /dev/null +++ b/kbd/Makefile @@ -0,0 +1,2 @@ +ryuk.map.gz: ryuk.map + gzip -k $^ diff --git a/kbd/ryuk.map b/kbd/ryuk.map new file mode 100644 index 0000000..57f6da5 --- /dev/null +++ b/kbd/ryuk.map @@ -0,0 +1,75 @@ +# pcolemak.kmap for Linux console. +# 2014-02-15 Tom Willemse. +alt_is_meta +charset "iso-8859-15" # use a ISO-8859-15 font, e.g.: consolechars -f lat9v-14 +keymaps 0-12 +include "qwerty-layout" +include "linux-with-alt-and-altgr" +strings as usual + +keycode 41 = ampersand percent dead_tilde asciitilde nul +keycode 2 = bracketleft one exclamdown onesuperior +keycode 3 = braceleft two masculine twosuperior nul +keycode 4 = braceright three ordfeminine threesuperior Escape +keycode 5 = parenleft four cent sterling Control_backslash +keycode 6 = equal five euro yen Control_bracketright # EuroSign yen +keycode 7 = asterisk six asciitilde asciitilde Control_asciicircum # hstroke Hstroke +keycode 8 = parenright seven eth ETH Control_underscore +keycode 9 = plus eight thorn THORN Delete +keycode 10 = bracketright nine asciitilde asciitilde # leftsinglequotemark leftdoublequotemark +keycode 11 = exclam zero asciitilde asciitilde # rightsinglequotemark rightdoublequotemark +keycode 12 = numbersign grave asciitilde asciitilde Control_underscore # endash emdash +keycode 13 = dollar asciitilde multiply division + +keycode 16 = q Q adiaeresis Adiaeresis Control_q +keycode 17 = w W aring Aring Control_w +keycode 18 = f F atilde Atilde Control_f +keycode 19 = p P oslash Ooblique Control_p +keycode 20 = g G asciitilde asciitilde Control_g # dead_ogonek asciitilde +keycode 21 = j J asciitilde asciitilde Control_j # dstroke Dstroke +keycode 22 = l L asciitilde asciitilde Control_l # lstroke Lstroke +keycode 23 = u U uacute Uacute Control_u +keycode 24 = y Y udiaeresis Udiaeresis Control_y +keycode 25 = semicolon colon odiaeresis Odiaeresis +keycode 26 = minus underscore guillemotleft asciitilde Escape # guillemotleft 0x1002039 +keycode 27 = at asciicircum guillemotright asciitilde Control_bracketright # guillemotright 0x100203a +keycode 43 = backslash bar asciitilde asciitilde Control_backslash + +keycode 30 = a A aacute Aacute Control_a +keycode 31 = r R dead_grave asciitilde Control_r +keycode 32 = s S ssharp asciitilde Control_s +keycode 33 = t T dead_acute asciitilde Control_t # dead_acute dead_doubleacute +keycode 34 = d D dead_diaeresis asciitilde Control_d +keycode 35 = h H asciitilde asciitilde Control_h # dead_caron asciitilde +keycode 36 = n N ntilde Ntilde Control_n +keycode 37 = e E eacute Eacute Control_e +keycode 38 = i I iacute Iacute Control_i +keycode 39 = o O oacute Oacute Control_o +keycode 40 = apostrophe quotedbl otilde Otilde + +keycode 44 = z Z ae AE Control_z +keycode 45 = x X dead_circumflex asciitilde Control_x +keycode 46 = c C ccedilla Ccedilla Control_c +keycode 47 = v V oe OE Control_v +keycode 48 = b B asciitilde asciitilde Control_b # dead_breve asciitilde +keycode 49 = k K asciitilde asciitilde Control_k # dead_abovering asciitilde +keycode 50 = m M asciitilde asciitilde Control_m # dead_macron asciitilde +keycode 51 = comma less dead_cedilla asciitilde +keycode 52 = period greater asciitilde asciitilde # dead_abovedot asciitilde +keycode 53 = slash question questiondown asciitilde Delete + +keycode 58 = BackSpace BackSpace BackSpace BackSpace +keycode 86 = minus underscore asciitilde asciitilde Control_underscore # endash emdash +keycode 57 = space space space nobreakspace nul + + +keycode 1 = Escape +keycode 14 = Delete +keycode 15 = Tab +keycode 28 = Return + alt keycode 28 = Meta_Control_m +keycode 29 = Control +keycode 42 = Shift +keycode 54 = Shift +keycode 56 = Alt +keycode 97 = Control diff --git a/xkb/ryuk b/xkb/ryuk new file mode 100644 index 0000000..8781be7 --- /dev/null +++ b/xkb/ryuk @@ -0,0 +1,65 @@ +// ryuk symbols for xkb on X.Org Server 7.x +// 2014-02-11 Tom Willemse + +partial alphanumeric_keys +xkb_symbols "pcolemak" { + include "us" + name[Group1]= "English (ryuk)"; + + key <TLDE> { [ ampersand, percent, dead_tilde, asciitilde ] }; + key <AE01> { [ bracketleft, 1, exclamdown, onesuperior ] }; + key <AE02> { [ braceleft, 2, masculine, twosuperior ] }; + key <AE03> { [ braceright, 3, ordfeminine, threesuperior ] }; + key <AE04> { [ parenleft, 4, cent, sterling ] }; + key <AE05> { [ equal, 5, EuroSign, yen ] }; + key <AE06> { [ asterisk, 6, hstroke, Hstroke ] }; + key <AE07> { [ parenright, 7, eth, ETH ] }; + key <AE08> { [ plus, 8, thorn, THORN ] }; + key <AE09> { [ bracketright, 9, leftsinglequotemark, leftdoublequotemark ] }; + key <AE10> { [ exclam, 0, rightsinglequotemark, rightdoublequotemark ] }; + key <AE11> { [ numbersign, grave, endash, emdash ] }; + key <AE12> { [ dollar, asciitilde, 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> { [ minus, underscore, guillemotleft, 0x1002039 ] }; + key <AD12> { [ at, asciicircum, guillemotright, 0x100203a ] }; + key <BKSL> { [ backslash, bar, asciitilde, asciitilde ] }; + + key <AC01> { [ a, A, aacute, Aacute ] }; + key <AC02> { [ r, R, dead_grave, asciitilde ] }; + key <AC03> { [ s, S, ssharp, asciitilde ] }; + key <AC04> { [ t, T, dead_acute, dead_doubleacute ] }; + key <AC05> { [ d, D, dead_diaeresis, asciitilde ] }; + key <AC06> { [ h, H, dead_caron, asciitilde ] }; + key <AC07> { [ n, N, ntilde, Ntilde ] }; + key <AC08> { [ e, E, eacute, Eacute ] }; + key <AC09> { [ i, I, iacute, Iacute ] }; + key <AC10> { [ o, O, oacute, Oacute ] }; + 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)" +}; |