kivy / kivy/python-for-android

Kivy App on Android keyboard/TextInput doesn't work properly: backspace has no effect and input doubles randomly

Open
#2,461 17 comments 1 reaction 0 assignees View on GitHub
bug
Dominant language
Python
Stars
8.9k
Forks
2k
Avg merge
12h 20m
Merged PRs (30d)
9

Description

Python == 3.9.1
kivy == 2.1.0.dev0
KivyMD == 0.104.2.dev0

Here are the requirements from buildozer.spec:
requirements = python3,kivy==master,https://github.com/kivymd/KivyMD/archive/master.zip,sdl2_ttf==2.0.15,requests,urllib3,chardet,idna,android,plyer,jnius,pillow

The keyboard doesn't work properly with TextInput fields. Backspace doesn't work at all, and the already inputed text just doubles at random, e.g. by typing 'qwerty123' you would get 'qwerty123qwerty123'. (And you can't delete it, because backspace doesn't work).

The bug is very similar to what is described [here](https://groups.google.com/g/kivy-users/c/ZuHsbOjcmwU), although the proposed solution doesn't work in my case.

IMPORTANT:

In buildozer.spec I'm specifying 'p4a.branch == develop'. Because with the default 'p4a.branch == master' the app crashes on Android when you just focus on a TextInput.
This bug does not appear when using kivy == 2.0.0. BUT using kivy == 2.0.0 is not an option because it lags extensively on Android.

Thanks in advance!

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the Android TextInput behavior with the listed Python, Kivy, KivyMD, and buildozer.spec requirements. Compare Kivy 2.0.0 with kivy==master and the reported p4a branches, using the linked discussion as context. Done means backspace works and entered text no longer duplicates without requiring the older Kivy version.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, python
Domain
build-system, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.