<page xmlns="http://projectmallard.org/1.0/"
      type="topic" style="tip"
      id="keyboard-nav">
  <info>
    <link type="guide" xref="keyboard" group="a11y"/>
    <link type="guide" xref="a11y#mobility" group="keyboard"/>
    <link type="seealso" xref="shell-keyboard-shortcuts"/>

    <revision pkgversion="3.7.5" version="0.2" date="2013-02-23" status="review"/>
    <revision pkgversion="3.13.92" date="2014-09-22" status="candidate"/>
    <revision pkgversion="3.20" date="2016-08-13" status="candidate"/>
    <revision pkgversion="3.29" date="2018-08-27" status="review"/>

    <credit type="author">
      <name>Michael Hill</name>
      <email>mdhillca@gmail.com</email>
    </credit>
    <credit type="editor">
       <name>Julita Inca</name>
       <email>yrazes@gmail.com</email>
    </credit>
    <credit type="author copyright">
      <name>Shaun McCance</name>
      <email>shaunm@gnome.org</email>
      <years>2012</years>
    </credit>
    <credit type="editor">
       <name>Ekaterina Gerasimova</name>
       <email>kittykat3756@gmail.com</email>
    </credit>

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

    <desc>Use applications and the desktop without a mouse.</desc>
  </info>

  <title>Keyboard navigation</title>

  <comment>
    <cite date="2012-03-14" href="mailto:shaunm@gnome.org">Shaun McCance</cite>
    <p>Do <em>NOT</em> use <code>ui:expanded</code> on this page. I know it's
    tempting, but the target audience for this page is people who cannot use
    a mouse, and having to expand sections when you're just figuring out how
    to drive things with the keyboard is a burden.</p>
  </comment>

  <p>This page details keyboard navigation for people who cannot use a mouse or
  other pointing device, or who want to use a keyboard as much as possible. For
  keyboard shortcuts that are useful to all users, see
  <link xref="shell-keyboard-shortcuts"/> instead.</p>

  <note style="tip">
    <p>If you cannot use a pointing device like a mouse, you can control the
    mouse pointer using the numeric keypad on your keyboard. See
    <link xref="mouse-mousekeys"/> for details.</p>
  </note>

<table frame="top bottom" rules="rows">
  <title>Navigate user interfaces</title>
  <tr>
    <td><p><key>Tab</key> and</p>
    <p><keyseq><key>Ctrl</key><key>Tab</key></keyseq></p>
    </td>
    <td>
      <p>Move keyboard focus between different controls. <keyseq><key>Ctrl</key>
      <key>Tab</key></keyseq> moves between groups of controls, such as from a
      sidebar to the main content.
      <keyseq><key>Ctrl</key><key>Tab</key></keyseq> can also break out of a
      control that uses <key>Tab</key> itself, such as a text area.</p>
      <p>Hold down <key>Shift</key> to move focus in reverse order.</p>
    </td>
  </tr>
  <tr>
    <td><p>Arrow keys</p></td>
    <td>
      <p>Move selection between items in a single control, or among a set of
      related controls. Use the arrow keys to focus buttons in a toolbar, select
      items in a list or icon view, or select a radio button from a group.</p>
    </td>
  </tr>
  <tr>
    <td><p><keyseq><key>Ctrl</key>Arrow keys</keyseq></p></td>
    <td><p>In a list or icon view, move the keyboard focus to another item
    without changing which item is selected.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key>Shift</key>Arrow keys</keyseq></p></td>
    <td><p>In a list or icon view, select all items from the currently selected
    item to the newly focused item.</p>
    <p>In a tree view, items that have children can be expanded or collapsed,
    to show or hide their children: expand by pressing
    <keyseq><key>Shift</key><key>→</key></keyseq>, and collapse by
    pressing <keyseq><key>Shift</key><key>←</key></keyseq>.</p></td>
  </tr>
  <tr>
    <td><p><key>Space</key></p></td>
    <td><p>Activate a focused item such as a button, check box, or list
    item.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key>Ctrl</key><key>Space</key></keyseq></p></td>
    <td><p>In a list or icon view, select or deselect the focused item without
    deselecting other items.</p></td>
  </tr>
  <tr>
    <td><p><key>Alt</key></p></td>
    <td><p>Hold down the <key>Alt</key> key to reveal <em>accelerators</em>:
    underlined letters on menu items, buttons, and other controls. Press
    <key>Alt</key> plus the underlined letter to activate a control, just
    as if you had clicked on it.</p></td>
  </tr>
  <tr>
    <td><p><key>Esc</key></p></td>
    <td><p>Exit a menu, popup, switcher, or dialog window.</p></td>
  </tr>
  <tr>
    <td><p><key>F10</key></p></td>
    <td><p>Open the first menu on the menubar of a window. Use the arrow keys
    to navigate the menus.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key xref="keyboard-key-super">Super</key>
    <key>F10</key></keyseq></p></td>
    <td><p>Open the application menu on the top bar.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key>Shift</key><key>F10</key></keyseq> or</p>
    <p><key xref="keyboard-key-menu">Menu</key></p></td>
    <td>
      <p>Pop up the context menu for the current selection, as if you had
      right-clicked.</p>
    </td>
  </tr>
  <tr>
    <td><p><keyseq><key>Ctrl</key><key>F10</key></keyseq></p></td>
    <td><p>In the file manager, pop up the context menu for the current folder,
    as if you had right-clicked on the background and not on any item.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key>Ctrl</key><key>PageUp</key></keyseq></p>
    <p>and</p>
    <p><keyseq><key>Ctrl</key><key>PageDown</key></keyseq></p></td>
    <td><p>In a tabbed interface, switch to the tab to the left or
    right.</p></td>
  </tr>
