Kinetica

com.kinetica.keyboard
by Zapstore _@zapstore.dev

Two-thumb keyboard: both thumbs swipe and tap at once. No network access.

Republished from GitHub / F-Droid by the Zapstore main account.

Kinetica is a keyboard for two thumbs at once. Each thumb swipes or taps on its own, at the same time as the other, and the two streams merge into one word. Typing "something": the left thumb taps S, then E, while the right thumb swipes O -> M and then T -> H -> I -> N -> G. Kinetica merges them into S + OM + E + THING. It is a spiritual successor to the discontinued Nintype, written from scratch on Android's public IME APIs: not a fork, and no third-party gesture or prediction library. The dynamic time warping, the trie search and the two-thumb merge are all in the app. The app declares no INTERNET permission, so nothing you type can leave the phone. Decoding, prediction and learning run on the device, and password or private fields turn off suggestions, trails and learning. Features * Two thumbs, each read with its own cursor, so a word can pass between them in any order; one tap can stand for a double letter * English, Italian, Spanish, Polish, Czech, Dutch, German, French and Norwegian, plus Russian, Ukrainian, Hebrew and Arabic as experimental: 46k to 50k words per language with real corpus frequencies. Accented words are drawn on their base keys and restored on commit * Several languages at once: mix two in the suggestions, or let the keyboard follow the language you are typing * Next-word suggestions beside the word's corrections, recent words on the bar, and a correction strip right after each word * Tap inside a word you wrote to swap it for another; swipe shift to change its case * Tap autocorrect with three levels; backspace right after it undoes it * Your words rank higher as you use them; slide a suggestion to raise, lower or block it. Names you write with a capital keep it * Chords on ?123 or the spacebar, edge swipes on any key, and text expansions: type text, run an action, or press Ctrl and a key * Long-press menus as grids, with your own list for every letter * Keys that fit the field: @ in email fields, / and .com in web addresses, and an optional number pad for numbers * Clean links: tracking parameters out of a link, as a shortcut or on paste * Optional numbers row, a wider middle row, landscape split, one-handed for either hand, split mode, adjustable height and margins * Peck-type mode for slang and code: every tap types exactly its letter * Dark, light, Material You or your own colour * Backup of every setting, learned word and shortcut in one file * Settings in English and Italian, with short tips and a two-thumb tutor Source, build instructions and the full feature list: https://github.com/EZ-eta/kinetica If Kinetica is useful to you: https://ko-fi.com/ez_eta

First release: Aug 26, 2026, 10 total releases.

Most recent release: Nov 3, 2026.

Repo

Appears in 0 app stacks.

0 sats / 0 zaps received in the past year.

Sats Received

Underlying data available via MCP: app_zaps, app_releases.

Zap Count

Underlying data available via MCP: app_zaps, app_releases.

