Android (f/w 2.1+) on screen keyboard for multiple languages

Overview

AnySoftKeyboard Latest release

Discussions can be found on  💬  GitHub
Support chat-channels can be found on Gitter chat

master latest build 
master coverage codecov

Android (f/w 4.0.3+, API level 15+) on screen keyboard for multiple languages.

Get it on Google Play  Get it on F-Droid

Sign up to beta-channel here. Beta versions are pushed via Google Play Store.

Features

  • All kinds of keyboards:
    • Supporting lots of languages via external packages. E.g., English (QWERTY, Dvorak, AZERTY, Colemak, and Workman), Hebrew, Russian, Arabic, Lao, Bulgarian, Swiss, German, Swedish, Spanish, Catalan, Belarusian, Portuguese, Ukrainian and many more.
    • Special keyboard for text fields which require only numbers.
    • Special keyboard for text fields which require email or URI addresses.
  • Physical keyboard is supported as-well.
  • Auto-capitalization.
  • Word suggestions, and Next-Word suggestions.
    • Automatic correction can be customized, or turned off entirely.
    • External packages include word lists that can be freely mixed. You can use a French layout and get suggestions for German and Russian!
  • Gesture typing.
  • Dark mode, automatic (based on system) and manual.
  • Power saving mode, disables various features to save battery.
  • Per-app tint, the keyboard changes color depending on the current app.
  • Special key-press effects:
    • Sound on key press (if phone is not muted).
    • Vibrate on key press.
  • Voice input.
  • Incognito Mode - will not learn new words, will not keep history of what was typed (including emoji history).
  • Plenty of emojis - long-press the smiley key. You customize those by clicking the Settings icon in emojis window.
  • More on AnySoftKeyboard can be found here.

Releases

from master

IME - AnySoftKeyboard

  • Every commit to master branch will deploy a new release to the ALPHA channel in Google Play-Store. You can subscribe to this release channel by joining the Google Groups group, and opt-in by visiting this link.
  • Every Wednesday the latest ALPHA will be promoted to BETA. You can opt-in to this channel by visiting this link.
  • Note about pre-release channels: every few months we will remove all the users in the groups. When that happens, you are required to re-subscribe to the group. This is done to ensure that the members in the groups are active.
  • Once all requirements for a release were finished, a STABLE release branch (in the format of release-branch-ime-vX.X-rX) will be cut. Every commit to this branch will be automatically published to Google Play Store (STABLE channel) and will roll-out users gradually.

AddOns

  • Every commit to master branch will deploy all addons to BETA channel in Google Play-Store. You can subscribe to this release channel by joining the BETA channel for each addon.
  • Note about pre-release channels: every few months we will remove all the users in the groups. When that happens, you are required to re-subscribe to the group. This is done to ensure that the members in the groups are active.
  • Once all requirements for a release were finished, a STABLE release branch (in the format of release-branch-addons-vX.X-rX) will be cut. Every commit to this branch will be automatically published to Google Play Store (STABLE channel) and will roll-out users gradually.

from release-branch

IME - AnySoftKeyboard

  • Each new commit to the release-branch will be published to 10% of the users.
  • Each day - if no new commit was pushed to the release-branch - we will increase the roll-out.
  • When roll-out reaches 100%, an fdroid release will be made.

AddOns

  • Each new commit to the release-branch will be published to 10% of the users.
  • Each day - if no new commit was pushed to the release-branch - we will increase the roll-out.

Read more

  • Our fancy web-site
  • Language-Pack add-ons in this repo.
  • Theme add-ons in this repo.
  • Quick-Text add-ons in this repo.
  • Crowdin to translate the app to your language. Crowdin
  • Via Bountysource, users can post bounties and developers can claim them when fixing bugs. This is an external community project and not directly sponsored by the ASK developers!

Development/Contributing

Want to develop a new feature, fix a bug, or add new language-pack? Read more here. Remember: the components in this repository are released under the Apache2 license. By contributing to this repository you give all copyright and distribution rights or AnySoftKeyboard maintainer.

License

