Привет, я Панда, он же 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 и живёт в трее. Учётной записи не просит, дополнительно ничего ставить не нужно, а для исправления слов не нужен и интернет.
Что умеет этот переключатель раскладки клавиатуры
Основное действие висит на клавише 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, так что всё это можно проверить.
Аналоги 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.
Спасибо и одна просьба
Спасибо, что дочитали. Надеюсь, кому-то из вас программа понравится, а кому-то и пригодится, буду рад видеть вас среди её пользователей. Какой бы хорошей ни была программа, какой в ней толк, если она никому не известна.
Просьба одна: напишите, что не так и чего не хватает. Только честные недостатки могут указать правильное направление. Писать можно в комментариях или прямо из программы: меню значка → «Написать автору…» → «Отправить».
Код и установщик: https://github.com/panda-pishet-kod/lang-switcher
Страница программы, документация и инструкции: https://panda-pishet-kod.dev/langswitcher/
ссылка на оригинал статьи https://habr.com/ru/articles/1103900/