2014-02-15 22:36:59 +01:00
|
|
|
#+TITLE: ryuk
|
|
|
|
#+STARTUP: showall
|
|
|
|
|
|
|
|
* Introduction
|
|
|
|
|
2020-05-08 03:34:38 +02:00
|
|
|
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.
|
2014-02-15 22:36:59 +01:00
|
|
|
|
2020-05-08 03:22:23 +02:00
|
|
|
#+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.
|
|
|
|
|
2014-02-15 22:36:59 +01:00
|
|
|
* Installation
|
|
|
|
|
2020-05-08 03:32:44 +02:00
|
|
|
** 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
|
|
|
|
|
2020-05-08 03:34:38 +02:00
|
|
|
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:
|
2020-05-08 03:32:44 +02:00
|
|
|
|
|
|
|
#+BEGIN_SRC conf
|
|
|
|
# ...
|
|
|
|
|
|
|
|
Section "InputClass"
|
|
|
|
Identifier "evdev keyboard catchall"
|
|
|
|
MatchIsKeyboard "on"
|
|
|
|
MatchDevicePath "/dev/input/event*"
|
|
|
|
Driver "evdev"
|
|
|
|
Option "XkbLayout" "ryuk"
|
|
|
|
EndSection
|
|
|
|
|
|
|
|
# ...
|
|
|
|
#+END_SRC
|
|
|
|
|
2020-05-08 03:34:38 +02:00
|
|
|
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.
|
2020-05-08 03:32:44 +02:00
|
|
|
|
|
|
|
*** TTY
|
|
|
|
|
2020-05-08 03:34:38 +02:00
|
|
|
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.
|
2020-05-08 03:32:44 +02:00
|
|
|
|
2020-05-08 03:34:38 +02:00
|
|
|
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~:
|
2020-05-08 03:32:44 +02:00
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
KEYMAP=ryuk
|
|
|
|
#+END_SRC
|
|
|
|
|
2020-05-08 03:34:38 +02:00
|
|
|
This should work at least on systems that use systemd. I don't know how
|
|
|
|
other init systems set it.
|
2020-05-08 03:32:44 +02:00
|
|
|
|
|
|
|
** 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.
|