I got a bunch of Digisparks, they are small, arduino compatible boards that plug directly into the usb port. There's a thing called Rubber Ducky, what basically automates keypresses when plugged into an usb port, but it's reeeeally overpriced and closed source.
So I'm attempting to create an open source variant using Digispark boards (or any attiny85 for that matter) for now, but I plan to add support for Arduinos later.
I already got a basic scripting language that gets interpreted to native C code, still got ways to go but it works pretty well already.
I'm also making a small IDE for it in Java (naturally lol), I'll see if it becomes a thing in the future.
The repo is here if you feel like contributing.