Dvorak - ArchWiki

Jump to content
From ArchWiki

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 aoeu.info! To convert to svorak in X you do not need to download any additional files from www.aoeu.info.

### 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-ukpAUR) 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)

Category:

- Keyboard configuration