Dvorak

From
Wikipedia
:
Dvorak is a keyboard layout for English patented in 1936 by August Dvorak and his brother-in-law, William Dealey, as a faster and more ergonomic alternative to the QWERTY layout (the de facto standard keyboard layout). Dvorak proponents claim that it requires less finger motion and as a result reduces errors, increases typing speed, reduces repetitive strain injuries, or is simply more comfortable than QWERTY.
Setting Dvorak Layout
See
Keyboard configuration in console
or
Keyboard configuration in Xorg
for configuration details.
For the virtual terminal, dvorak and the regional keyboard are combined into one keymap. But Xorg lists dvorak as variant of your regional keymap.
The
us
Dvorak keymaps for the virtual terminal are:
dvorak
, Standard
dvorak-l
, Left handed Dvorak
dvorak-r
, Right handed Dvorak
dvorak-programmer
, Programmer Dvorak
The
us
Dvorak keymaps for Xorg are:
dvorak
, Standard
dvorak-l
, Left Handed Dvorak
dvorak-r
, Right Handed Dvorak
dvp
, Programmer Dvorak
dvorak-intl
, International Dvorak
dvorak-classic
dvorak-alt-intl
Note
For console, these are standalone keymaps, but for Xorg these are variants of the
us
layout, you need to pass them to
XkbVariant
variable. See
Keyboard configuration in Xorg#Setting keyboard layout
for an explanation.
For international users
French
The french variant is called
Bépo
.
Swedish
Swedish people interested in trying dvorak can find the swedish "version", called svorak, at
svorak.ahall.se
! To convert to svorak in X you do not need to download any additional files from svorak.ahall.se.
Spanish
In console, specify
dvorak-es
instead of
dvorak
to use the Spanish dvorak variant.
In Xorg, specify
es
as
XkbLayout
and
dvorak
as
XkbVariant
.
United Kingdom
In console, specify
dvorak-ukp
(available from
dvorak-ukp
AUR
) instead of
dvorak
to use the United Kingdom dvorak variant with ISO/IEC 9995-1 punctuation.
In Xorg, specify
gb
as
XkbLayout
and
dvorakukp
as
XkbVariant
.
Program specific rebinding
These are some simple and sane sugguestions for rebinding in keyboard-centric programs. Since Dvorak's keys lean more to the right of the keyboard, the home row used here is
htns
.
Vim
~/.vimrc
noremap h <left>
noremap t <down>
noremap n <up>   
noremap s <right>

noremap l n
noremap L N
Note
Here n stands for the
n search repeat command
and have nothing to do with the
n key
. See
:help n
See also
Vim Wiki
, if you want a more extreme approach.
Mutt
~/.config/mutt/muttrc
bind index t next-entry
bind index n previous-entry
bind index s display-message

bind index G last-entry
bind index gg first-entry

bind pager,attach h exit
bind pager t next-line
bind pager n previous-line
bind pager s view-attachments

bind browser h goto-parent
bind pager,browser gg top-page
bind pager,browser G bottom-page
Less
~/.lesskey
t         forw-line
n         back-line
l         repeat-search 
L         reverse-search
To apply settings you
have
to run
lesskey
.
Zathura
~/.config/zathura/zathurarc
map h scroll left
map t scroll down
map n scroll up
map s scroll right

map l search forward
map L search backward
Qutebrowser
~/.config/qutebrowser/config.py
config.bind('h', 'scroll left')
config.bind('t', 'scroll down')
config.bind('n', 'scroll up')
config.bind('s', 'scroll right')

config.bind('H', 'back')
config.bind('T', 'tab-prev')
config.bind('N', 'tab-next')
config.bind('S', 'forward')

config.bind('l', 'search-next')
config.bind('L', 'search-prev')

config.bind('e', 'hint all')
Typing tutors
ktouch
(includes Dvorak lessons in English, French, German & Spanish)
klavaro
Dvorak lessons: (BG; BR; DE_neo2; EO; FR; FR_bépo; TR; UK; US; US_BR; US_ES; US_SE)