All Projects → florisboard → Florisboard

florisboard / Florisboard

Licence: apache-2.0
An open-source keyboard for Android which respects your privacy. Currently in early-beta.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Florisboard

Autokbisw
Automatic keyboard/input source switching for OSX
Stars: ✭ 176 (-80.05%)
Mutual labels:  keyboard, input-method
Lipika Ime
Input Method Engine (IME) for Mac OS X with built-in support for all Indic Languages
Stars: ✭ 76 (-91.38%)
Mutual labels:  keyboard, input-method
govarnam
Easily Type Indian Languages on computer and mobile. GoVarnam is a cross-platform transliteration library. Manglish -> Malayalam, Thanglish -> Tamil, Hinglish -> Hindi plus another 10 languages. GoVarnam is a near-Go port of libvarnam
Stars: ✭ 97 (-89%)
Mutual labels:  keyboard, input-method
Hallelujahim
hallelujahIM(哈利路亚 英文输入法) is an intelligent English input method with auto-suggestions and spell check features, Mac only.
Stars: ✭ 1,334 (+51.25%)
Mutual labels:  keyboard, input-method
jyutping
Cantonese Jyutping Keyboard for iOS. 粵語粵拼輸入法鍵盤
Stars: ✭ 23 (-97.39%)
Mutual labels:  keyboard, input-method
Gainput
Cross-platform C++ input library supporting gamepads, keyboard, mouse, touch
Stars: ✭ 636 (-27.89%)
Mutual labels:  keyboard
Uncap
Map Caps Lock to Escape or any key to any key
Stars: ✭ 705 (-20.07%)
Mutual labels:  keyboard
Fluidkeyboardresize
Smoothly reacting to keyboard visibility changes in Android
Stars: ✭ 610 (-30.84%)
Mutual labels:  keyboard
Xy Ui
🎨面向未来的原生 web components UI组件库
Stars: ✭ 603 (-31.63%)
Mutual labels:  keyboard
Jquery Rslitegrid
Input tabular data with your keyboard
Stars: ✭ 5 (-99.43%)
Mutual labels:  keyboard
Redox Keyboard
Ergonomic split mechanical keyboard
Stars: ✭ 760 (-13.83%)
Mutual labels:  keyboard
Agemojikeyboard
Emoji Keyboard for iOS
Stars: ✭ 686 (-22.22%)
Mutual labels:  keyboard
Capslock Plus
An efficiency tool that provides various functions by enhancing the Caps Lock key into a modifier key.
Stars: ✭ 650 (-26.3%)
Mutual labels:  keyboard
React Native Keyboard Input
Use your own custom input component instead of the system keyboard
Stars: ✭ 717 (-18.71%)
Mutual labels:  keyboard
Dotfiles
Zsh, Karabiner, VS Code, Sublime, Neovim, Nix
Stars: ✭ 634 (-28.12%)
Mutual labels:  keyboard
Controller
Kiibohd Controller
Stars: ✭ 775 (-12.13%)
Mutual labels:  keyboard
Readline Sync
Synchronous Readline for interactively running to have a conversation with the user via a console(TTY).
Stars: ✭ 601 (-31.86%)
Mutual labels:  keyboard
Selectpage
A simple style and powerful selector, including ajax remote data, autocomplete, pagination, tags, i18n and keyboard navigation features
Stars: ✭ 679 (-23.02%)
Mutual labels:  keyboard
Repeat
Cross-platform mouse/keyboard record/replay and automation hotkeys/macros creation, and more advanced automation features.
Stars: ✭ 763 (-13.49%)
Mutual labels:  keyboard
Combokeys
Web browser keyboard shortcuts. CommonJS, NPM.
Stars: ✭ 675 (-23.47%)
Mutual labels:  keyboard

App icon

FlorisBoard Release Crowdin FlorisBoard CI

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 alpha/early-beta state.

Public Alpha Test Programme

Wanna try it out on your device? Use one of the following options:

A. Get it on F-Droid:

F-Droid badge

B. Google Play Public Alpha Test:

You can join the public alpha test programme on Google Play. To become a tester, follow these steps:

  1. Join the FlorisBoard Public Alpha Test Google Group to be able to access the testing programme.
  2. Go to the FlorisBoard Testing Page, then click "Become a tester". Now you are enrolled in the testing programme.
  3. 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.
  4. 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

