> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/monkeytypegame/monkeytype/llms.txt
> Use this file to discover all available pages before exploring further.

# Keyboard Layouts

> Practice typing with different keyboard layouts on Monkeytype

Monkeytype supports over 230 different keyboard layouts, allowing you to practice typing in alternative layouts, different languages, and specialized configurations.

## What are Keyboard Layouts?

A keyboard layout defines how keys on your physical keyboard map to characters. Different layouts optimize for different languages, typing efficiency, or ergonomic concerns.

<Note>
  Your physical keyboard doesn't need to match the selected layout. Monkeytype displays the layout visually and tracks your typing based on the layout configuration.
</Note>

## Popular Alternative Layouts

These layouts are alternatives to QWERTY designed for improved typing efficiency and ergonomics.

<CardGroup cols={3}>
  <Card title="Colemak" icon="keyboard">
    Popular alternative layout that changes fewer keys from QWERTY, making it easier to learn.
  </Card>

  <Card title="Dvorak" icon="keyboard">
    Classic alternative layout designed to reduce finger movement and increase typing speed.
  </Card>

  <Card title="Workman" icon="keyboard">
    Modern layout optimized for horizontal finger movement over vertical movement.
  </Card>

  <Card title="Norman" icon="keyboard">
    QWERTY-like alternative that minimizes learning curve while improving efficiency.
  </Card>

  <Card title="MTGAP" icon="keyboard">
    Optimized layout designed using algorithmic analysis of typing patterns.
  </Card>

  <Card title="Halmak" icon="keyboard">
    AI-generated layout optimized for modern English typing patterns.
  </Card>
</CardGroup>

## Colemak Variations

Colemak has many variants for different keyboard types and preferences.

<Accordion title="Standard Colemak Variants">
  * **colemak**: Standard Colemak layout
  * **colemak\_dh**: Colemak Mod-DH (improved hand alternation)
  * **colemak\_dh\_iso**: Colemak Mod-DH for ISO keyboards
  * **colemak\_dh\_matrix**: Colemak Mod-DH for ortholinear/matrix keyboards
  * **colemak\_dh\_wide**: Colemak Mod-DH with wide mod
  * **colemak\_dh\_iso\_wide**: Colemak Mod-DH ISO with wide mod
  * **colemak\_wide**: Standard Colemak with wide mod
  * **colemak\_angle**: Colemak with angle mod
  * **colemak\_dhk**: Colemak DH with K position change
  * **colemak\_dhk\_iso**: Colemak DH K for ISO keyboards
  * **colemak\_dhv**: Colemak DH with V position change
</Accordion>

<Accordion title="Colemak Hybrids">
  * **colemak\_Qi**: Colemak with Q and I positions optimized
  * **colemak\_Qix**: Extended Colemak Qi variant
  * **colemaQ**: Colemak with Q optimization
  * **colemaQ\_F**: Colemak Q with F modifications
</Accordion>

## Dvorak Variations

<Accordion title="Dvorak Layouts">
  * **dvorak**: Standard Dvorak layout
  * **dvorak\_L**: Left-handed Dvorak
  * **dvorak\_R**: Right-handed Dvorak
  * **prog\_dvorak**: Programmer Dvorak (optimized for coding)
  * **prog\_dvorak\_prime**: Enhanced Programmer Dvorak
</Accordion>

## Modern Optimized Layouts

Recently designed layouts using computational optimization.

<CardGroup cols={3}>
  <Card title="Engram">
    Heavily optimized modern layout focusing on hand alternation and comfort.
  </Card>

  <Card title="Graphite">
    Modern layout designed to minimize same-finger bigrams.
  </Card>

  <Card title="Semimak">
    Balanced layout with focus on inward rolls and hand alternation.
  </Card>

  <Card title="Canary">
    Recently designed layout optimized for English typing.
  </Card>

  <Card title="ISRT">
    Highly efficient layout designed through algorithmic optimization.
  </Card>

  <Card title="Sturdy">
    Modern layout focusing on comfort and reduced lateral movement.
  </Card>
</CardGroup>

## Matrix/Ortholinear Layouts

