ryuk/README.org
2020-05-07 18:34:38 -07:00

103 lines
4.6 KiB
Org Mode

#+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.
#+CAPTION: Ryuk on a Truly Ergonomic Keyboard
#+ATTR_HTML: :align center
[[file:assets/keyboard-layout.png]]
This image was created with the [[http://www.keyboard-layout-editor.com][Keyboard Layout Editor]]. This repository
contains the [[file:assets/keyboard-layout.json][source code]] for it.
* Installation
** Linux
On Linux there's 2 ways you can install the keyboard layout. [[X11]] for the
graphical environment and [[TTY]] for the non-graphical environment.
*** 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.
** Windows
On Windows you will need to install the [[https://www.microsoft.com/en-us/download/details.aspx?id=22339][Microsoft Keyboard Layout Creator 1.4]]
to be able to compile the keyboard layout. Once installed open the =ryuk.klc=
file in it and go to Project -> Build DLL and Setup Package. Once this has
finished it'll ask you if you want to open the directory it's built the files
in (which should be =%USERPROFILE%\Documents\ryuk=). Go to that directory and
run =setup.exe=. After the installation is finished you'll have to restart
Windows and then you can start using the keyboard layout.