Your phone is the keyboard.
A real one.
Omakey turns your phone into a kernel-level keyboard and touchpad for Omarchy. Hold SUPER SPACE, press Esc and F1–F12, type into the lock screen — over encrypted Wi-Fi or Bluetooth.
Omarchy Linux · Android 10+ · Bluetooth keyboard for any computer · MIT · No accounts, no cloud
A live simulation running in your browser, drawn from the real app's layout files. Multi-touch works on a touchscreen; with a mouse, modifiers latch (click Super, then Space). Click the scene and your own keyboard types too.
A real keyboard
Key codes, not text boxes.
omakeyd creates a kernel virtual keyboard. Hyprland, games, terminals and the lock screen see key presses, exactly like a Bluetooth keyboard.
Your desktop's layout decides what a key types. Switch Omarchy to Ukrainian and the same keys type Cyrillic.
- Every bind works: SUPER, Ctrl, Alt, Esc, F1–F12, arrows, media keys
- Your repeat rate and keyboard settings apply
- Caps Lock light comes back to the phone
Same keys, two layouts: ghbdsn in English is привіт in Ukrainian. Lock the screen and type the password on the phone.
Fires on touch-down
Ten fingers. Every chord.
Ordinary touch buttons fire when you lift your finger. Omakey fires the moment it lands, and every finger is its own held key.
Hold CTRL SHIFT T with three fingers. Hold Shift with your thumb and type. Hold Fn and the keys show their media legends.
Each finger holds one key until it lifts; the key a finger pressed is the key its lift releases, even if Fn was let go first.
Fast and unbreakable
Lost packets heal. Keys never stick.
Every UDP packet carries the complete set of held keys plus every tap not yet acknowledged. Lose one and the next one fixes it.
If the phone goes quiet for 500 ms while holding keys, the desktop lets go. No runaway Shift, ever.
4–8 ms< 1 ms1–5 ms< 0.1 ms< 1 msSlowed down 6×. Real heartbeat: every 100 ms, with resends after 1.5 × the measured ping. Packets are marked DSCP EF, so Wi-Fi queues them like voice calls.
Touchpad
Pull down. It's a trackpad.
Tap the ⌄ touchpad handle and a touchpad slides over the keys: move, tap to click, hold for the menu, two fingers to scroll.
Click buttons run down both sides, mirrored for either thumb: Left, Right, Ctrl + Left and Shift + Left for multi-select. Each computer remembers its own pointer speed.
Drag on the pad to move the pointer. The speed chip cycles the presets: Laptop, 1080p, 1440p, ultrawide, 4K.
Omarchy bar widget
Pair with a QR code. Manage it from the bar.
Click the keyboard icon in the bar. Pair a phone shows a QR code with a 5-minute countdown and a fingerprint the phone shows too. See who's connected, with ping, packet loss and held keys. Rename or forget phones, start or restart the service.
The widget wears your Omarchy theme. Pick one above. After pairing, the phone finds the desktop by itself over mDNS, even when its IP address changes. The QR code here is a demo and can't be scanned.
Bluetooth, two ways
Off Wi-Fi? Not on Omarchy? Still a keyboard.
When Wi-Fi can't reach your desktop, Omakey falls back to Bluetooth with the same encrypted packets. And for any other computer, the phone becomes a plain Bluetooth keyboard and mouse.
Automatic fallback to omakeyd
No extra pairing. A held key survives the switch, and Wi-Fi takes over again as soon as it answers.
Bluetooth keyboard for anything
Mac, Windows, iPad, a TV: pair the phone in its Bluetooth settings. Keyboard and touchpad, nothing to install.
Layouts
Ten keyboards in the box. Or design yours.
Laptop QWERTY, Colemak and Dvorak, the thumb-friendly Omakey Pro, and split ergonomic boards. Split layouts put each half under its thumb. Tap a key to see the code it sends.
Omakey Layout Studio
A web editor for your own layout: drag and resize keys, any Linux key code, Fn and custom layers, shaped keys. Send it to the phone as an omakey://layout link, a QR code or a JSON file.
Security
Anyone who can type on your desktop owns it.
So nobody else can. Omakey talks to your desktop directly, over your own network. Nothing sits in between.
A 256-bit key in the QR code
Good for one phone and five minutes. Both screens show the same fingerprint before anything is saved.
Every packet sealed
AES-256-GCM with fresh HKDF session keys and replay counters. A packet that doesn't verify is dropped silently.
Nothing runs as root
A udev rule gives the logged-in user /dev/uinput. The daemon is a sandboxed systemd user service.
Private networks only
Firewall rules let in home, office and Tailscale addresses, with a handshake rate limit per address.
Keys stay on the phone
Pairing keys are encrypted with an Android Keystore key that can't be exported. Backups and device transfer are off.
No accounts, no cloud
Nothing to sign up for, no telemetry. Open source under MIT, with a published wire protocol and test vectors.
For tinkerers
A daemon you can script.
Everything the widget does is a command: pair, status, devices, forget, rename, config. A dry-run mode prints keys instead of typing, and a test client acts as a phone.
The wire protocol, layout format and cross-language test vectors are documented, so you can write your own client.
Get Omakey 1.0
Two minutes to your first keystroke.
Free to use, share and redistribute. The APK is signed with the same key for every release, so updates install over each other.
Android app 1.0.0
Android 10 or newer. The keyboard, touchpad, layouts and Bluetooth keyboard mode.
Download omakey-1.0.0.apk- Open the APK on your phone and allow Install unknown apps for your browser or file manager.
- Open Omakey, tap Scan QR code.
- Or, for any computer: Pair over Bluetooth.
Omarchy plugin 1.0.0
The omakeyd service and the bar widget. Needs the Omarchy shell and Rust (sudo pacman -S rust).
omarchy plugin add https://github.com/gladimdim/omakey-omarchy-plugin --enable~/.config/omarchy/plugins/gladimdim.omakey/install.sh- Run both.
install.shbuilds the daemon and asks for sudo once (udev rule, firewall). - Click the keyboard icon in the bar → Pair a phone.
- Scan it with the app. Type.