Lang Switcher — переключатель раскладки клавиатуры. Написан на Rust, код открыт

—

от автора

Привет, я Панда, он же Panda Koder. Сегодня хочу рассказать о своей программе. Lang Switcher — переключатель раскладки клавиатуры для тех, кто печатает на двух языках и регулярно об этом забывает. Работает в Windows 10 и 11, так что владельцев Mac предупреждаю сразу, чтобы не тратили время.

Пример на одном слове: на экране вышло ghbdtn, одно нажатие Pause/Break, и там уже «привет», а раскладка окна переключилась следом.

Программа бесплатная, исходный код открыт. Код и установщик лежат на GitHub, скачать можно ещё со страницы программы на моём сайте, там же подробная документация и инструкции. Обе ссылки будут в конце статьи.

Проект некоммерческий, и вот что это значит на деле: рекламы нет, платной версии нет, код открыт, лицензия на выбор MIT или Apache-2.0. Пришёл я сюда показать программу и собрать обратную связь. Да, я написал продукт и, кажется, даже довёл его до полноценной программы, но без вашей помощи и ваших замечаний он мало чего стоит.

Зачем она нужна

Картина знакомая. Печатаешь на двух языках, поднимаешь глаза, а на экране ghbdtn или руддщ. Дальше как обычно: стереть, переключить раскладку, набрать заново. Мелочь, пока она не случается каждый день.

Каждая программа пишется через боль. Это когда в сотый раз повторяешь одно и то же бесполезное действие и думаешь: так хочется одну кнопку… а почему бы и нет? Вначале это была просто игрушка, попробовать свои силы, а чем дальше, тем интереснее. Пишу такие вещи по вечерам, в выходные и в свободное от работы время. Скажу и то, что вы всё равно увидите на GitHub: почти все коммиты там идут со строкой Co-Authored-By: Claude. Нейросети — это всего лишь инструмент, позволяющий сделать мечты и идеи реальностью.

Lang Switcher делает одну вещь: исправляет текст, набранный не в той раскладке. Чтобы исправить раскладку, теперь хватает одной клавиши. Сама программа для переключения раскладки клавиатуры маленькая, написана на Rust и живёт в трее. Учётной записи не просит, дополнительно ничего ставить не нужно, а для исправления слов не нужен и интернет.

Программа для переключения раскладки клавиатуры похожа на пульт с одной кнопкой: панда нажимает её, и под буквами g h b на ноутбуке появляются п р и.

Программа для переключения раскладки клавиатуры похожа на пульт с одной кнопкой: панда нажимает её, и под буквами g h b на ноутбуке появляются п р и.

Что умеет этот переключатель раскладки клавиатуры

Основное действие висит на клавише Pause/Break. Последнее слово переходит в другую раскладку, раскладка окна переключается следом, и можно печатать дальше. Передумали — второе нажатие возвращает набранное. Программа помнит нажатия, а не результат, поэтому ходить туда и обратно можно сколько угодно.

Заглавные буквы сохраняются: Ghbdtn станет Привет. Знаки считаются по клавише: Shift+2 — это @ в английской раскладке и » в русской. Случайный Caps Lock («пРИВЕТ») программа не исправляет. Слово с пробелом после него исправляется так же.

В памяти слово живёт недолго. Оно забывается после Enter, Tab, Esc, стрелок, Home, End и Delete, после щелчка мышью, перехода в другое окно или поле, сочетания с Ctrl, Alt или Win и через пять минут без набора. Backspace убирает букву и из памяти программы. Ваше обычное переключение раскладки, Alt+Shift, Ctrl+Shift или Win+Space, слово не стирает.

Та же клавиша работает с выделенным текстом: каждое слово уходит в свою сторону, а буфер обмена потом возвращается. Если это не нужно, снимите галочку «Конвертировать выделенный текст» в разделе «Общие».

Если раскладки в системе две, настраивать нечего. При трёх и больше есть режим «Пара» (источник и цель) или «Несколько раскладок», то есть круг до восьми: каждое нажатие даёт следующую, а после последней возвращается набранное. Подходят любые раскладки Windows, кроме китайской, японской и корейской. По замеру на Windows 11 это 102 языка, среди них польский, французский, вьетнамский, тайский, хинди, арабский и иврит. AltGr и мёртвые клавиши работают как в самой Windows.

