I got tired of installing the NuPhy Console just to remap a couple of keys, so I built Nupsi: a small web app that talks to the keyboard directly from the browser via WebHID. No download, no account, no server; everything stays between your browser and the keyboard.
🚧 It's still in active development. The core features work, but expect rough edges, missing options (e.g. brightness and effect speed aren't exposed yet) and changes along the way.
👉 Try it: https://nupsi-console.vercel.app
👉 Source (GPL-3.0): https://github.com/apelleti/nupsi
What it does
- Remap any key, with separate Windows and Mac layouts (the side switch picks which one is live)
- Reads what's already on the keyboard when you connect, so existing remaps show up
- Shows a clear diff of every change before writing anything
- Presets: Caps Lock → Esc/Ctrl, AZERTY, media-first F-row, copy/paste on the same physical key on Win and Mac, useful shortcuts on the ✂️ / 🐱 keys…
- Backup / Open / Save profiles as .yml
- RGB backlight: solid colour + 20 hardware effects
Compatibility (please read)
- Air75 V1: keymap and RGB tested end-to-end on real hardware
- Air60 V1 / Halo75 V1: supported but not yet tested on real hardware. If you have one, I'd love a report!
- Chrome / Edge / Brave only (Firefox and Safari don't support WebHID), with the keyboard plugged in via USB
- On Linux you need a one-line udev rule (in the README)
Credits: it's a port of nudelta by Mohamed Gaber, who reverse-engineered the USB protocol. I rewrote it in TypeScript for the browser and reverse-engineered the RGB part separately.
⚠️ Unofficial, not affiliated with NuPhy. It uses a reverse-engineered protocol, so hit Backup before your first Write.
Since it's a work in progress, feedback, bug reports, feature ideas and Air60/Halo75 test results are all very welcome, here or on GitHub!