Welcome to squeekboard's documentation!
=======================================

Introduction
------------

Squeekboard is the on-screen keyboard for the Librem 5 phone. For information about building, look at the [README](https://source.puri.sm/Librem5/squeekboard/blob/master/README.md).

Layouts
-------

Squeekboard allows user-provided keyboard layouts. They can be created without recompiling the keyboard code. The [tutorial](tutorial.md) explains the process in detail.

Layouts are created using a [text-based format, based on YAML](layouts.md).

### Views

Squeekboard layouts are separated into *views* and use a *room metaphor* to [switch views](views.md).

Contributions
-------------

Anyone is free to modify *squeekboard*. See the [contributing document](hacking.md).

### Code documentation

To expose the structure of Squeekboard in detail, there's a [code reference](doc/rs).