.. _librem_5_virtual_keyboard:

Virtual Keyboard
================

The virtual keyboard provides an on-screen replacement for a physical keyboard
that is used to input text.

.. contents::
   :local:

When an application presents a text input field or editable document, the virtual keyboard will be shown automatically.

Opening and Closing the Keyboard
--------------------------------

The virtual keyboard is shown automatically when a user interface element receives the input focus. However, you can also open and close it manually by pressing the |keyboard| (keyboard) symbol in the bottom-right corner of the screen. This will light up when the keyboard is available.

Layouts
-------

The layout of the virtual keyboard is close to that of conventional physical keyboards, except that it is designed more for text input than as a general input device. As a result, many of the keys found on a physical keyboard, such as *Ctrl*, *Alt* and the cursor keys are not included in the normal layout.

.. image:: ../images/keyboard/keyboard-us-alpha.png
   :align: center
   :alt: The virtual keyboard with US alphabet layout

Since the user still needs to access upper and lower case characters, a key like the *Shift* is included as the |shift| key. This toggles between lower and upper case characters when the alphabet is shown.

The |backspace| key corresponds to the backspace key on a physical keyboard, causing the last character in an input field to be deleted.

The |enter| key behaves in the same way as the Return key on a physical keyboard.

The default layout is for a US English keyboard. This can be changed in the :ref:`librem_5_settings_region_language` section of the **Settings** application.

Views
-----

The keyboard provides different views that you can switch between: one with the alphabet, another with digits, and a third view with symbols.

.. |keyboard-us-alpha| image:: ../images/keyboard/keyboard-us-alpha.png
   :scale: 50%
   :alt: The virtual keyboard with US alphabet layout

.. |keyboard-us-numbers| image:: ../images/keyboard/keyboard-us-numbers.png
   :scale: 50%
   :alt: The virtual keyboard with US numbers layout

.. |keyboard-us-symbols| image:: ../images/keyboard/keyboard-us-symbols.png
   :scale: 50%
   :alt: The virtual keyboard with US symbols layout

.. centered:: |keyboard-us-alpha| |keyboard-us-numbers| |keyboard-us-symbols|

Switch between the views by pressing these special keys:

 * Press the **123** key to show a view with digits and common symbols.
 * Press the ***/=** key to show less common symbols.
 * Press the **ABC** key to return to the alphabet view for your language.

More specialized keyboard layouts will be shown when certain kinds of input are required by applications.

Switching Layouts
-----------------

The keyboard automatically handles switching between layouts for specialized tasks, such as entering phone numbers, but you can also choose between layouts for different languages by pressing the |mode| key.

.. image:: ../images/keyboard/keyboard-mode-selection.png
   :align: center
   :alt: Opening the keyboard mode selection menu

This provides access to layouts such as a terminal layout for consoles and terminal emulators, as well as an emoji layout for messaging applications.

.. image:: ../images/keyboard/keyboard-emoji-layout.png
   :align: center
   :alt: The emoji layout for use with messaging applications

The menu also shows which other layouts are available for other languages.

.. include:: images.txt