Optimized for ortholinear and split keyboards.

<Accordion title="Matrix Keyboard Layouts">
  * **colemak\_dh\_matrix**: Colemak DH for matrix keyboards
  * **canary\_matrix**: Canary layout for matrix keyboards
  * **graphite\_matrix**: Graphite for matrix keyboards
  * **gallium\_v2\_matrix**: Gallium V2 for matrix keyboards
  * **sturdy\_ortho**: Sturdy optimized for ortholinear keyboards
  * **whorfmax\_ortho**: Whorfmax for ortholinear boards
  * **statica\_3x5**: Layout for 3x5 split keyboards
  * **ergo\_split46**: Layout for 46-key split ergonomic keyboards
</Accordion>

## International Layouts

### European Languages

<Accordion title="Spanish">
  * **spanish\_qwerty**: Spanish QWERTY
  * **spanish\_dvorak**: Spanish Dvorak
  * **latam\_qwerty**: Latin American QWERTY
</Accordion>

<Accordion title="French">
  * **azerty**: French AZERTY
  * **azerty\_AFNOR**: French AFNOR standardized layout
  * **bepo**: French BÉPO optimized layout
  * **bepo\_AFNOR**: BÉPO AFNOR standard
  * **optimot**: Optimized French layout
  * **ergol**: Ergonomic French layout
  * **swiss\_french**: Swiss French keyboard
</Accordion>

<Accordion title="German">
  * **qwertz**: German QWERTZ
  * **german\_dvorak**: German Dvorak
  * **german\_dvorak\_imp**: Improved German Dvorak
  * **swiss\_german**: Swiss German layout
  * **neo**: German Neo optimized layout
  * **bone**: German Bone ergonomic layout
  * **AdNW**: German AdNW layout
  * **koy**: German KOY layout
</Accordion>

<Accordion title="Scandinavian">
  * **swedish\_qwerty**: Swedish QWERTY
  * **swedish\_dvorak**: Swedish Dvorak
  * **swedish\_colemak**: Swedish Colemak
  * **norwegian\_qwerty**: Norwegian QWERTY
  * **danish\_qwerty**: Danish QWERTY
</Accordion>

<Accordion title="Other European">
  * **italian\_qwerty**: Italian QWERTY
  * **portuguese\_pt\_qwerty\_ansi**: Portuguese (Portugal) ANSI
  * **portuguese\_pt\_qwerty\_iso**: Portuguese (Portugal) ISO
  * **brazilian\_nativo**: Brazilian Portuguese native layout
  * **polish\_programmers**: Polish Programmer's layout
  * **uk\_qwerty**: UK QWERTY
  * **estonian**: Estonian keyboard layout
  * **hungarian**: Hungarian keyboard layout
</Accordion>

### Cyrillic Scripts

<Accordion title="Russian & Slavic Languages">
  * **russian**: Russian keyboard layout
  * **ukrainian**: Ukrainian keyboard layout
  * **belarusian**: Belarusian keyboard layout
  * **bulgarian**: Bulgarian keyboard layout
  * **bulgarian\_phonetic\_traditional**: Bulgarian phonetic layout
  * **macedonian**: Macedonian keyboard layout
  * **JCUKEN**: Standard Russian JCUKEN layout
</Accordion>

### Middle Eastern Languages

<Accordion title="Arabic">
  * **arabic\_101**: Arabic 101-key layout
  * **arabic\_102**: Arabic 102-key layout
  * **arabic\_mac**: Arabic Mac keyboard layout
</Accordion>

<Accordion title="Persian/Farsi">
  * **persian\_standard**: Persian standard layout
  * **persian\_standard\_colemak**: Persian Colemak variant
  * **persian\_farsi**: Persian/Farsi layout
  * **persian\_farsi\_colemak**: Farsi Colemak variant
</Accordion>

<Accordion title="Other Middle Eastern">
  * **hebrew**: Hebrew keyboard layout
  * **pashto**: Pashto keyboard layout
  * **urdu\_phonetic**: Urdu phonetic layout
  * **turkish\_q**: Turkish Q layout
  * **turkish\_f**: Turkish F layout
  * **turkish\_e**: Turkish E layout