Исправлять можно в Блокноте, Word, браузерах, Telegram, Windows Terminal, классической консоли и в окнах программ, запущенных от имени администратора. В консоли исправляется только набранное слово, выделенное нет: Ctrl+C там прерывает команду. И делать это нужно сразу, до Enter.

Откликается программа звуком, и звуков три. Двойной щелчок значит, что слово заменено, одиночный — заменять нечего, глухой стук — отказ: поле пароля или, в классической консоли, слово с мёртвой клавишей либо AltGr. Выключается настройкой «Звуковой отклик».

Интерфейс переведён на 66 языков: при первом запуске берётся язык Windows, а если его нет, английский. Обновляется программа сама. Раз в сутки проверяет мой сайт, скачивает новую версию, проверяет подпись и ставит её, пока компьютер простаивает, потом показывает уведомление у значка. Настройки при этом сохраняются.

Как пользоваться

Установка

Скачайте LangSwitcher-setup.exe с GitHub или со страницы программы и поставьте. Нужна Windows 10 версии 1607 или новее либо Windows 11, 64 бита.

Предупреждения будут, и причины у них понятные: подпись у файла — мой собственный сертификат, а не удостоверяющего центра, и новый выпуск пока скачивают редко. Браузер может попросить подтвердить скачивание (шаги для Edge и Chrome есть в документации), а Windows покажет «Система Windows защитила ваш компьютер»: «Подробнее» → «Выполнить в любом случае», затем жёлтый запрос UAC → «Да». Файл можно сверить по SHA-256 на странице выпуска.

Права и сертификат

Права администратора нужны один раз, при установке, сама программа запускается без них. Установщик создаёт на компьютере сертификат «Lang Switcher (local)», чтобы программа работала в окнах администратора. Он годится только для подписи кода и удостоверяющим центром не является, закрытый ключ уничтожается сразу после подписи, а удаление программы убирает и сертификат. Не хотите его — запустите LangSwitcher-setup.exe /NOLOCALCERT: всё будет работать, кроме окон администратора.

Первый запуск

Значок появится в трее, у часов, иногда под стрелкой «^». При входе в систему программа запускается сама, без запроса UAC, это отключается галочкой «Запускать при входе в систему». Один раз придёт письмо «Здравствуйте! Меня зовут Панда.», фокус оно не отбирает.

Если нет Pause/Break или она занята

Эта клавиша выбрана потому, что современным программам она почти не нужна. Заменить её можно так: меню значка → «Настройки…» → «Горячая клавиша» → «Задать». Подойдёт отдельная клавиша (F12, CapsLock), сочетание с Ctrl, Alt, Shift (Ctrl+F12, Alt+Shift+K) или двойной Shift. То же можно записать в %APPDATA%\Lang_Switcher\config.toml, пока программа закрыта:

[hotkey]key       = "F12"modifiers = ["Ctrl"]trigger   = "press"

Здесь key — клавиша, modifiers — что держать вместе с ней, trigger — как срабатывать, в примере по обычному нажатию. Получается Ctrl+F12.

Исключения и аварийный выход

Для игр и программ, которым клавиша нужна самим, есть исключения: «Настройки…» → «Исключения» → «Выбрать окно программы». За 5 секунд переключитесь в нужную программу, затем вернитесь в окно настроек и нажмите «ОК» или «Применить». Lang Switcher берёт только имя процесса, заголовок окна не читает.

Ctrl+Alt+Shift+F12 снимает перехват клавиатуры и закрывает программу, назначить это сочетание горячей клавишей нельзя.

Переключатель раскладки занимает место у часов: панда докручивает его значок на панели задач.

Переключатель раскладки занимает место у часов: панда докручивает его значок на панели задач.

Где возможны сюрпризы