Copyright 2020 Menny Even-Danan

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.
Comments
  • Swipe Gesture Typing

    Swipe Gesture Typing

    Post about implementation: http://krishnabharadwaj.info/how-swype-works/

    C++ implementation by @krisys https://gist.github.com/krisys/71acdef7a33ed40bd586

    enhancement 
    opened by menny 89
  • Fast typing moves keyboard cursor back a character most of the times

    Fast typing moves keyboard cursor back a character most of the times

    It's so annoying. It makes me intentionally type slow so the thing doesn't make this kind of behaviour. Please fix.

    (What I mean by the title is it would be the equivalent of pressing that arrow key at the top withouth finishing typing a word)

    opened by RenatoLopes771 49
  • Make dictionaries independent of the keyboard layout

    Make dictionaries independent of the keyboard layout

    Steps to reproduce

    1.Make sure you only have english keyboards installed 2.Type in any other language that is not english (i'm using 16keys keyboard) 3.Corrections/autocomplete suggests only for english words

    Expected behaviour

    Would be good to be able to use English keyboard with other languages (maybe have a primary dictionary and have other secondary dictionaries and having it show most words based on the primary and only one or two from the others)

    opened by maverick74 27
  • Some questions about building dictionaries

    Some questions about building dictionaries

    As you may know, f-droid.org distributes this app which it builds from source. We don't build language packs but recommend people to build themselves or download via code.google.com. Now the script for creating dictionaries is only in the source code there. It's only visible by direct link and requires the xml dictionary to be in dict and not in e.g. en/. I can't find it in AnySoftKeyboard-Tools on github.com: is there a reason for this? Anyway I have built something called res/raw/words_1.dict which I assume is OK.

    Also, is it ok to delete keyboard_keystore?

    opened by dalb8 23
  • Characters reappearing sometimes when erasing (backspace)

    Characters reappearing sometimes when erasing (backspace)

    Sometimes, when erasing text using the backspace button, some previously erased characters re-appears. I thought the bug might be fixed by now (as the release in the Play Store and F-Droid is a bit old) so I built it from source (master branch), but the problem is the same.

    Steps to reproduce

    1. Type a long text
    2. Try to erase it by pressing backspace repetitively
    3. Some erased character sometimes re-appear after the cursor

    Expected behaviour

    Erasing a character should (obviously) erase it and it shouldn't reappear after the cursor

    Actual behaviour

    From time to time (I was not able to get a pattern), a previously erased character re-appear after the cursor

    Android OS version: Android 10

    Device manufacturer and model: One Plus 6T

    List of installed add-ons (like languages, or themes): French Language Pack

    opened by SingingFrog7 22
  • Repeated first letter after autocomplete select and backspace

    Repeated first letter after autocomplete select and backspace

    Steps to reproduce

    1.Start typing a word, select from autocomplete then press space 2.press delete [backspace]

    Expected behaviour

    Should delete the space and leave the auto-suggest word intact

    Actual behaviour

    Reapeats the first letter of the autocompleted word and deletes the space

    Android OS version: 8.0 Device manufacturer and model: Xiaomi Mi A1 List of installed add-ons (like languages, or themes): Spanish Language pack, Yochees Dark theme V1.9.1735 release 4310

    opened by worg 22
  • Keyboard not in keyboard list (show keyboard button=on) on lockscreen in Android 10

    Keyboard not in keyboard list (show keyboard button=on) on lockscreen in Android 10

    Steps to reproduce

    1. activate anysoftkeyboard in android settings along with 2 other keyboards (stockrom + "other")
    2. activate "show keyboard button" in settings
    3. set lock screen password
    4. lock screen => you see automatically stockrom keyboard (samsung etc.) when trying to write password
    5. click on keyboard icon next to password input

    Expected behaviour

    anysoftkeyboard and other keyboard should show up in list

    Actual behaviour

    only other keyboard shows up!!!

    (moreover: when I uninstall the stockrom keyboard, the other keyboard is the "main keyboard" and is automatically on lockscreen, not the anysoftkeyboard. when uninstalling the other keyboard, so there is only anysoftkeyboard left, the lockscreen shows no keyboard at all and no keyboard icon!! - you have to install stockrom or other keyboard again via adb to have a keyboard at all... it looks like anysoftkeyboard has no special authority to set itself on top of the list...the other keyboard and the stockrom keyboard can do it .... b.t.w. all permissions are set for anysoftkeyboard...

    Android OS version: 10 Device manufacturer and model: samsung, sm-n976b List of installed add-ons (like languages, or themes):

    bug 
    opened by mr-gittes 21
  • add english_qwerty_no_apstrophe layout

    add english_qwerty_no_apstrophe layout

    Hello,

    This pull request is to address https://github.com/AnySoftKeyboard/AnySoftKeyboard/issues/1704

    This PR adds a new keyboard layout named "qwerty_no_apostrophe" that is a copy of "qwerty_with_symbols", except the apostrophe key has been removed and replaced with centering for the "a" to "l" row of keys.

    I originally had changed the symbols on this keyboard to be more common symbols for US users, but decided to hold back that part of the patch and keep the symbols exactly the same as "qwerty_with_symbols" for now, because I wanted to keep the PR isolated to a single issue. I will likely make an additional pull request in the future that introduces or replaces the existing symbol layouts with more frequently used keys, but that is for another day.

    opened by prg318 20
  • [Feature Request] Support for Image / GIF insertion

    [Feature Request] Support for Image / GIF insertion

    As in https://developer.android.com/guide/topics/text/image-keyboard

    There are two ways I could see this working:

    • A button on the keyboard launches the default gallery picker, and inserts the selected image into the text view on return. This is intrusive in terms of interface, but doesn't require extra permissions.
    • A gallery is shown within the keyboard*, and inserts the image into the text view on tap.

    *from user-selected folders, as an extension

    I can potentially work on this feature over the coming months, but I would like to hear if it's desirable with the overall project as is, and if so, which direction (or any other) would be best to go with.

    opened by fridgecow 20
  • New theme by Algimantas Jočys

    New theme by Algimantas Jočys

    Main keyboard:

    • [ ] icons
    • [ ] keyboard background
    • [ ] button backgrounds (normal, normal-pressed, function-normal, function-pressed)
    • [ ] text color and size

    popup keyboard:

    • [ ] icons
    • [ ] keyboard background
    • [ ] button backgrounds (normal, normal-pressed, function-normal, function-pressed)
    • [ ] text color and size

    Author: Algimantas Jočys - https://plus.google.com/u/0/102742363761018374351

    opened by menny 19
  • New password keyboard issue

    New password keyboard issue

    Steps to reproduce

    I have been using the Hungarian keyboard layout with the basic 4 lines of text and control buttons. Once the password number line update came, I get the additional number line above the keyboard as normal. However in portrait mode, the bottom line of buttons are no longer visible (shift, space, enter, etc.).

    Expected behaviour

    In all cases, the default keyboard lines are visible.

    Actual behaviour

    In portrait mode, the bottom line of buttons is no longer visible when typing into password fields.

    Android OS version: 6.0.1 Device manufacturer and model: Samsung Galaxy S7 List of installed add-ons (like languages, or themes): Lean Dark - Large Keys Hungarian QWERTZ layout with 3 lines

    opened by Sp3EdeR 18
  • Added BDS Modern Bulgarian keyboard layout

    Added BDS Modern Bulgarian keyboard layout

    Added a new keyboard layout - Bulgarian BDS Modern - that removes unused symbols from the Bulgarian national standard (Български държавен стандарт) layout and optimizes wasted space that is present in the regular BDS layout.

    I have also added number hints and numbers as popup characters.

    image

    opened by Bugzey 0
  • Colemak in physical keyboard not working

    Colemak in physical keyboard not working

    Steps to reproduce

    I set the keyboard layout for physical keyboard to Colemak in settings

    Expected behaviour

    Should type with my physical keyboard in Colemak layout

    Actual behaviour

    Types in qwerty

    Android OS version: Android 13/OneUI 5.0

    Device manufacturer and model: Samsung Galaxy Z Fold 3

    List of installed add-ons (like languages, or themes): None

    opened by pdtheowl 0
  • About the clipboard: going back to the old ways

    About the clipboard: going back to the old ways

    Can we please get an option to go back to the old way the clipboard was managed?

    In the latest versions since you updated the way the clipboard behaves now when we use the paste option of the app, the app uses the system clipboard instead, this is unwanted in our case because we use XPrivacyLua and we have blocked every single app from accessing the clipboard except for Anysoft Keyboard so in order to paste text we used the app's paste feature and it worked great until recent versions where when we paste we get the XPrivacyLua default text "Private" because it seems it is using the system's clipboard, in order to actually paste or should I say in order to actually use Anysoft to paste text we have to first copy something else and then access the clipboard history and choose the second to last entry. Please, consider this.

    Thanks.

    opened by parasiteoflife 1
  • Word suggestion not enabled in messages app

    Word suggestion not enabled in messages app

    Word suggestion works fine for most apps but is systematically disabled in my SMS app.

    SMS app is Messages 7.155. Stock app on Oneplus 7.

    AnySoftKeyboard 1.11.177

    Android version 12.

    opened by fryorcraken 1
  • Feature Request: Semicolon and colon on shift hold in lower common bar

    Feature Request: Semicolon and colon on shift hold in lower common bar

    Steps to reproduce

    1. Hold Shift to replace upper and lower common bar numbers and symbols
    2. Type ; or : as wished

    Expected behaviour

    The buttons for the dot . and the comma , should be replaced by semicolon ; and colon : respectively while holding shift, similar like the question mark is replaced by the exclamation mark.

    Actual behaviour

    The buttons for the dot and the comma stay the same when shifting.

    This seems like a deliberate choice, however, it would be nice if one could enable this feature in settings or actually even choose individually by which symbols the buttons are being replaced when shifting.

    Android OS version: 11

    Device manufacturer and model: Fairphone 4

    List of installed add-ons (like languages, or themes): German Keyboards

    opened by Dalmanos 0
Releases(1.11-r1)
Android App development internship project to create woman home screen for clothing company The Swastika.

Android App development internship project to create woman home screen for clothing company The Swastika.

Shradha Suryawanshi 2 Jun 12, 2022
A customized video view that will automatically pause video is user is not looking at device screen!!!!!

UserAwareVideoView Featured in: Medium What is this library for? UserAwareVideoView is a customizable VideoView that smartly play and pause the video

Keval Patel 51 Jun 27, 2021
A simple screen starter written in kotlin

screen-starter A simple screen starter written in kotlin. Compilation Use clean shadowJar! Usage Use java -jar screen-starter-1.0-SNAPSHOT.jar --confi

GrowlyX 3 Sep 1, 2021
Create a simple one screen application with scrollable table view

Create a simple one screen application with scrollable table view

Nikola Crnogorac 0 Jan 2, 2023
Starter-Android-Library - Starter Android Library is an Android Project with Modular Architecture.

Starter-Android-Library - Starter Android Library is an Android Project with Modular Architecture.

OpenBytes 1 Feb 18, 2022
****. Use the native and support library variants instead - https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html. An android library that makes it easy to add custom fonts to edittexts and textviews

Add to your project Add this line to your dependencies in build.gradle compile 'in.workarounds.typography:typography:0.0.8' Using the views There are

Workarounds 43 Nov 6, 2021
ZXing ("Zebra Crossing") barcode scanning library for Java, Android

Project in Maintenance Mode Only The project is in maintenance mode, meaning, changes are driven by contributed patches. Only bug fixes and minor enha

ZXing Project 30.5k Dec 27, 2022
RxJava binding APIs for Android's UI widgets.

RxBinding RxJava binding APIs for Android UI widgets from the platform and support libraries. Download Platform bindings: implementation 'com.jakewhar

Jake Wharton 9.7k Jan 6, 2023
A gradle plugin for getting java lambda support in java 6, 7 and android

Gradle Retrolambda Plugin This plugin will automatically build your java or android project with retrolambda, giving you lambda goodness on java 6 or

Evan Tatarka 5.3k Jan 5, 2023
A comprehensive tutorial for Android Data Binding

精通 Android Data Binding 更多干货可移步至个人主页 QQ 交流群:324112728 ,或者点击链接加入QQ群 官方虽然已经给出了教程 - Data Binding Guide (中文版 - Data Binding(数据绑定)用户指南) ,但是实践之后发现槽点实在太多,于是就

Fei Liang 2.6k Dec 6, 2022
A Job Queue specifically written for Android to easily schedule jobs (tasks) that run in the background, improving UX and application stability.

Development in this repository is stopped. Future development continues on https://github.com/yigit/android-priority-jobqueue ========================

Path Mobile Inc Pte. Ltd. 2.4k Dec 9, 2022
An android library for displaying fps from the choreographer and percentage of time with two or more frames dropped

DEPRECATED TinyDancer is deprecated. No more development will be taking place. Check out the Google Android developer documentation for UI performance

Friendly Robot 1.9k Jan 3, 2023
Memory safer implementation of android.os.Handler

Android Weak Handler Memory safer implementation of android.os.Handler Problem Original implementation of Handler always keeps hard reference to handl

Badoo Tech 1.5k Jan 5, 2023
Android Library to help you with your runtime Permissions.

PermissionHelper Android Library to help you with your runtime Permissions. Demo Android M Watch it in action. Pre M Watch it in action. Nexus 6 (M) N

Kosh Sergani 1.2k Dec 14, 2022
Android validation library which helps developer boil down the tedious work to three easy steps.

AwesomeValidation Introduction Implement validation for Android within only 3 steps. Developers should focus on their awesome code, and let the librar

Jing Li 1.1k Dec 17, 2022
📄The reliable, generic, fast and flexible logging framework for Android

logback-android v2.0.0 Overview logback-android brings the power of logback to Android. This library provides a highly configurable logging framework

Tony Trinh 1.1k Jan 8, 2023
Android framework for node.js applications

Introduction Anode is an embryonic framework for running node.js applications on Android. There are two main parts to this: a port of node.js to the A

Paddy Byers 586 Dec 9, 2022
It makes a preview from an url, grabbing all the information such as title, relevant texts and images. This a version for Android of my web link preview https://github.com/LeonardoCardoso/Link-Preview

LeoCardz Link Preview for Android It makes a preview from an url, grabbing all the information such as title, relevant texts and images. Visual Exampl

Leonardo Cardoso 420 Nov 19, 2022
AndroidPermissions 4.2 0.0 Java Android M was added to check Permission. but Permission check processing is so dirty.

Android Permissions Checker Android M was added to check Permission. but Permission check processing is so dirty. This Project is to be simple, Checki

Steve SeongUg Jung 340 Nov 11, 2022