BACK
NEXT

The Most Aggressive
Keyboard Customisation
in the Town
Part 1

Japanese version is here.
French version is here.

Hardware

First of all, I decided to use KINESIS's Ergonomic keyboard as my input device. It looks like this.

Image showing Kinesis keyboard

As a matter of fact, it is a little bit big for my hands (I am rather short; I was too lazy to grow up into a tall man), but much better than ordinary keyboards. Especially, it is a good thing that some frequently used keys, e.g., Back Space or Control, are assigned to thumb fingers. Thumb fingers have high motion performance and it is simply a waste to use them only for space bar.

For the details of Ergonomic keyboard, see KINESIS' web page.


Using XKB

Second, I decided to modify the layout of command keys, i.e., keys with Control or Meta. Emacs is a very powerful editor, but its command key layout does not seem ergonomic when compared to, say, vi.

Of course you can change key bindings with Emacs' 'define-key' command. But as Emacs has so many keymaps, it is difficult to redefine key bindings for all keymaps exhaustively. It is not what a lazy man would do.

So I decided to use XKB. It is an extension of the X window system that allows almost unlimited remapping of the keyboard layout. As key events are changed by the X server, you do not have to redefine every keymap with 'define-key'.

Here is the layout of my command keys.

Image showing new keyboard layout

I wanted to have two Control keys and two Meta keys at symmetrical and handy positions. That's why they are there. Then I gathered frequently used one-stroke commands on the right hand side and frequently used multiple-stroke commands on the left hand side. Here are some explanations.

OK, but how come the 'h' key is on the right hand side, and the 'z' and 'o' keys are on the left hand side? For the answer, see the next section.


Further modification with global-set-key

In addition to the remapping with XKB, I also put some 'global-set-key' commands in my ~/.emacs file for convenience.

This is the end of level 1 keyboard customisation.



Last modified : 20 December 2006