Вот пять, о которых лучше знать заранее.

  • В Word и Outlook раскладка может сама вернуться. Это настройка Office «Автоматически переключать раскладку клавиатуры в соответствии с языком окружающего текста», её стоит выключить.

  • В VS Code и похожих редакторах Ctrl+C без выделения копирует строку, поэтому нажатие без набранного слова перекодирует её копию. Помогает снятая галочка «Конвертировать выделенный текст».

  • В средах JetBrains двойной Shift выполнит ещё и свой поиск, там лучше назначить другую клавишу.

  • Часть игр читает клавиатуру в обход Windows и замену не принимает. Такие игры стоит добавить в исключения.

  • На экранах UAC, Ctrl+Alt+Del и входа в систему перехват невозможен, это ограничение Windows.

Что программа делает с вводом

Первый вопрос, который здесь зададут: программа видит всё, что я печатаю? Она ставит глобальный перехват клавиатуры, так что нажатия через неё проходят. На диск они не пишутся никогда: ни в журнал, ни в настройки, ни во временные файлы. В памяти лежит последнее слово, при сбросе оно перезаписывается нулями. У арабской и подобных раскладок там ещё до 64 нажатий, не дольше минуты; в паре русской и английской этой памяти нет. В поле пароля нажатия не запоминаются.

Оговорки есть. Поле, тип которого определить не удалось, считается обычным. Приглашение пароля в консоли (ssh, sudo) для программы — обычное слово до Enter. А глухой стук слышат и те, кто сидит рядом: по нему можно понять, что курсор в поле пароля.

Сама в сеть программа ходит только на мой сайт. Раз в сутки забирает один файл новостей и ничего о компьютере не передаёт, сайт видит лишь адрес и время запроса. Новая версия приходит оттуда же, а обращение ко мне уходит только по кнопке «Отправить». Письма и новости выключаются: [letters] feed = false. Код открыт и собирается командой cargo build —release, так что всё это можно проверить.

Lang Switcher — переключатель раскладки на досмотре: ноутбук едет по ленте через рамку, а на экране над ней кольцо клавиш и перечёркнутый диск, потому что на диск нажатия не пишутся.

Lang Switcher — переключатель раскладки на досмотре: ноутбук едет по ленте через рамку, а на экране над ней кольцо клавиш и перечёркнутый диск, потому что на диск нажатия не пишутся.

Аналоги Punto Switcher и чем они отличаются

Да, я знаю, есть аналоги, и даже от более известных брендов. Они не лучше и не хуже, просто по-своему другие, со своими целями и задачами. Вот краткое сравнение с Punto Switcher и Caramba Switcher, данные сверены 16 октября 2026 года.

Lang Switcher

Punto Switcher

Caramba Switcher

Автопереключение

нет, намеренно

да, угадывает язык по буквам, обычно через несколько букв

да, сразу

Отмена клавишей

Pause/Break

Break

двойной Shift или Pause/Break

Окна администратора

да

да, если включить запуск с правами

нет данных

Открытый код

да

нет

нет

Условия

бесплатно; MIT или Apache-2.0

бесплатно; лицензия Яндекса

Classic бесплатно, Pro платно

Главное различие в том, что Lang Switcher без команды ничего не меняет: пароль, сокращение или строка кода останутся такими, как набраны. Если нужна автоматика, это к Punto Switcher или Caramba Switcher.

Аналоги Punto Switcher на трёх подставках: глаз, молния и значок. Панда смотрит на них и почёсывает голову.

Аналоги Punto Switcher на трёх подставках: глаз, молния и значок. Панда смотрит на них и почёсывает голову.

Спасибо и одна просьба

Спасибо, что дочитали. Надеюсь, кому-то из вас программа понравится, а кому-то и пригодится, буду рад видеть вас среди её пользователей. Какой бы хорошей ни была программа, какой в ней толк, если она никому не известна.

Просьба одна: напишите, что не так и чего не хватает. Только честные недостатки могут указать правильное направление. Писать можно в комментариях или прямо из программы: меню значка → «Написать автору…» → «Отправить».

Код и установщик: https://github.com/panda-pishet-kod/lang-switcher

Страница программы, документация и инструкции: https://panda-pishet-kod.dev/langswitcher/

ссылка на оригинал статьи https://habr.com/ru/articles/1103900/