Skip to content

Releases: maifeeulasad/unmukto

Unmukto 1.2 — the missing Bengali characters

Choose a tag to compare

@maifeeulasad maifeeulasad released this 22 Jul 08:57
36b3910

First tagged release since v0.0.1b in 2021, and the first under a free software license.

Seven Bengali characters had no key at all

Rows 3 and 4 of both layers carried only nine keys, so the Probhat positions holding the vowel signs ে ৈ ো ৌ were never mapped. On a Bengali keyboard, that meant words as ordinary as কে, বো and হয়েছে could not be typed. , ড় and were missing too.

All 61 Bengali letters, vowel signs and marks are now reachable. Two keys turned out to be accidental duplicates — appeared on both layers, as did — which freed the slots the missing characters needed. A ? key was added; the keyboard previously had no way to produce one.

Typing behaviour

  • Characters were inserted the instant a finger touched a key, not on release, so sliding off a key to cancel still typed it. Text now commits on release, the way the framework intended.
  • Shift latched forever. Because the input view is reused across every app, a layer left shifted leaked into whatever you opened next. Shift is now one-shot and resets for each new text field.
  • The IME declared no locale, so Android could not offer Unmukto when an app asked for Bengali input, and it appeared unlabelled in the keyboard picker. It now declares bn_BD.

The app no longer hijacks its own launch

Opening Unmukto used to fire system keyboard settings and the keyboard picker immediately, before you could see anything. If you had enabled the keyboard but not selected it, that happened on every single launch. It is now a setup screen that tells you which step you are on and lets you press the buttons yourself.

Redesigned keys

Android's stock KeyboardView paints one background across every key, so modifiers could not be distinguished from letters. Unmukto now draws its own: rounded key surfaces with a soft shadow, modifier keys styled apart from letters, and a full dark theme that follows the system setting. Touch targets stay the full width of each cell while the visible key is inset inside it, so keys are easier to hit than they look.

Now free software

The project had no license file at all. That was not a formality — with no explicit grant, default copyright reserves every right, so Unmukto was published but not licensed, and nobody could legally redistribute or modify it.

It is now GPL-3.0-or-later, matching the other keyboards distributed through F-Droid.

Under the hood

  • Dropped jcenter(), read-only since 2021 and a build failure waiting to happen
  • Kotlin 1.6.21 → 1.9.24; AndroidX dependencies off their 2019 versions; junit:4.+ pinned so builds are reproducible
  • Release builds set minifyEnabled with no signing config, producing an unsigned APK; signing now comes from the environment
  • CI hand-rolled an Android SDK and installed build-tools 30.0.3 for a project compiling against 35, with an ANDROID_SDK_ROOT export that silently did nothing. Replaced, and it now runs unit tests and lint as well as building

Groundwork for F-Droid

Answering #5: this release adds the license, bilingual store metadata, current screenshots and a packaging recipe. See docs/fdroid-publishing.md for what remains.


No APK attached, on purpose

This is a source release. The only APK that can be produced without the signing keystore is a debug build — debuggable, and signed with Android's universally known debug key. For a keyboard, which sees every keystroke you make, publishing that would be irresponsible.

Install from Google Play, or build from source:

git clone https://github.com/maifeeulasad/unmukto.git
cd unmukto
git checkout v1.2
./gradlew assembleDebug

Full changelog: v0.0.1b...v1.2

0.0.1-beta

0.0.1-beta Pre-release
Pre-release

Choose a tag to compare

@maifeeulasad maifeeulasad released this 11 Feb 10:33

This is just shared as an demonstration of the progress.