Dvorak - ArchWiki

Jump to content

# Dvorak

From ArchWiki

This is a quick blurb for setting or converting your keymaps to dvorak instead of qwerty.

This article or section needs expansion.

Reason: Intro should provide more background on what Dvorak is and why one might want to use it. (Discuss in Talk:Dvorak)

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

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

Hidden category:

- Pages or sections flagged with Template:Expansion