WaySwitch GitHub
Бесплатно · открытый код · MIT

Замена Punto Switcher для Linux на Wayland

WaySwitch исправляет русские и английские слова, набранные не в той раскладке: на пробеле меняет слово и переключает язык ввода. Автоматически в совместимых полях или вручную — выбранной клавишей.

ghbdtnпривет
curl -fsSL https://wayswitch.wetoshkin.ru/install | sh

Ubuntu 24.04+, Debian 13+, Fedora, openSUSE, Arch и производные. Опубликованная версия — 1.1.3.

Окно WaySwitch: исправление включено, поле проверки и последние исправления
Как это работает

Набрали не в той раскладке — WaySwitch исправит

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

1

Вы набираете

GПHРBИDВTЕNТ

Забыли переключить раскладку, и вместо «привет» получилось «ghbdtn».

2

Нажимаете пробел

WaySwitch видит, что такого английского слова нет, а в русской раскладке получается «привет».

3

Слово исправлено

На экране уже «привет», а раскладка переключилась на русскую — можно печатать дальше.

Возможности

Исправление раскладки и привычные жесты

Исправление на пробеле

В совместимом поле ghbdtn становится «привет» после пробела, а раскладка — русской. Детектор пропускает числа, пути, адреса и camelCase. Для редких слов есть ручной жест.

Ручное исправление — своей клавишей

По умолчанию — двойной Shift. Вместо него можно назначить одну клавишу: Ctrl, Alt, Pause, Scroll Lock или F-клавишу.

Исправить выделенное

Назначьте отдельную клавишу в параметрах, выделите фразу и нажмите её. Работа с выделением проверена в поддерживаемых полях GNOME и KDE и зависит от доступности поля через AT-SPI.

Переключение по началу слова

В Writer и Calc при нативной замене текста WaySwitch может исправить однозначное начало слова ещё до пробела. При перепечатке клавишами замена ждёт пробела, чтобы не смешиваться с продолжением набора.

Нечаянный Caps Lock

пРИВЕТ → «Привет»: исправляет регистр и выключает случайный Caps Lock. Выключение Caps Lock требует сведений о настройках клавиатуры; функция отключается в параметрах.

Транслитерация и число прописью

Назначьте отдельные клавиши для действий над выделением: Привет ↔ Privet, 1 250 → «одна тысяча двести пятьдесят». Нужен доступ к выделению через AT-SPI; проверено в поддерживаемых полях GNOME и KDE.

Отмена с запоминанием

Исправление не подошло? Повторите жест сразу после замены — слово вернётся. По умолчанию после второй отмены оно попадёт в исключения. Время отмены и порог запоминания настраиваются.

Мелкие опечатки

Две заглавные — ПРивет → «Привет». Знак вместо последней буквы — пирогб → «пирог,». Частицы слитно — чтото → «что-то», кембы → «кем бы». Пропущенный пробел — сонатуБаха → «сонату Баха». Каждое правило выключается отдельно.

Исключения и пароли

Можно исключить слова и приложения. При включённой защите паролей автоисправление требует достоверного фокуса и выключено в терминалах целиком. Распознавание паролей зависит от приложения; перед вводом секрета в необычном поле включите паузу.

Обновление одной кнопкой

При включённой проверке обновлений программа сообщит о новом выпуске. Кнопка «Обновить» откроет терминал с командой; для пакетов дистрибутива используйте его менеджер пакетов. Flatpak и AppImage обновляются отдельно от нативной службы.

Окружения

Интеграции с рабочими столами Wayland

Нужен сеанс Wayland и русско-английская пара раскладок. Совместимость зависит также от приложения: автоисправлению нужен достоверный фокус через AT-SPI. Подробная таблица проверок и ограничений.

GNOME

Расширение и значок в верхней панели, GNOME 46–51. Живые проверки — GNOME 50/51.

KDE Plasma

Раскладка через KWin, виджет или значок в лотке. Проверено в Plasma 6.6.6 Wayland.

Xfce

Только Wayland-сеанс на labwc/Wayfire. Значок в области уведомлений; живая проверка ещё нужна.

MATE

Только Wayland-сеанс на labwc/Wayfire. Значок на панели; живая проверка ещё нужна.

Budgie

Только Wayland-сеанс на labwc/Wayfire. Значок на панели; живая проверка ещё нужна.

LXQt

Только Wayland-сеанс на labwc/Wayfire. Значок и пункт в центре настроек; живая проверка ещё нужна.