</Accordion>

### Asian Languages

<Accordion title="Indic Scripts">
  * **hindi\_inscript**: Hindi Inscript layout
  * **tamil99**: Tamil 99 layout
</Accordion>

<Accordion title="East Asian">
  * **japanese\_hiragana**: Japanese Hiragana layout
  * **korean**: Korean keyboard layout
  * **thai\_kedmanee**: Thai Kedmanee layout
  * **thai\_pattachote**: Thai Pattachote layout
  * **thai\_manoonchai**: Thai Manoonchai layout
  * **burmese**: Burmese keyboard layout
  * **mongolian**: Mongolian keyboard layout
</Accordion>

## Specialized Layouts

### Programmer Layouts

<Accordion title="Coding-Optimized Layouts">
  * **prog\_dvorak**: Programmer Dvorak
  * **prog\_dvorak\_prime**: Enhanced Programmer Dvorak
  * **prog\_workman**: Programmer Workman
  * **polish\_programmers**: Polish Programmer's layout
</Accordion>

### Tarmak Learning Progression

Gradual transition from QWERTY to Colemak.

<Accordion title="Tarmak Stages">
  * **tarmak\_1**: First Tarmak stage (E → K)
  * **tarmak\_2**: Second Tarmak stage (adds more changes)
  * **tarmak\_3**: Third Tarmak stage
  * **tarmak\_4**: Fourth Tarmak stage (almost Colemak)

  Tarmak allows you to learn Colemak incrementally, adapting to small changes at a time.
</Accordion>

### Minimak Variants

Minimal changes from QWERTY for easier learning.

<Accordion title="Minimak Layouts">
  * **minimak\_4k**: Changes only 4 keys from QWERTY
  * **minimak\_8k**: Changes 8 keys from QWERTY
  * **minimak\_12k**: Changes 12 keys from QWERTY
</Accordion>

## Complete Layout List

Monkeytype supports 236 keyboard layouts including:

<Accordion title="All Available Layouts (A-D)">
  3l, ABNT2, AdNW, APT, APT\_angle, ARTS, arensito, arrows, ascii, asl, asset, azerty, azerty\_AFNOR, arabic\_101, arabic\_102, arabic\_mac, anishtro, alpha, BEAKL\_Zi, beakl\_15, beakl\_19, beakl\_19\_bis, bepo, bepo\_AFNOR, belarusian, bone, boo, boo\_mangle, bulgarian, bulgarian\_phonetic\_traditional, brasileiro\_nativo, burmese, canary, canary\_matrix, capewell\_dvorak, cascade, colemaQ, colemaQ\_F, colemak, colemak\_Qi, colemak\_Qix, colemak\_angle, colemak\_dh, colemak\_dh\_iso, colemak\_dh\_iso\_wide, colemak\_dh\_matrix, colemak\_dh\_wide, colemak\_dhk, colemak\_dhk\_iso, colemak\_dhv, colemak\_wide, colman, ctgap, danish\_qwerty, dhorf, Diktor, Diktor\_VoronovMod, dusk, dvorak, dvorak\_L, dvorak\_R, dvorak\_fr, dwarf
</Accordion>

<Accordion title="All Available Layouts (E-K)">
  earthquake, ekverto\_b, engram, engrammer, ergo\_split46, ergol, ergopti, estonian, flaw, focal, Foalmak, gallaya\_angle\_ansi, gallaya\_angle\_iso, gallaya\_matrix, gallium, gallium\_angle, gallium\_nl, gallium\_v2, gallium\_v2\_matrix, german\_dvorak, german\_dvorak\_imp, Gralmak, GralmakS, graphite, graphite\_angle, graphite\_angle\_kp, graphite\_angle\_vc, graphite\_matrix, gust, halmak, handsdown, handsdown\_alt, handsdown\_neu, handsdown\_neu\_inverted, handsdown\_promethium, haruka, heart, hebrew, hindi\_inscript, HiYou, hungarian, hyperroll, ina, inqwerted, ints, ISRT, ISRT\_Angle, italian\_qwerty, japanese\_hiragana, JCUKEN, JUIYAF, klauser, korean, koy, krai, Kuntem, kuntem-jq, kuntum
