# Features

## Overview

The BlueFletch Keyboard serves as a customizable alternative to the default keyboard on the device. It offers configuration options that allow users to modify keyboard layouts, disable key previews, and select their preferred feedback mechanism when pressing keys. This flexibility provides a personalized typing experience to suit individual preferences and requirements.

## User Guide <a href="#keyboard-layouts" id="keyboard-layouts"></a>

The default keyboard layout is chosen with the boolean settings "bigButtonText" and "alphanumeric". Below are examples of the different keyboard settings.

### Standard Layout <a href="#standard-layout" id="standard-layout"></a>

To get the standard keyboard, use the following settings:

```
"bigButtonText": false,
"alphanumeric": false
```

**Example**

<figure><img src="https://799338798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSxhNrDkmDAkv7QEWfOIh%2Fuploads%2Fu1EIJtIB9v2NX321v9SV%2Fkeyboard_standard.png?alt=media&#x26;token=09dc2e86-ffd0-430a-b168-06b34145e4c8" alt="" width="225"><figcaption></figcaption></figure>

### Alphanumeric Layout <a href="#alphanumeric-layout" id="alphanumeric-layout"></a>

To get the alphanumeric keyboard, use the following settings:

```
"bigButtonText": false,
"alphanumeric": true
```

**Example**

<figure><img src="https://799338798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSxhNrDkmDAkv7QEWfOIh%2Fuploads%2FQHjvWVQJRqFxWNXLpY2X%2Fkeyboard_alphanumeric.png?alt=media&#x26;token=05a9cff5-953e-43e5-ad8b-d7ea0d9ac469" alt="" width="225"><figcaption></figcaption></figure>

### Big Button Layout <a href="#big-button-layout" id="big-button-layout"></a>

To get the big button keyboard, use the following settings:

```
"bigButtonText": true,
"alphanumeric": false
```

{% hint style="info" %}
If both "bigButtonText" and "alphanumeric" are set to true, the keyboard will default to big button layout.
{% endhint %}

**Example**

<div align="center"><figure><img src="https://799338798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSxhNrDkmDAkv7QEWfOIh%2Fuploads%2FoBcus6n2OM4wn7VPv6m5%2Fkeyboard_bigbutton_left.png?alt=media&#x26;token=6ba4e144-7ff8-4a8a-ab80-d45bedb42e2b" alt="" width="225"><figcaption></figcaption></figure> <figure><img src="https://799338798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSxhNrDkmDAkv7QEWfOIh%2Fuploads%2FkTSRzqjrRaOBzTshU3ZI%2Fkeyboard_bigbutton_right.png?alt=media&#x26;token=f6b055cd-f245-49b0-951a-d03b94f8c72a" alt="" width="225"><figcaption></figcaption></figure></div>

### Toggling Layouts <a href="#toggling-layouts" id="toggling-layouts"></a>

The layout can be switched in-use between standard ("Qwerty"), alphanumeric, and big button if toggling layouts are allowed in the configuration. Upon clicking the **Toggle Keyboard** button, the user will be prompted to select one of the three layouts.

To allow at all times, use this setting:

```
"allowToggle": true
```

To allow only while there is a user logged in to the device, use this setting:

```
"toggleLoggedIn": true
```

**Example**

<div><figure><img src="https://799338798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSxhNrDkmDAkv7QEWfOIh%2Fuploads%2Fs18d3EaP49yf007gp42d%2FtoggleLayoutButton.png?alt=media&#x26;token=63e918f3-b5c5-4946-8809-583744bda18a" alt="" width="563"><figcaption></figcaption></figure> <figure><img src="https://799338798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSxhNrDkmDAkv7QEWfOIh%2Fuploads%2F5Ut4lRTEj06peBFDV6za%2FtoggleLayoutOptions.png?alt=media&#x26;token=f08180f7-6525-415f-b0d2-51bff7d7b8c9" alt="" width="563"><figcaption></figcaption></figure></div>

### Key Preview <a href="#key-preview" id="key-preview"></a>

Key previews allow the user to see which key has been pressed while typing. This setting is adjusted by the "keyPreview" boolean value in the config file. In the picture below, "keyPreview" is set to **true**, and 'j' is pressed.

**Example**

<figure><img src="https://799338798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSxhNrDkmDAkv7QEWfOIh%2Fuploads%2FwDS1XQuvHjAirHfkB2hj%2Fkeyboard_key_preview.png?alt=media&#x26;token=e1a00917-ccf3-43dc-ac70-4b1f13f0f173" alt="" width="225"><figcaption></figcaption></figure>

### Feedback <a href="#feedback" id="feedback"></a>

The feedback on the press of a key is customizable and is adjusted with the "hapticFeedback" setting in the config file. It has the following settings:

For devices on Android 11, **Touch vibration** must be turned on in order to use the “hapticFeedback” feature of the keyboard. This setting can be found in the device's **Sound** settings.

#### Sound and Vibration <a href="#sound-and-vibration" id="sound-and-vibration"></a>

The device makes a click sound and vibrates on keypress. This is the default setting.

```
"hapticFeedback": "hapticClick"
```

#### Sound Only <a href="#sound-only" id="sound-only"></a>

The device makes a click sound on key press.

```
"hapticFeedback": "click"
```

#### Vibration Only <a href="#vibration-only" id="vibration-only"></a>

The device vibrates on key press.

```
"hapticFeedback": "haptic"
```

#### No Feedback <a href="#no-feedback" id="no-feedback"></a>

The devices does not give any feedback on key press.

```
"hapticFeedback": "none"
```

*If there is a typo in the String variable, there will be no feedback.*

### Lockable Keyboard <a href="#sound-only" id="sound-only"></a>

When enabled, the keyboard displays a **hide** toggle at the top row. Once hidden, a floating action button appears to easily restore the keyboard when needed.

```
"isKeyboardLockable": true
```

<figure><img src="https://799338798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSxhNrDkmDAkv7QEWfOIh%2Fuploads%2FyVM0A2iJXqVTygIvDb29%2Fscreenshot-1753753675014.png?alt=media&#x26;token=6aeec9bc-10d5-4ba7-8f6c-d0b2d8bac70c" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
This is available for BlueFletch Keyboard version 2.3.1
{% endhint %}
