StreamPass — passwords from the vault at the press of a button
The problem I'm trying to solve - or another project I am working on: At my company, our DevOps and Product Support engineers log into customer environments every day — often Oracle schema passwords during installations, often deep inside nested RDP sessions. In a growing number of those customer environments, copy/paste is hard-blocked: the clipboard isn't passed through, and is sometimes actively blocked by the RDP client or by endpoint security. The current workaround is grim: you type the password by hand, once, into a Notepad window inside the customer environment, and paste it from there. Not just clumsy — at customers with session recording, the tape simply captures that password as an image. Nobody is happy about it. What we do have: a central password vault. What it can't do: reliably type into one of these locked-down RDP sessions. KeePassXC's auto-type breaks in restricted customer RDPs; the internal tool can't talk to hardware at all. StreamPass is my attempt to close that last mile: one press on a physical device = the password is typed as keystrokes into the focused window, with no clipboard, no visible intermediate step, and the central vault as the source of truth. Two hardware routes A key discovery during the research phase: not every "macro keypad" behaves the same way through RDP and restrictive customer environments. I distinguish two classes. Class 1 — a real USB HID keyboard. The device itself identifies to Windows as a keyboard and sends keystrokes via the kernel driver path. To the OS, it's indistinguishable from a regular Logitech. For StreamPass, the chosen class-1 candidate is the Adafruit MacroPad RP2040 — 12 keys, OLED display, rotary encoder, around €60, programmable in CircuitPython or QMK, and interesting because it's open hardware, meaning we can flash our own firmware onto it. Class 2 — a programmable HID device that requires host software. The device itself isn't a keyboard; a driver or plugin on the PC calls SendInput(). The long-standing assumption was that this route would be useless in restrictive RDP — the same reasons that auto-type fail should also apply here. Empirics disagree. Tested example: the Elgato Stream Deck Mini. Inside a customer RDP session where