No description
  • Rust 92.7%
  • PowerShell 3.7%
  • Shell 3.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Makatorama 4e14e793ad
All checks were successful
windows / check (push) Successful in 50s
windows / release (push) Successful in 45s
check / check (push) Successful in 2m13s
check / release (push) Successful in 2m8s
feat(release): mark releases as prerelease
2026-07-09 15:10:01 +07:00
.cargo max compatibility: target-cpu=x86-64 2026-07-09 01:21:05 +07:00
.forgejo/workflows fix(ci): match ASSET_NAME with renamed binary 2026-07-09 15:04:07 +07:00
dict Hunspell-словари через spellbook, CI, README, .gitignore 2026-07-09 00:04:13 +07:00
scripts feat(release): mark releases as prerelease 2026-07-09 15:10:01 +07:00
src debug: add logs for enigo.text, switch result, and detection 2026-07-09 14:27:56 +07:00
.gitignore Hunspell-словари через spellbook, CI, README, .gitignore 2026-07-09 00:04:13 +07:00
Cargo.lock cross: windows support + platform module refactor 2026-07-09 12:47:55 +07:00
Cargo.toml cross: windows support + platform module refactor 2026-07-09 12:47:55 +07:00
LICENSE-APACHE Лицензия MIT + Apache-2.0, readme, license в Cargo.toml 2026-07-09 00:10:56 +07:00
LICENSE-MIT Лицензия MIT + Apache-2.0, readme, license в Cargo.toml 2026-07-09 00:10:56 +07:00
README.md readme update 2026-07-09 11:25:14 +07:00

keyswitch

Автоматическое переключение раскладки клавиатуры (EN ↔ RU) при ошибочном вводе — аналог Punto Switcher для Linux (Wayland/KDE).

Как работает

Перехватывает нажатия через evdev, буферизирует слово, и при нажатии разделителя (Space, Enter, Tab, знаки препинания) проверяет оба варианта (ghbdtn / привет) через Hunspell-словари (spellbook). Если слово есть только в одной раскладке, а текущая раскладка не совпадает — удаляет слово и перепечатывает его в правильной раскладке.

Использование

cargo build --release
sudo ./target/release/keyswitch

Требуются права на чтение /dev/input/* (группа input).

Лицензия

MIT + Apache-2.0 (dual-licensed).