Releases

  • Nov 3, 2026 2.2.1
    Kinetica 2.2.1. Install over 2.2.0; nothing else changes. - Romanian, the tenth language: 45 843 words with OpenSubtitles frequencies, 24 302 word pairs from Tatoeba, and its own board with ă and â on `a`, î on `i`, ș on `s`, ț on `t` - Words are drawn on their base keys and come out with their accents; the older ş and ţ spellings count as ș and ț - If you never picked your languages, Romanian joins the language switch; untick it in Languages - Thanks gabrincu (#46)
  • Nov 3, 2026 2.2.0
    Kinetica 2.2.0. Install over 2.1.3 and everything you set up stays: old colours, language switches and sizes carry over as they were. **Look** - A background image under the keyboard (Look and feel > Background image). After the pick, Fit the image shows a frame for portrait and one for landscape: drag to move, pinch to resize. Image opacity and key opacity over the image have their own sliders. The image stays on the phone and is not part of a backup - Colours are typed as `#RRGGBB` or picked: a large swatch, hue, saturation and brightness sliders on gradient tracks, and sixteen swatches. The theme colour and the custom trail colour both use it; a colour picked with the old hue slider stays the same - Key borders, on or off, 1 to 4 dp, in the theme's colour - A swipe shows as a trail, as the keys it crosses lighting up and fading, or both (Look and feel > A swipe shows as) **Keys and layout** - Symbol pages as text (Keys > Symbol pages): each page's three rows, one row a line, keys apart by spaces. Up to 10, 10 and 7 keys, 4 characters a key. The bottom row, the page key and backspace stay where they are; Default brings the built-in rows back (#42)
    More…
    - Landscape keeps its own side and bottom margins, middle row width, handle, bar height and text sizes, started from your portrait values. Size and layout has a Portrait and a Landscape group; the one you are holding opens, and the size picture takes at most half the screen - Landscape: the keyboard reaches into a camera cutout on the short edge, so there is no margin on the camera side only. The keys keep clear of the hole only when it meets them - The landscape suggestion bar goes down to 16 dp **Shortcuts** - Once a held `?123` or spacebar shows its chords, a small drift keeps them. On the spacebar the cursor slide waits until the thumb moves further (Shortcuts and gestures > Spacebar chords allow a small drift, on) **Languages** - One setting for languages in suggestions (Languages): one at a time, mix, or follow the language you type. With both old switches on you get follow, as before - Follow learns each word into the language whose list holds it. A word neither list holds goes where the last word only one list holds went, so the other language's words no longer pile up and climb in the wrong list **Fixes** - Deleting a selection, and the backspace slide, act on what the editor has selected now. Before, a delete could land elsewhere in a paragraph - A spacebar word step starts from where the cursor is now: the first step after a tap in the text no longer lands inside a word - Back at the end of a word, punctuation keeps the word as written; no prediction replaces it
  • Oct 28, 2026 2.1.3
    Kinetica 2.1.3. Install over 2.1.2 and everything you set up stays. **Editing** - Backspace undo now reaches past the automatic space: right after a word's space lands, one tap takes back its last tap or swipe together with the space, and the word is not learned (Typing > Backspace undoes the last tap or swipe, off). After any other key, a cursor move or new text, a tap deletes a character as usual - A learned word with capitals inside it stays one word when you tap it in pieces: `Fake`, the automatic space, shift, `CompanyName` gives `FakeCompanyName`. A shift with no learned word to continue still starts a new word, so `is`, shift, `Land` stays two words - Italian: with the cursor inside an elision like `l'al|tro`, the bar offers `altro` and a pick replaces only that part, not `laltro` over the article - A word you backspace into and type again is learned once, and leaves the next-word context while you work on it **Look** - The swipe trail colour setting is honoured: Red, Violet, a custom hue or the theme's colour draw the whole trail in that colour, for both thumbs. Before, every choice cycled like Rainbow (Look and feel > Swipe trail colour)
    More…
    - Rainbow still changes colour per key, and its curve is smoother: a point every 8 ms - Chord keys show a key combination as symbols, so it fits on the key: `⌃⌦`, `⌃⇞`, `⌃⇧←`. Settings still spell it out, `Ctrl+Delete` **Fixed** - Text expansions: the back arrow at the top left leaves the screen, as on every other screen - A tapped word's space is no longer taken back by the other thumb's tap when that thumb's swipe started the next word: `I` + `noticed` no longer gives `Noticed` - A word no longer loses its space and fuses with the next one when the personal dictionary reloads while you type it; the reload waits for the word to end **Internals** - The input service is split by concern into smaller classes; behaviour is unchanged
  • Oct 25, 2026 2.1.2
    Kinetica 2.1.2. Install over 2.1 and everything you set up stays. **Suggestions** - After a word, its corrections stay on the left of the bar and the next words fill the rest; one to three of them, two by default (Typing > Next words beside the correction, on). Before, with recent words off, the next words never showed after a word - Long words you have taught the keyboard complete from their first letters: `fakeco` offers `FakeCompanyName` **Editing** - A double tap on shift locks caps at a sentence start too, with no tap to clear the capital first - A tap on backspace can take back the last tap or swipe of the word you are writing, and the bar goes back to what it showed before it (Typing > Backspace undoes the last tap or swipe, off). Holding backspace still deletes letters, and so does a tap once the word is finished - The backspace slide has a distance setting, 20 to 80 per word, and can stop at punctuation, so `example.com/path` goes a piece at a time (Shortcuts and gestures > Swipes and slides; the stop is off)
    More…
    **Fields and links** - In a web address or an email field the period's corner shows `.com`; hold it for `.com`, `.net` and `.org`, written straight onto the name before it (Typing > Keys that fit the field, on) - Clean links: tracking parameters like `utm_source`, `fbclid` or YouTube's `si` come out of a link, everything else stays as written. As an action for a chord, an edge swipe or an expansion, on the link before the cursor or on a selection, and on the keyboard's own paste (Typing > Clean links when pasting, off). The app's own paste menu is never changed **Shortcuts** - A space inside an expansion trigger is now an error under the field, with a Remove spaces button beside Cancel. A space at either end is still trimmed on save **Fixed** - Next words on an empty bar go once you type a punctuation mark - A word written with capitals inside it, like `FakeCompanyName`, is learned with them at a sentence start too - A word the automatic space committed, then typed on into a longer word, is no longer learned: `Fake` then `CompanyName` no longer teaches `Fake` - Italian: an elision reopened after a pause learns the word after the apostrophe, `altro`, and no longer `l'altro` as a new word - With the numbers row on, a glide that rises into the digits and comes back down across letters is a word, not the top-row key's symbol. Thanks to lurebat
  • Oct 14, 2026 2.1.0
    Kinetica 2.1. Install over 2.0 and everything you set up stays. **Editing** - Swipe shift up for ABC, right for Abc, down for abc; hold it for the menu as before. The swipes are edge swipes, so they can be changed - Keys that fit the field: @ on the comma in an email field, / with : in a web address, no capital at their start (Typing, on) - Number pad in number, phone and date fields (Typing, off) - A new field opens on the letters, wherever the last one was left (Typing, on) - In a chat box, Hold enter to send writes a new line on the tap and sends on the hold (Typing, off) - Names you write with a capital, like `Dennis` or `GitHub`, are learned with it; writing one in lowercase over the capital takes it back - Blocking a word deletes it too, when it is the word you just wrote (Typing > Learning, off)
    More…
    **Suggestions** - Suggestion text at 150% by default, from 60 to 180% (Typing > Suggestion bar) - Compact suggestions: words side by side with a small gap, more on a page (on) - Recent words have their own text size, and their swipe direction can be reversed - A band on the bar shows the wait before an automatic space (Typing > Spacing, on) **Shortcuts** - Hold ?123 or the spacebar still and each key shows its chord (Shortcuts and gestures, on); the ?123 menu then sits on the spacebar, clear of them - Expansion triggers: exact, ignore case, or carry the case (`Andor` gives `And/or`), on the Text expansions screen - A shortcut name works in every long-press list, the comma, period and enter keys included, and the list help names them all - Number-row digits take long-press lists **Keys and layout** - One-handed for the left hand (Size and layout) - An unfolded phone or a tablet held upright uses the landscape arrangement (Size and layout, on) - The symbol pages line up with the letters; slide right on their page key for the number pad - Hide accented letters keeps the letters of your enabled languages, so Polish keeps ą on the English keys - A thumb resting on the keys, a third finger while both thumbs draw, and a number-row digit brushed mid-swipe type nothing **Languages** - Hebrew: backspace in the same place as on the English keyboard, thanks to lurebat - The English keyboard offers all nine Polish letters - Capitalized words, German nouns among them, now gain weight as you use them **Fixed** - The autospace delay is counted from the lift, so a short delay is as short as it says - A word written before `:` or `!` no longer gets a space in front of it; the marks are a list you can edit (Typing > Spacing > No space before) - Moving the cursor back into a sentence after a full stop no longer capitalizes the next letter - The shortcut row no longer blinks while you backspace into a word - The space under the keys takes the keyboard's colour - The period key's setting showed the comma's options - With the numbers row on, the top row's up-swipes work again - A long-press menu as wide as the screen could close and reopen the keyboard - An error while decoding a word no longer closes the keyboard
  • Oct 5, 2026 2.0.0
    Kinetica 2.0. Install over 1.1.2 and everything you set up stays. **Two thumbs** - Each thumb is read with its own cursor, so a word can pass back and forth between them in any order; many more two-thumb words come out right the first time - One tap can stand for a doubled letter (`tutti`, `ottima`) - Practise two thumbs: five words drawn over the keyboard, thumb by thumb (Learn Kinetica, also on the start screen) **Suggestions** - Next-word suggestions while nothing is typed (Typing, on) - Recent words: the last two words stay on the bar with the words they beat; tap or swipe to swap (Typing > Suggestion bar, off)
    More…
    - A tapped word with one stray or one missing letter is offered on the bar, never changed for you - When a gesture fits nothing well, the bar still offers the closest words to pick - After the retype button, the bar offers what else the gesture could have been - Ranks show only while you slide a word (Typing > Suggestion bar, on); one tier per step, and any word can be blocked in a few steps - A blocked word is never offered again and never learned back **Editing** - Tap inside a word and the bar offers alternatives for the whole word, first the ones it had when you wrote it - Backspace right after an autocorrect puts back what you typed - Hold shift over selected text for abc, Abc or ABC - Enter searches, sends or goes where the app asks for it, and says which; hold it for a new line (Typing, on) - Tidy spaces: never two in a row, none before a closing quote or bracket (Typing > Spacing, off) **Shortcuts** - A chord's trigger is ?123 or the spacebar, chosen per chord; language switch and peck-type are ordinary chords you can change or remove - Chords, edge swipes and long-press lists work on any key: digits, punctuation, other alphabets. The key is typed, not picked - Ctrl + key in one choice: type the key under it (a, c, v, Del); expansions can press one too - New targets: Tab, Esc, forward Delete, Home, End, the arrows, Page up and down, Backspace, a one-shot Ctrl - Shortcut choices have short names: Ctrl, Tab, Del, Up arrow, Page up - A text expansion can have several targets, offered on the bar - Choose and order the shortcuts of the bar and of the ?123 menu on one screen - Next word, recent words, numbers row, tidy spaces and words per minute can be switched from the keyboard **Keys and layout** - Numbers row above the letters; the keyboard grows so the letters keep their size (Keys, off) - Middle row width: spreads a s d f g h j k l toward the edges, for hands used to Nintype (Size and layout, 0%) - Landscape: its own height, split to the edges, centred or full width - Long-press menus as a row or a 3x3, 4x3 or 5x3 grid, with the letter under your thumb - Edit each letter's list; Default fills in every enabled language's accents; a shortcut in a list runs it (`:paste`) - Hold a letter's menu still to open its list in settings (Keys > Long-press menus, off) - Words per minute on the spacebar (Keys, off) - A live picture of the keyboard's size in Size and layout **Languages** - Russian, Ukrainian, Hebrew and Arabic, experimental, each with its own keyboard - Follow the language I type: up to three languages decode as equals, the one you are typing weighs most (Languages > More language options, off, experimental) - With Mix enabled languages on, a word only another enabled language holds commits itself when the active one finds nothing close, and a word both hold is learned into the language you were writing - A spelling with the accents left off is corrected (`pojsc` to `pójść`, `perche` to `perché`) in every accented language; real pairs like `ze` and `że` both stay - An imported AOSP list no longer brings back spellings without their accents - Android's keyboard picker shows only the enabled languages (Android 14 and later) **Settings** - A shorter tree: a dozen rows, the finer settings one level down; Backup on its own screen; Dictionary languages folded and alphabetical - Learn Kinetica: the two-thumb practice, then short tips from the basics up; a tip opens its setting - Settings in Italian, chosen by the phone's language or per app on Android 13 and later. Translations are welcome: CONTRIBUTING.md says how - The learned-words list says what its numbers mean, and can raise a word - A backup restore shows its progress and is all or nothing, even if the app is closed - Contribute: a Ko-fi link. Still no network permission **Fixed** - `e.g.` became `e.G.` with sentence capitals on - I'm, I've and I'd kept a lowercase i - `è` was not offered beside `e` with English active - Learned word pairs with accented words were never used - Retype did nothing after a word with no alternatives, and the rejected word kept its weight - The expansion trigger field took the keyboard's own space and refused to save - A chord letter was lost when ?123 was released first - A cursor placed inside a word could be ignored after some edits The APK is about 12.9 MB, up from 9.7 MB, for four more languages.
  • Sep 26, 2026 1.1.2
    - Shortcuts in the suggestion bar when there is nothing to suggest, and a separate set in the ?123 hold menu (Size and keys) - Text expansions: type a trigger, fire Expand from an edge swipe or a ?123 chord (Gestures and chords > Text expansions). Expansions chain, and can write the date or the time, press enter or copy the line - Change the case of a word, including the one the cursor is inside, from the shift key's menu - Autospace sliders down to 10 ms, long-press down to 25 ms - Edge swipes no longer fire from inside a swiped word - Top-row digits on the key corners by default, so an up-swipe types 1 to 0 - Each suggestion gets the width its word needs - With Mix enabled languages on, a tapped word can come from your second language and is learned there - A suggestion list stays pickable after a word could not be decoded - Option to keep the language you chose when Android switches keyboards (Typing and predictions)
    More…
    - Fixed: a tap on the correction strip could be lost - Fixed: picking Norwegian in Android's keyboard switcher
  • Sep 11, 2026 1.1.0
  • Aug 27, 2026 1.0.4
  • Aug 26, 2026 1.0.3