<page xmlns="http://projectmallard.org/1.0/"
      xmlns:its="http://www.w3.org/2005/11/its"
      type="topic" style="task"
      id="keyboard-layouts">

  <info>
    <link type="guide" xref="prefs-language"/>
    <link type="guide" xref="keyboard" group="i18n"/>

    <revision pkgversion="3.8" version="0.3" date="2013-04-30" status="review"/>
    <revision pkgversion="3.10" date="2013-10-28" status="review"/>
    <revision pkgversion="3.13.92" date="2014-09-22" status="review"/>
    <revision pkgversion="3.29" date="2018-08-20" status="review"/>
    <revision version="gnome:46" status="candidate" date="2024-03-02"/>

    <credit type="author copyright">
      <name>Shaun McCance</name>
      <email>shaunm@gnome.org</email>
      <years>2012</years>
    </credit>
    <credit type="author">
       <name>Julita Inca</name>
       <email>yrazes@gmail.com</email>
    </credit>
    <credit type="editor">
      <name>Michael Hill</name>
      <email>mdhillca@gmail.com</email>
    </credit>
    <credit type="editor">
      <name>Juanjo Marín</name>
      <email>juanj.marin@juntadeandalucia.es</email>
    </credit>
    <credit type="editor">
      <name>Ekaterina Gerasimova</name>
      <email>kittykat3756@gmail.com</email>
      <years>2013</years>
    </credit>

    <include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>

    <desc>Add keyboard layouts and switch between them.</desc>
  </info>

  <title>Use alternative keyboard layouts</title>

  <p>Keyboards come in hundreds of different layouts for different languages.
  Even for a single language, there are often multiple keyboard layouts, such
  as the Dvorak layout for English. You can make your keyboard behave like a
  keyboard with a different layout, regardless of the letters and symbols
  printed on the keys. This is useful if you often switch between multiple
  languages.</p>

  <steps>
    <item>
      <p>Open the <gui xref="shell-introduction#activities">Activities</gui>
      overview and start typing <gui>Keyboard</gui>.</p>
    </item>
    <item>
      <p>Select <guiseq><gui>Settings</gui><gui>Keyboard</gui></guiseq> from the
      results. This will open the <gui>Keyboard</gui> panel.</p>
    </item>
    <item>
      <p>Click the <gui>+ Add Input Source…</gui> button in the
      <gui>Input Sources</gui> section,
      select the language which is associated with the layout, then select a
      layout and press <gui>Add</gui>.</p>
    </item>
  </steps>

  <note style="tip">
    <p>If there are multiple user accounts on your system, there is a separate
    section for the <gui>Login Screen</gui> in the
    <gui>Region &amp; Language</gui> panel in the <gui>System</gui> panel.</p>

    <p>Some rarely used keyboard layout variants are not available by default
    when you click the <gui>+ Add Input Source…</gui> button. To make also those input sources
    available you can open a Terminal window and run this command:</p>
    <p><cmd its:translate="no">gsettings set org.gnome.desktop.input-sources
    show-all-sources true</cmd></p>
  </note>

  <note style="sidebar">
    <p>You can preview an image of any layout by clicking the
    <media its:translate="no" type="image" src="figures/view-more-symbolic.svg"><span its:translate="yes">settings</span></media>
    button next to the language in the <gui>Input Sources</gui> list and selecting
    <gui style="menuitem">View Keyboard Layout</gui>.</p>
  </note>

  <p>Certain languages offer some extra configuration options. You can
  identify those languages because they have a
  <gui><media its:translate="no" type="image" src="figures/system-run-symbolic.svg" width="16" height="16"><span its:translate="yes">settings</span></media></gui>
  icon next to them in the <gui>Add an Input Source</gui> dialog.
  If you want to access these extra parameters, click the
  <media its:translate="no" type="image" src="figures/view-more-symbolic.svg"><span its:translate="yes">settings</span></media> button next to the language
  in the <gui>Input Sources</gui> list and select <gui style="menuitem">Preferences</gui>
  which will give you access to the extra settings.</p>

  <p>When you use multiple layouts, you can choose to have all windows use the
  same layout or to set a different layout for each window. Using a different
  layout for each window is useful, for example, if you’re writing an article
  in another language in a word processor window. Your keyboard selection will
  be remembered for each window as you switch between windows. Press the
  <gui style="button">Options</gui> button to select how you want to manage
  multiple layouts.</p>

  <p>The top bar will display a short identifier for the current layout, such
  as <gui>en</gui> for the standard English layout. Click the layout indicator
  and select the layout you want to use from the menu. If the selected language
  has any extra settings, they will be shown below the list of available
  layouts. This gives you a quick overview of your settings. You can also open
  an image with the current keyboard layout for reference.</p>

  <p>The fastest way to change to another layout is by using the 
  <gui>Input Source</gui> <gui>Keyboard Shortcuts</gui>. These shortcuts open 
  the <gui>Input Source</gui> chooser where you can move forward and backward. 
  By default, you can switch to the next input source with 
  <keyseq><key xref="keyboard-key-super">Super</key><key>Space</key></keyseq>
  and to the previous one with
  <keyseq><key>Shift</key><key>Super</key><key>Space</key></keyseq>. You can
  change these shortcuts in the <gui>Keyboard</gui> settings under
  <guiseq><gui>Keyboard Shortcuts</gui><gui>View and Customize Shortcuts</gui><gui>Typing</gui></guiseq>.</p>

  <p><media type="image" src="figures/input-methods-switcher.png"/></p>

  <comment>
    <cite date="2012-02-19">shaunm</cite>
    <p>We're totally coping out on the custom options. That dialog is a
    monster, and needs a reference. Note that the options in there are
    dynamic from the X server. We might not get a definitive reference
    of everything ever, but let's do our best. Make a separate page.
    Don't clutter this page with that crap.</p>
    <p>Also, we should identify common uses of those options and create
    task pages for them.</p>
  </comment>

</page>