</table>

<table frame="top bottom" rules="rows">
  <title>Navigate the desktop</title>
  <include xmlns="http://www.w3.org/2001/XInclude"
           href="shell-keyboard-shortcuts.page"
           xpointer="alt-f1"/>
  <include xmlns="http://www.w3.org/2001/XInclude"
           href="shell-keyboard-shortcuts.page"
           xpointer="super-tab"/>
  <include xmlns="http://www.w3.org/2001/XInclude"
           href="shell-keyboard-shortcuts.page"
           xpointer="super-tick"/>
  <include xmlns="http://www.w3.org/2001/XInclude"
           href="shell-keyboard-shortcuts.page"
           xpointer="ctrl-alt-tab"/>
  <include xmlns="http://www.w3.org/2001/XInclude"
           href="shell-keyboard-shortcuts.page"
           xpointer="super-updown"/>
  <tr>
    <td><p><keyseq><key>Alt</key><key>F6</key></keyseq></p></td>
    <td><p>Cycle through windows in the same application. Hold down the
    <key>Alt</key> key and press <key>F6</key> until the window you want is
    highlighted, then release <key>Alt</key>. This is similar to the
    <keyseq><key>Alt</key><key>`</key></keyseq> feature.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key>Alt</key><key>Esc</key></keyseq></p></td>
    <td><p>Cycle through all open windows on a workspace.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key>Super</key><key>V</key></keyseq></p></td>
    <td><p><link xref="shell-notifications#notificationlist">Open the
    notification list.</link> Press <key>Esc</key> to close.</p></td>
  </tr>
</table>

<table frame="top bottom" rules="rows">
  <title>Navigate windows</title>
  <tr>
    <td><p><keyseq><key>Alt</key><key>F4</key></keyseq></p></td>
    <td><p>Close the current window.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key>Alt</key><key>F5</key></keyseq> or
    <keyseq><key>Super</key><key>&#8595;</key></keyseq></p></td>
    <td><p>Restore a maximized window to its original size. Use
    <keyseq><key>Alt</key><key>F10</key></keyseq> to maximize.
    <keyseq><key>Alt</key><key>F10</key></keyseq> both maximizes and
    restores.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key>Alt</key><key>F7</key></keyseq></p></td>
    <td><p>Move the current window. Press
    <keyseq><key>Alt</key><key>F7</key></keyseq>, then use the arrow keys to
    move the window. Press <key>Enter</key> to finish moving the window, or
    <key>Esc</key> to return it to its original place.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key>Alt</key><key>F8</key></keyseq></p></td>
    <td><p>Resize the current window. Press
    <keyseq><key>Alt</key><key>F8</key></keyseq>, then use the arrow keys to
    resize the window. Press <key>Enter</key> to finish resizing the window, or
    <key>Esc</key> to return it to its original size.</p></td>
  </tr>
  <include xmlns="http://www.w3.org/2001/XInclude"
           href="shell-keyboard-shortcuts.page"
           xpointer="shift-super-updown"/>
  <include xmlns="http://www.w3.org/2001/XInclude"
           href="shell-keyboard-shortcuts.page"
           xpointer="shift-super-left"/>
  <include xmlns="http://www.w3.org/2001/XInclude"
           href="shell-keyboard-shortcuts.page"
           xpointer="shift-super-right"/>
  <tr>
    <td><p><keyseq><key>Alt</key><key>F10</key></keyseq> or
    <keyseq><key>Super</key><key>&#8593;</key></keyseq></p>
    </td>
    <td><p><link xref="shell-windows-maximize">Maximize</link> a window. Press
    <keyseq><key>Alt</key><key>F10</key></keyseq> or
    <keyseq><key>Super</key><key>&#8595;</key></keyseq> to
    restore a maximized window to its original size.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key>Super</key><key>H</key></keyseq></p></td>
    <td><p>Minimize a window.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key>Super</key><key>&#8592;</key></keyseq></p></td>
    <td><p>Maximize a window vertically along the left side of the screen.
    Press again to restore the window to its previous size. Press
    <keyseq><key>Super</key><key>&#8594;</key></keyseq> to switch
    sides.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key>Super</key><key>&#8594;</key></keyseq></p></td>
    <td><p>Maximize a window vertically along the right side of the screen.
    Press again to restore the window to its previous size. Press
    <keyseq><key>Super</key><key>&#8592;</key></keyseq> to
    switch sides.</p></td>
  </tr>
  <tr>
    <td><p><keyseq><key>Alt</key><key>Space</key></keyseq></p></td>
    <td><p>Pop up the window menu, as if you had right-clicked on the
    titlebar.</p></td>
  </tr>
</table>

</page>