Giving feedback

If you want to give feedback to FlorisBoard, there are several ways to do so, as listed here.


Preview image

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

  • [x] Implementation of the keyboard core (InputMethodService)
  • [x] Custom implementation of deprecated KeyboardView (base only)
  • [x] Caps + Caps Lock
  • [x] Key popups
  • [x] Extended key popups (e.g. a -> á, à, ä, ...)
  • [x] Key press sound/vibration
  • [x] Portrait orientation support
  • [x] Landscape orientation support (needs tweaks)

Layouts

  • [x] Latin character layouts (QWERTY, QWERTZ, AZERTY, Swiss, Spanish, Norwegian, Swedish/Finnish, Icelandic, Danish, Hungarian, Croatian, Polish, Romanian, Colemak, Dvorak, ...)
  • [x] Non-latin character layouts (Arabic, Persian, Greek, Russian (JCUKEN))
  • [x] Adapt to situation in app (password, url, text, etc. )
  • [x] Special character layout(s)
  • [x] Numeric layout
  • [x] Numeric layout (advanced)
  • [x] Phone number layout
  • [x] Emoji layout
  • [x] Emoticon layout

Preferences

  • [x] Setup wizard
  • [x] Preferences screen
  • [x] Customize look and behaviour of keyboard
  • [x] Theme presets (currently only day/night theme + borderless)
  • [x] Theme customization
  • [x] Subtype selection (language/layout)
  • [x] Keyboard behaviour preferences
  • [x] Gesture preferences

Other useful features

  • [x] One-handed mode
  • [x] Clipboard/cursor tools
  • [x] Integrated number row / symbols in character layouts
  • [x] Gesture support
  • [x] 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

This section describes the features which are planned to be implemented in FlorisBoard for the next major versions, modularized into sections. Please note that the milestone due dates are only raw estimates and will most likely be delayed back, even though I'm eager to stick to these as close as possible.

v0.4.0

  • Module A: Smartbar rework (Implemented with #91)

    • Ability to enable/disable Smartbar (features below thus only work if Smartbar is enabled)
    • Dynamic switching between clipboard tools and word suggestions
    • Ability to show both the number row and word suggestions at once
    • Better icons in quick actions
    • Complete rework of the Smartbar code base and the Smartbar layout definition in XML
  • Module B: Composing suggestions (Phase 1: #329)

    • Auto-suggestion of words based of precompiled dictionaries
    • Management of custom dictionary entries
    • Next-word suggestions by training language models. Data collected here is stored locally and never leaves the user's device.
  • Module C: Extension packs (base implementation with #162)

    • Ability to load dictionaries (and later potentially other cool features too) only if needed to keep the core APK size small
    • Currently unclear how exactly this will work, but this is definitely a must-have feature
  • Module D: Glide typing

    • Swiping over the characters will automatically convert this to a word
    • Possibly also add improvements based on the Flow keyboard
  • Module E: Theme rework (Implemented with #162)

    • Themes are now based on the Asset schema
    • Dynamic theme creation
    • Different theme modes (Always day, Always night, Follow system and Follow time)
    • Define a separate theme both for day and night theme
    • Adapt to app theme if possible
    • Theme import/export

v0.5.0

There's no exact roadmap yet but it is planned that the media part of FlorisBoard (emojis, emoticons, kaomoji) gets a rework. Also as an extension (requires v0.4.0/Module C) GIF support is planned.

> v0.5.0

This is completely open as of now and will gather planned features as time passes...

Backlog (currently not assigned to any milestone):

  • Floating keyboard

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 contributing guidelines. 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

Usage notes for included binary dictionary files

All binary dictionaries included within this project in (this)[app/src/main/assets/ime/dict) asset folder are built from various sources, as stated below.

Source 1: wordfreq library by LuminosoInsight:

wordfreq is a repository which provides both a Python library and raw data (the wordlists). Only the data has been extracted in order to build binary dictionary files from it. wordfreq's data is licensed under the Creative Commons Attribution-ShareAlike 4.0 license (https://creativecommons.org/licenses/by-sa/4.0/).

For further information on what wordfreq's data depends on, see (https://github.com/LuminosoInsight/wordfreq#license).

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].