I’ve heard abot the Dvorak[wikipedia] keyboard layout a long time ago and even gave it a very short try once. Made to minimize finger movement, it is a complete change from the usual QWERTY arrangement of letters on a typing machine that later became the standard on most computers. Learning to type on a mechanical typing machine was a one week affair for me when I was 20 years old. Continual use of the standard keyboard led to a comfortable 60 words per minutes (wpm) typing on a computer with the QWERTY, and later with the French AZERTY variant.
Recently, I have seen that several variants of Dvorak-like or QWERTY-like keyboard layouts were proposed and did a little modification on my own to see how it works (largely based on information that can be found on the wonderful carpalx website [mkweb.bcgsc.ca]). It’s been a few months that I’m typing on a JOKEFT variation of AZERTY:
So far, it’s been an interesting experience. The error rate increased but muscle stress and fatigue diminished. It is not such a big departure from the normal keyboard layout and I can switch between the two quite easily. If you want to do your own keyboard layout on Linux, the easiest method I found involves the use of XKeyCaps [jwz.org] and xmodmap.
XKeyCaps is not actively developed anymore and gave me a segmentation fault. However, it allows the modification of the keyboard layout with a nice graphical interface. If the program quits, the modifications are still there and you can see what it did with the command:
The output of the command can be then simplified by deleting the lines that have no changes from the standard layout and saved as a text file, for example:
keycode 24 = q Q q Q Acircumflex Adiaeresis acircumflex Acircumflex
keycode 26 = k K k K Icircumflex Idiaeresis Icircumflex Idiaeresis k K Icircumflex Idiaeresis
keycode 28 = f F f F plusminus ordfeminine plusminus ordfeminine f F plusminus ordfeminine
keycode 32 = j J j J Ucircumflex Udiaeresis Ucircumflex Udiaeresis j J Ucircumflex Udiaeresis
keycode 38 = a A a A acircumflex adiaeresis acircumflex Acircumflex
keycode 41 = t T t T thorn THORN thorn THORN t T thorn THORN
keycode 44 = o O o O ocircumflex odiaeresis ocircumflex odiaeresis o O ocircumflex odiaeresis
keycode 45 = e E e E EuroSign cent EuroSign cent e E EuroSign cent
Every time you want to have your custom layout available, the command xmodmap yourmods.txt will change it temporarily. It goes back to normal on reboot.
EDIT: you can also switch back to a “normal” layout using: setxkbmap -layout fr (replace “fr” with “us” or your keyboard layout variant).
By the way, on Android I’m using MessagEase [exideas.com]- it’s a fantastic keyboard with big keys that allow 20-25 wpm speeds quite easily. Needs a little practice but it is very convenient for one hand or two hands use.
EDIT 2: F to T changes were too annoying for every day use. I’m now using just the changes between o/j k/e and a/q (on my French keyboard) , to have “o”, “e” and “a” on the home row. A little bit of assymetry, because the right hand gets a lot of use this way. Even in this simplified version, moving around in VIM or VI is troublesome (because of the “j”). The solution:
nnoremap e k
nnoremap o j
nnoremap a q
nnoremap k e
nnoremap j o
nnoremap q a
Adding these lines to the .vimrc file helps re-remap the keys to their standard location, only in the “Normal” mode (for full explanations, see the wiki page). I have yet to see if other modifications are needed…