Noble Bits

overkey

Modifier keys, without replacing your keyboard.

Ctrl, Alt, Shift, Meta, Esc, Tab, Home, End, Page Up, Page Down and the arrows, in a bar that appears above whatever keyboard you have open and goes away with it. Your keyboard, its layout and its dictionary stay exactly as they are.

Get it onGoogle Play Try the bar on this page

Android 11 and up Download 48 KB Root not needed
The Overkey icon: one keycap with a caret on it, raised off a navy ground

the bar

Ctrl+C in any app

The bar below is the app's, in its Termux theme, over a keyboard drawn to stand in for yours. Every key on it does on this page what it does on the phone.

Notes
sentnothing yet

Tap CTRL, then C. Hold CTRL for a run of keys.

Tap a modifier and it is armed for the next key. Hold it and tap other keys for a chord. Long-press to lock it down, tap again to let go. The grid appears while Ctrl, Alt or Meta is armed, because the keyboard underneath commits words, not key presses, so it cannot take part in a chord.

Why a bar and not a keyboard

A keyboard with a Ctrl key means giving up the one you type with: its layout, its swipe, its dictionary, the languages it has learned. The bar is a window drawn over the keyboard, so nothing about typing changes and the extra keys are there in every app, not only the one that added them.

What the app in front sees

Keys are delivered the way a hardware keyboard's are, down and up with the modifier state set, so a terminal, a code editor, a browser and a spreadsheet all see the same thing. Ctrl+A selects all in a text field, Ctrl+Z undoes, Ctrl+C in Termux interrupts.

Tab twice over

A plain Tab moves focus in most text fields. Held for half a second the key sends a real tab character instead, which is what a code editor wants.

setting up

Three ways to start the helper

The bar is an overlay, so the app needs "Display over other apps" and asks for it on the first screen. Delivering keys to other apps needs a small helper process started once per boot, with one of these. The settings screen walks through each and says whether the helper is running.

no root, no PC after setup

Shizuku

  1. Install Shizuku from the Play Store.
  2. Turn on Wireless debugging in Developer options.
  3. In Shizuku, tap Start via Wireless debugging and pair when asked.
  4. Back in Overkey, tap Grant on the Shizuku row and allow it.
  5. After a reboot, open Shizuku and tap Start again. Overkey reconnects on its own.

no root, one command

adb

Settings shows one adb shell command with a copy button. Run it from a PC with the phone plugged in, or over wireless debugging, and the helper runs until the next reboot.

rooted phones

Root

Tap Start on the Root row, allow it, and the helper is started for you now and after every reboot. Nothing else to do.

Without a helper the bar still appears, but the keys go nowhere and the settings screen says so. There is no accessibility service to enable; the app does not declare one.

also

The rest of it

Volume keys as modifiers

While a keyboard is up, holding Volume Down holds Ctrl, as in Termux. Volume Up and both together can be bound to any modifier, or left alone. Elsewhere the volume keys do what they always did.

Pinned mode

Tap the notification and the bar appears with no keyboard, for Ctrl+Z on a screen with no text field. The grid stacks above it and moves with it.

Aim mode

Long-press the bar's handle, then tap anywhere for a mouse click or hold for a right click. In a browser that opens the context menu on an image, with Copy image in it.

Drag, fold, hide

The handle drags the bar up or down. A tap folds it away to a pill. A hidden mode shows nothing at all while the volume keys keep working.

Your accent, or eleven editor themes

By default the bar takes its colours from your wallpaper, the way the rest of Android 12 does, and follows dark mode. Or pick Termux, Dracula, Monokai, One Dark, Nord, Gruvbox, Solarized dark and light, Catppuccin Mocha, Tokyo Night or GitHub Light. Opacity for the grid and its letters, and the row height, are sliders.

Calibration

The grid's four edges can be dragged so its letters line up with your keyboard's, whichever keyboard that is.

what leaves the phone

Nothing

The app collects nothing, sends nothing anywhere and has no accounts. Its only network connection is to the helper on the phone itself, over a loopback socket that never leaves the device. There is no analytics, no crash reporting and no advertising. The whole download is 48 KB. The privacy policy says the same in the form Google Play asks for.