# florisboard/florisboard

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/florisboard-florisboard).**

8,059 stars · 598 forks · Kotlin · apache-2.0

## Links

- GitHub: https://github.com/florisboard/florisboard
- Homepage: https://florisboard.org
- awesome-repositories: https://awesome-repositories.com/repository/florisboard-florisboard.md

## Topics

`android` `input-method` `keyboard` `kotlin` `kotlin-android`

## Description

Florisboard is an open-source virtual keyboard and input method editor for Android devices. It functions as an extensible framework for mobile text input, providing a privacy-focused alternative for typing and emoji insertion.

The project is distinguished by a comprehensive theme engine that allows users to modify fonts, colors, and background images via stylesheets. It supports the creation, packaging, and distribution of custom visual themes and behavioral extensions.

The keyboard includes integrated productivity tools such as clipboard history management and tactile haptic feedback to simulate a mechanical typing experience. Its interface customization covers typography, RGBA color mapping, and the use of external asset archives.

## Tags

### Mobile Development

- [Android Virtual Keyboards](https://awesome-repositories.com/f/mobile-development/android-virtual-keyboards.md) — Provides a system-wide virtual keyboard and input method for Android devices.

### Part of an Awesome List

- [Framework Capability Extensions](https://awesome-repositories.com/f/awesome-lists/devtools/core-and-community-extensions/framework-capability-extensions.md) — Supports the development and packaging of custom extensions to add new operational capabilities. ([source](https://cdn.jsdelivr.net/gh/florisboard/florisboard@main/README.md))
- [Haptic Feedback Triggering](https://awesome-repositories.com/f/awesome-lists/devtools/device-hardware-helpers/haptic-feedback-triggering.md) — Signals the device vibrator service to provide tactile feedback in response to typing events.
- [Keyboards](https://awesome-repositories.com/f/awesome-lists/devtools/keyboards.md) — Privacy-focused, customizable keyboard for Android.

### Development Tools & Productivity

- [Input Method Editors](https://awesome-repositories.com/f/development-tools-productivity/input-pointer-automation/input-utilities/input-method-editors.md) — Implements a customizable input method editor for managing keyboard layouts and text entry.
- [Clipboard Managers](https://awesome-repositories.com/f/development-tools-productivity/clipboard-management/clipboard-managers.md) — Stores and retrieves a history of recently copied text for quick insertion into text fields. ([source](https://cdn.jsdelivr.net/gh/florisboard/florisboard@main/README.md))

### Software Engineering & Architecture

- [Extensibility Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/extensibility-frameworks.md) — Functions as an extensible framework for creating custom themes and behavioral plugins.
- [Plugin-Based Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures.md) — Provides a modular architecture that loads external archives to add new behaviors and visual themes.
- [Interface](https://awesome-repositories.com/f/software-engineering-architecture/integer-arithmetic/color-mapping/interface.md) — Maps static RGBA values or system variables to interface components for consistent visual styling.

### User Interface & Experience

- [Custom Theme Definitions](https://awesome-repositories.com/f/user-interface-experience/custom-theme-definitions.md) — Defines overall appearance and color palettes through a theme editor and configuration files. ([source](https://docs.florisboard.org/))
- [Interface Color Schemes](https://awesome-repositories.com/f/user-interface-experience/custom-theme-definitions/interface-color-schemes.md) — Allows users to apply static RGBA values or dynamic system colors through interface color schemes. ([source](https://docs.florisboard.org/themes/colors))
- [Global Stylesheets](https://awesome-repositories.com/f/user-interface-experience/global-stylesheets.md) — Uses external stylesheets to define global visual properties and decouple appearance from core logic.
- [Interface Appearance Customizations](https://awesome-repositories.com/f/user-interface-experience/interface-appearance-customizations.md) — Enables the assignment of custom color schemes and design presets to the keyboard interface. ([source](https://cdn.jsdelivr.net/gh/florisboard/florisboard@main/README.md))
- [Text Input Managers](https://awesome-repositories.com/f/user-interface-experience/text-input-managers.md) — Manages mobile text input, including cursor movement and clipboard history interaction.
- [Theme Customization](https://awesome-repositories.com/f/user-interface-experience/ui-architecture/design-utilities/design-systems/theme-architecture-frameworks/theme-customization.md) — Provides a built-in editor and stylesheet system for creating and packaging custom visual styles. ([source](https://docs.florisboard.org/extensions))
- [Visual Style Customization](https://awesome-repositories.com/f/user-interface-experience/visual-style-customization.md) — Provides a customizable visual style system for a personalized mobile typing experience.
- [Visual Themes](https://awesome-repositories.com/f/user-interface-experience/visual-themes.md) — Sets global interface properties and window backgrounds via configuration settings and stylesheets. ([source](https://docs.florisboard.org/themes))
- [Emoji Pickers](https://awesome-repositories.com/f/user-interface-experience/emoji-pickers.md) — Provides a dedicated interface for browsing, selecting, and inserting emojis. ([source](https://cdn.jsdelivr.net/gh/florisboard/florisboard@main/README.md))
- [Haptic Feedback Controllers](https://awesome-repositories.com/f/user-interface-experience/haptic-feedback-controllers.md) — Triggers device-specific tactile responses and vibration patterns during key presses. ([source](https://github.com/florisboard/florisboard/wiki/List-of-permissions-FlorisBoard-requests))
- [Tactile Feedback Configuration](https://awesome-repositories.com/f/user-interface-experience/haptic-feedback-controllers/tactile-feedback-configuration.md) — Allows configuration of haptic vibrations to simulate physical mechanical keyboard feedback.
- [Background Image Utilities](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/styling-architectures/background-image-utilities.md) — Assigns specific image files to the window background using URI references. ([source](https://docs.florisboard.org/themes/assets))
- [Visual Style Packaging](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/theme-management/theme-development/visual-style-packaging.md) — Supports the creation, packaging, and distribution of custom visual themes as extensions.
- [Typography Configurations](https://awesome-repositories.com/f/user-interface-experience/typography-configurations.md) — Allows modification of font family, size, and weight through theme configurations. ([source](https://docs.florisboard.org/themes/fonts))
- [Theme Asset Imports](https://awesome-repositories.com/f/user-interface-experience/ui-architecture/design-utilities/design-systems/theme-architecture-frameworks/theme-customization/theme-asset-imports.md) — Includes external fonts and image files within theme extensions for use as visual elements. ([source](https://docs.florisboard.org/themes/assets))
- [Theme Asset Resolution](https://awesome-repositories.com/f/user-interface-experience/ui-asset-resolution/multi-resolution-assets/theme-asset-resolution.md) — Locates custom fonts and images by resolving resource identifiers within theme extensions.
