Auto-layout switchers kept mangling my code and commands, so I built a 675 KB tool that blinks my keyboard LED instead

Wait 5 sec.

If you type in two layouts (like English + Russian, Hebrew, Arabic, or Greek) and look at the keys while typing, you know the pain of looking up at the monitor only to see half a line of Ghbdtn rfr ltkf instead of Привет как дела. Standard auto-switchers are fine for plain chat, right up until you type a shell command, a SQL query, a camelCase variable, or a brand name. Then they guess wrong and rewrite your text mid-keystroke. Screen popups don't help either when your eyes are on the keyboard. I wanted the alert physically on the keyboard where I'm already looking, and I didn't want a background app touching my text on its own. So I built SmartBlink (v0.1.0-beta, open-source under MIT): https://github.com/VKVstudio/SmartBlink When a word doesn't match your active layout, it pulses the Scroll Lock LED (or a guarded Caps Lock pulse on laptops) and plays a quiet 24 ms wooden knock via WASAPI. It never replaces text automatically. If you actually typed in the wrong layout, a quick double-tap on Left Shift converts the last word or phrase and switches the window layout (double-tapping again within 10 seconds undoes it). Under the hood, there's no Electron and no cloud or LLM bloat: it's written in Rust using only the windows crate (675 KB portable .exe, under 3 MB RAM, zero network DLLs). Instead of a hardcoded US-to-RU table, it maps your installed Windows layouts dynamically via ToUnicodeEx across 4 modifier layers (Base, Shift, AltGr, Shift+AltGr) and scores words against 131 KB of embedded trigram profiles across 20 languages (verified in automated tests against all 45 Windows 11 System32\KBD*.DLL layout drivers, including dead keys and Arabic لا ligatures). Keystrokes stay in a 256-slot RAM ring buffer and get zeroed out on mouse clicks or after a 3.5s pause, and it automatically stays silent in password fields (UI Automation IsPassword) and blacklisted terminals/IDEs. I use EN RU daily, so while the other 18 languages pass the automated KBD*.DLL test matrix, they need real human fingers to test edge cases. If you use Ukrainian, Hebrew, Arabic, Greek, or European layouts with AltGr and dead keys (like German QWERTZ, French AZERTY, Polish, or Czech), I'd love your help trying to break the scorer. Grab the portable .exe from Releases (or run cargo build --release), type a few sentences in the wrong layout, and let me know if it fails to blink or messes up your characters on double-Shift.   submitted by   /u/SmartBulldog [link]   [comments]