.github | ||
app | ||
fastlane/metadata | ||
gradle/wrapper | ||
utils | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
build.gradle.kts | ||
CONTRIBUTING.md | ||
crowdin.yml | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
README.md | ||
ROADMAP.md | ||
settings.gradle.kts |
FlorisBoard
FlorisBoard is a free and open-source keyboard for Android 6.0+ devices. It aims at being modern, user-friendly and customizable while fully respecting your privacy. Currently in early-beta state.
Stable
Releases on this track are in general stable and ready for everyday use, except for features marked as experimental. Use one of the following options to receive FlorisBoard's stable releases:
A. Get it on F-Droid:
B. Google Play Public Alpha Test:
You can join the public alpha test programme on Google Play. To become a tester, follow these steps:
- Join the FlorisBoard Public Alpha Test Google Group to be able to access the testing programme.
- Go to the FlorisBoard Testing Page, then click "Become a tester". Now you are enrolled in the testing programme.
- To try out FlorisBoard, download it via Google Play. To do so, click on "Download it on Google Play", which takes you to the PlayStore listing.
- Finished! You will receive future versions of FlorisBoard via Google Play.
With the v0.4.0 release FlorisBoard will enter the public beta in GPlay, allowing to directly search for and download FlorisBoard without prior joining the alpha group.
C. Use the APK provided in the release section of this repo
Beta
Releases on this track are also in general stable and should be ready for everyday use, though crashes and bugs are more likely to occur. Use releases from this track if you want to get new features faster and give feedback for brand-new stuff. Options to get beta releases:
A. IzzySoft's repo for F-Droid:
B. Google Play:
Follow the same steps as for the stable track, the app can then be accessed here.
C. Use the APK provided in the release section of this repo
Giving feedback
If you want to give feedback to FlorisBoard, there are several ways to do so, as listed here.
Implemented features
This list contains all implemented and fully functional features FlorisBoard currently has to offer. For planned features and its milestones, please refer to the Feature roadmap.
Basics
- Implementation of the keyboard core (InputMethodService)
- Custom implementation of deprecated KeyboardView (base only)
- Caps + Caps Lock
- Key popups
- Extended key popups (e.g. a -> á, à, ä, ...)
- Key press sound/vibration
- Portrait orientation support
- Landscape orientation support (needs tweaks)
Layouts
- Latin character layouts (QWERTY, QWERTZ, AZERTY, Swiss, Spanish, Norwegian, Swedish/Finnish, Icelandic, Danish, Hungarian, Croatian, Polish, Romanian, Colemak, Dvorak, Turkish-Q, Turkish-F, and more...)
- Non-latin character layouts (Arabic, Persian, Kurdish, Greek, Russian (JCUKEN), and more...)
- Adapt to situation in app (password, url, text, etc. )
- Special character layout(s)
- Numeric layout
- Numeric layout (advanced)
- Phone number layout
- Emoji layout
- Emoticon layout
Preferences
- Setup wizard
- Preferences screen
- Customize look and behaviour of keyboard
- Theme presets (currently only day/night theme + borderless)
- Theme customization
- Subtype selection (language/layout)
- Keyboard behaviour preferences
- Gesture preferences
- User dictionary manager (system and internal)
Other useful features
- Support for Android 11+ inline autofill API
- One-handed mode
- Clipboard/cursor tools
- Clipboard manager/history
- Integrated number row / symbols in character layouts
- Gesture support
- Full support for the system user dictionary (shared dictionary between all keyboards) and a private, internal user dictionary
- Full integration in IME service list of Android (xml/method) (integration is internal-only, because Android's default subtype implementation not really allows for dynamic language/layout pairs, only compile-time defined ones)
- Description and settings reference in System Language & Input
- (dev only) Generate well-structured documentation of code
- ...
Feature roadmap
See the roadmap page for this.
Contributing
Wanna contribute to FlorisBoard? That's great to hear! There are lots of different ways to help out. Bug reporting, making pull requests, translating FlorisBoard to make it more accessible, etc. For more information see the . Thank you for your help!
List of permissions FlorisBoard requests
Please refer to this page to get more information on this topic.
Used libraries, components and icons
- Google Flexbox Layout for Android by google
- Google Material icons by google
- KotlinX serialization library by Kotlin
- ColorPicker preference by Jared Rummler
- Timber by JakeWharton
- expandable-fab by Nambi
- ICU4C by The Unicode Consortium
- Nuspell by Nuspell
License
Copyright 2020 Patrick Goldinger
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.