overkey
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.
the bar
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.
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.
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.
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.
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
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
no root, one command
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
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
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.
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.
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.
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.
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.
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
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.