mirror of
https://github.com/florisboard/florisboard.git
synced 2024-09-20 03:52:18 +02:00
An open-source keyboard for Android which respects your privacy. Currently in early-beta.
e0e7bcc08a
- Done to easily identify which strings should be localized and which not - Add translating guide in CONTRIBUTING.md |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
app | ||
fastlane/metadata/android/en-US | ||
gradle/wrapper | ||
.gitattributes | ||
.gitignore | ||
build.gradle | ||
CONTRIBUTING.md | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
README.md | ||
settings.gradle |
FlorisBoard
An open-source keyboard for Android. Currently in alpha stage.
Public Alpha Test Programme
Wanna try it out on your device? 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.
Giving feedback
If you want to give feedback to FlorisBoard, there are 2 ways to do so, as listed below:
- General feedback: use the private feedback to developer section on the PlayStore listing.
- Bug reports or feature requests: see the contribution guidelines
Thank you for contributing to FlorisBoard!
Note on F-Droid release
FlorisBoard is currently only available through Google Play, but it is planned to also release it via F-Droid later on. There is no exact timeline for this, but I aim for the 0.2.0 or 0.3.0 release.
Feature roadmap
Basics
- Implementation of the keyboard core (InputMethodService)
- Own implementation of deprecated KeyboardView (base only)
- Caps + Caps Lock
- Key popups
- Extended key popups (e.g. a -> á, à, ä, ...) (needs tweaks for emojis)
- Key press sound/vibration
- Portrait orientation support
- Landscape orientation support (needs tweaks)
- Tablet screen support
Layouts
- Latin character layout (QWERTY)
- Other character layouts (both latin and non-latin) (Currently QWERTZ, AZERTY, swiss and spanish are supported besides QWERTY)
- Adapt to situation in app (password, url, text, etc. )
- Special character layout(s)
- Numeric layout
- Numeric layout (advanced)
- Phone number layout
- Emoji layout (popups buggy atm)
- Emoticon layout
- Kaomoji layout
Preferences
- Setup wizard
- Preferences screen
- Customize look and behaviour of keyboard (currently only light/dark theme)
- Theme customization
- Theme import/export (?)
- Subtype selection (language/layout)
- Keyboard behaviour preferences
- Text suggestion / Auto correct preferences
- Gesture preferences
Composing suggestions
- Auto suggest words from precompiled dictionary
- Auto suggest words from user dictionary
- Auto suggest contacts
- Multilingual typing
Other useful features
- One-handed mode
- Clipboard manager (?)
- Floating keyboard
- Gesture support
- Glide typing (?)
- 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)
- (dev only) Generate well-structured documentation of code
- ...
Note: (?) = not sure if it will be implemented
Used libraries and icons
- Google Flexbox Layout for Android by google
- Google Material icons by google
- Moshi JSON library by square
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.