saad@kimetra:cat README.md
Kimetra
A keyboard automation library for Node.js that calls the OS input APIs through a small precompiled addon. Version 2 added a CLI, so it also works from a terminal without writing any JavaScript.
saad@kimetra:open https://www.npmjs.com/package/kimetra
saad@kimetra:# Why it exists
The existing options wanted a full C++ toolchain on the machine just to press a key, and each platform had its own quirks to work around. Kimetra ships one prebuilt binary per platform and deletes the ones your machine cannot use after install, so it installs in a second and the key names are the same on Windows, macOS and Linux.
saad@kimetra:# What changed in 2.x
The API is one instance with a handful of methods. A whole sequence compiles into a single native call, so JavaScript never runs between keystrokes, and waits aim at an absolute deadline instead of drifting. Macros can be built up, saved as JSON and replayed. The same release added a CLI: chain commands on one line, or pipe a macro file into it.
saad@kimetra:# Limits, stated up front
Execution is synchronous by design, so a long wait blocks the event loop: short waits belong inside sequences, long pauses in JavaScript. On Linux, typed text is limited to what a US layout can produce, because uinput sends scan codes rather than characters. Both are in the README rather than left for you to find out.
saad@kimetra:npm i kimetra