Pins the keyboard layout to each input field separately, in any Windows program.
Switch the layout (Ctrl+Shift / Alt+Shift / Win+Space) to English in a terminal and to Japanese in a chat box — from then on the layout switches by itself as you move between those fields. Fields where the layout was never changed get the default layout from Windows settings.
It works across Windows apps, not just one kind: classic desktop programs, browsers (Chrome, Edge, Firefox), Electron apps (VS Code, Slack, Discord), Qt apps (Telegram) and more. Where an app tells Windows which field has focus, every field gets its own layout; where it doesn't (games, some custom-drawn apps), the layout is remembered for the whole window. Any installed layouts and any number of them can be used.
Made for my Japanese friend Satoshi (さとしさん), who switches keyboard layouts many times a day at work. :-)
dronem.github.io/keylayoutpin — or read it
right here in docs/:
- Getting started — install, the tray menu, autostart, updating
- How it works — what counts as a field and what gets remembered
- Command-line options
- Troubleshooting — when a field doesn't keep its layout
- Privacy — what the app sees, stores and never stores
- Development — building, internals, code layout
Download the zip from Releases,
unpack it anywhere and run keylayoutpin_bg.exe. SHA256SUMS.txt next to the zip lets
you check the download: Get-FileHash KeyLayoutPin-*.zip.
Or with Go installed:
go install -ldflags=-H=windowsgui github.com/dronem/keylayoutpin@latest.\build.ps1 # or .\build.ps1 -Test to run the tests first
.\keylayoutpin_bg.exeSee Development for details.