Initial commit
This commit is contained in:
commit
85f3173a1e
5 changed files with 234 additions and 0 deletions
91
README.org
Normal file
91
README.org
Normal file
|
@ -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.
|
1
kbd/.gitignore
vendored
Normal file
1
kbd/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
*.gz
|
2
kbd/Makefile
Normal file
2
kbd/Makefile
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
ryuk.map.gz: ryuk.map
|
||||||
|
gzip -k $^
|
75
kbd/ryuk.map
Normal file
75
kbd/ryuk.map
Normal file
|
@ -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
|
65
xkb/ryuk
Normal file
65
xkb/ryuk
Normal file
|
@ -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)"
|
||||||
|
};
|
Loading…
Reference in a new issue