Sway

Раскладка через IPC и модуль Waybar. Автотесты пройдены; проверка с физической клавиатурой ещё нужна.

Hyprland

Раскладка через IPC и модуль Waybar. Автотесты пройдены; проверка с физической клавиатурой ещё нужна.

COSMIC

Проверено в COSMIC 1.11. После старта службы и разблокировки нужно явно включить исправление.

Umbriel

Нативный IPC. В живом Wayland-сеансе проверены ввод, отмена, пароль и блокировка.

labwc и Wayfire

Ручной жест; автоисправление по счётчику включается отдельно. Живая проверка ещё нужна.

X11, Cinnamon и отдельные RDP-сеансы не поддерживаются. Для NixOS есть пакет и системный модуль; графический сеанс ещё не проверен. В проверенных сборках ONLYOFFICE автоисправление не подтверждено: редактор не предоставил пригодных полей доступности. При продолжении физического ввода перепечатка может остановиться, оставив частичный результат.

Скриншоты

Как это выглядит

Окно и примеры интеграций. Иллюстрации панелей показывают внешний вид; область живых проверок указана выше. Детали интерфейса зависят от версии.

Главное окно WaySwitch в тёмной теме
Главное окно — состояние и последние исправления
Параметры WaySwitch: исправление, вручную, что исправлять
Параметры — применяются сразу
Первый запуск WaySwitch: проверка системы
Первый запуск — проверка системы
Виджет WaySwitch в системном лотке KDE Plasma
KDE Plasma — виджет в системном лотке
Состояния модуля Waybar: работает, исправлено, отменено, пауза, не запущен
Модуль Waybar — раскладка и последнее исправление
Меню значка WaySwitch в Xfce, MATE и LXQt
Xfce, MATE, LXQt — значок с одинаковым меню
WaySwitch в Hyprland: модуль Waybar, проверка системы в терминале и окно WaySwitch
Sway и Hyprland — модуль для Waybar
Установка

Установка и первый запуск

Скрипт определит поддерживаемый дистрибутив, покажет план и запросит подтверждение. Для NixOS используйте отдельный системный модуль. Установку запускайте от обычного пользователя.

Для исправления WaySwitch получает доступ к событиям клавиатуры и виртуальному вводу. Правило udev выдаёт эти права программам активного локального пользователя. Набранный текст не отправляется в сеть; выученные исключения сохраняются локально. Подробнее — в разделе о данных и доступе.

  1. Откройте терминалНажмите Super (клавиша с логотипом) и наберите «Терминал». В KDE он называется Konsole.
  2. Вставьте команду и нажмите EnterВставить в терминал — Ctrl+Shift+V.
    curl -fsSL https://wayswitch.wetoshkin.ru/install | sh
  3. Подтвердите и введите парольСкрипт напишет, что собирается сделать. Пока вы вводите пароль, на экране ничего не появляется — так и должно быть.
  4. Перезагрузите компьютер после установкиОткройте WaySwitch и проверьте систему. В обычном текстовом редакторе выберите английскую раскладку, наберите ghbdtn и пробел. В COSMIC после запуска явно включите исправление.
Что скрипт сделает в моём дистрибутиве
ДистрибутивСпособ
Ubuntu 24.04+, Debian 13+ и совместимые производныепакет .deb через apt
Fedoraпакет .rpm через dnf
Silverblue, Kinoite, Bazzite.rpm через rpm-ostree, затем перезагрузка
openSUSE Tumbleweedпакет .rpm через zypper
Arch, CachyOS, EndeavourOS, Manjaroпроверит наличие пакета в AUR; если его нет, соберёт из исходников
NixOSотдельный пакет и модуль, без этого скрипта
Хочу посмотреть скрипт перед запуском

Скрипт открыт: wayswitch.wetoshkin.ru/install. Его можно скачать, прочитать и запустить отдельно:

curl -fsSLo wayswitch-install.sh https://wayswitch.wetoshkin.ru/install
less wayswitch-install.sh
sh wayswitch-install.sh
Обновление

При включённой проверке обновлений WaySwitch сообщит о новом выпуске. Для установки скриптом подходит та же команда; настройки сохраняются. Пакет дистрибутива обновляйте его менеджером. После обновления расширения GNOME перезайдите в сеанс; в rpm-ostree нужна перезагрузка.

Удаление
curl -fsSL https://wayswitch.wetoshkin.ru/install | sh -s -- --uninstall