</Accordion>

<Accordion title="All Available Layouts (L-Q)">
  latam\_qwerty, macedonian, MALTRON, maya, middlemak, middlemak-nh, miligram, mine, minimak\_4k, minimak\_8k, minimak\_12k, mir, mongolian, MTGAP, MTGAP\_ASRT, MTGAP\_full, neo, nerps, night, night\_stic, nila, niro, noctum, norman, norwegian\_qwerty, noted, octa8, oneproduct, optimot, opy, ORNATE, panini, panini\_wide, pashto, persian\_farsi, persian\_farsi\_colemak, persian\_standard, persian\_standard\_colemak, pine, pine\_v4, polish\_programmers, portuguese\_pt\_qwerty\_ansi, portuguese\_pt\_qwerty\_iso, prog\_dvorak, prog\_dvorak\_prime, prog\_workman, PRSTEN, QGMLWB, QGMLWY, quartz, qwerty, qwertz, qwpr
</Accordion>

<Accordion title="All Available Layouts (R-Z)">
  rain, real, recurva, Redaktor, rolll, rollla, romak, RSTHD, rulemak, russian, saiga, saiga-e, scythe, seht-drai, semimak, semimak\_jq, semimak\_jqc, sertain, snorkle, soul, spanish\_dvorak, spanish\_qwerty, statica\_3x5, stndc, stronk, sturdy\_angle\_ansi, sturdy\_angle\_iso, sturdy\_ortho, swedish\_colemak, swedish\_dvorak, swedish\_qwerty, swiss\_french, swiss\_german, sword, tamil99, tarmak\_1, tarmak\_2, tarmak\_3, tarmak\_4, thai\_kedmanee, thai\_manoonchai, thai\_pattachote, three, turkish\_e, turkish\_f, turkish\_q, typehack, uciea, UGJRMV, uk\_qwerty, ukrainian, urdu\_phonetic, Vestnik, vitrimak, vylet, whix2, whorf, whorf6, whorfmax, whorfmax\_ortho, workman, wreathy, xenia, xenia\_alt, zenith, Zubachev
</Accordion>

## How to Select a Layout

1. Navigate to the test configuration area on Monkeytype
2. Look for the keyboard layout selector
3. Click to open the layout menu
4. Search or scroll to find your desired layout
5. Select the layout - the visual keyboard will update accordingly
6. Start typing to practice with your chosen layout

<Note>
  The layout selection is saved to your account and will persist across sessions.
</Note>

## When to Use Different Layouts

<CardGroup cols={2}>
  <Card title="Learning Alternative Layouts" icon="graduation-cap">
    Practice Colemak, Dvorak, or other efficiency-focused layouts to improve your typing ergonomics and speed over time.
  </Card>

  <Card title="Language Practice" icon="language">
    Select your language's native keyboard layout to practice typing in your language with the correct key mappings.
  </Card>

  <Card title="Testing Specialized Keyboards" icon="keyboard">
    Use ortholinear or matrix layouts if you own an ergonomic split keyboard or custom mechanical keyboard.
  </Card>

  <Card title="Programming" icon="code">
    Try programmer-optimized layouts that place symbols and special characters in more accessible positions.
  </Card>
</CardGroup>

## Layout Challenges

Many challenges require specific layouts or test your ability with alternative layouts:

* **Layoutfluid** funbox mode switches between multiple layouts during a single test
* **Layout Mirror** funbox mirrors your keyboard layout horizontally
* **Be like water** challenge requires using the layoutfluid mode

<Note>
  Some layouts may have limited word lists or language support. Standard layouts like QWERTY, Colemak, and Dvorak have the most comprehensive support.
</Note>

## Visual Keyboard Display

Monkeytype displays a visual representation of your selected layout, showing:

* Key positions for the current layout
* Correct key highlighting during typing
* Finger position suggestions (if enabled)
* Next key indicators (if enabled)

The visual keyboard helps you learn new layouts without needing to change your physical keyboard or OS settings.