Настройки остаются в ~/.config/wayswitch на случай переустановки.

Жесты

Когда автоисправления мало

Пока экран заблокирован или WaySwitch на паузе, жесты не работают. Все жесты видны в окне программы — Ctrl+?.

ShiftShift

Исправить слово

Сразу после слова — если WaySwitch пропустил короткое или редкое слово. Вместо двух Shift можно выбрать одну клавишу.

ShiftShiftShift

Исправить фразу

Третье нажатие следом перепечатает всю набранную фразу в другой раскладке.

ShiftShift

Отменить автоисправление

В первые 5 секунд после автоисправления слово вернётся. По умолчанию после второй отмены слово попадёт в исключения; порог настраивается.

CtrlAltPauseScroll Lock

Исправить выделенное

Назначьте в параметрах клавишу — и одно её нажатие переведёт выделенный текст в правильную раскладку. Своими клавишами — транслитерация и число прописью.

Вопросы

Частые вопросы

Это аналог Punto Switcher для Linux?

Да. WaySwitch исправляет русские и английские слова, набранные не в той раскладке, и переключает раскладку. Автоисправление работает в совместимых полях Linux на Wayland; для ручного исправления есть жест или выбранная клавиша.

Почему старые переключатели не работают на Wayland?

В Wayland программы не могут читать чужие нажатия и печатать за пользователя через оконную систему — так задумано ради безопасности. WaySwitch работает уровнем ниже: читает клавиатуру через ядро Linux и печатает через виртуальную клавиатуру.

Можно ли исправлять своей клавишей, а не двойным Shift?

Да. В параметрах выберите жест «Нажатие клавиши» и нажмите нужную клавишу — например, левый Ctrl, правый Alt, Pause или Scroll Lock. После этого одно её нажатие исправляет последнее слово, а в первые секунды после автоисправления — отменяет его.

Как обновить или удалить?

При включённой проверке обновлений кнопка «Обновить» открывает терминал с командой. Пакеты дистрибутива обновляйте его менеджером, окно Flatpak/AppImage — отдельно от службы. Настройки сохраняются. После обновления расширения GNOME нужен новый вход в сеанс, в rpm-ostree — перезагрузка. Удаление доступно в «Параметры → Система».

Работает ли в X11?

Нет. WaySwitch сделан для Wayland. Во всех поддерживаемых окружениях выберите сеанс Wayland на экране входа.

Какие данные и права использует WaySwitch?

Исправление работает локально: набранный текст не отправляется в сеть. Последние исправления хранятся в памяти окна, а слова-исключения, включая выученные после отмен, — в ~/.config/wayswitch/exceptions.txt. Журнал текущей версии не содержит набранных слов.

Правило udev даёт программам активного локального пользователя доступ к событиям клавиатуры, мыши и тачпада, а также к виртуальному вводу. WaySwitch не захватывает клавиатуру: её работа не зависит от исправности демона. Защита паролей зависит от сведений приложения; в неизвестном поле перед вводом секрета включите паузу.

Проверка обновлений обращается к GitHub API: GitHub получает IP-адрес и версию WaySwitch в User-Agent. Проверку можно выключить в параметрах. Исходный код открыт на GitHub.

Сколько стоит?

Ничего. WaySwitch — открытая программа под лицензией MIT.

Какие языки поддерживаются?

Русский и английский. Нужна пара ru/en; дополнительные раскладки разрешены, при их выборе WaySwitch не исправляет текст. Другие языки пока не поддерживаются.

Есть ли Flatpak, AppImage и Snap?

В GitHub Releases есть Flatpak и AppImage с окном настроек и треем. Для исправления нужна также нативная служба на хосте: .deb, .rpm или пакет дистрибутива. AppImage рассчитан на x86_64 с glibc 2.39+; в Flathub пакет не опубликован. Snap пока нет. Инструкции и проверка контрольных сумм.

Что-то не исправляется. Что делать?

Проверьте, включено ли автоисправление и нет ли паузы. Отчёт доступен в меню ☰ → «О WaySwitch» → «Устранение неполадок» или командой wayswitch doctor. Если приложение не предоставляет достоверный фокус, попробуйте ручной жест. В сообщении на GitHub укажите версию, рабочий стол и приложение; перед публикацией удалите из отчёта личные сведения.

Попробуйте WaySwitch

Установите программу и проверьте исправление в своём редакторе.

Установить