
Разработчик под ником Wetoshkin представил первый мажорный релиз открытого проекта WaySwitch для автоматической корректуры ввода не в той раскладке клавиатуры. Решение позиционируется как аналог Punto Switcher, работающий в Linux-окружениях на базе протокола Wayland. Исходный код проекта написан на Python с задействованием ИИ Claude и опубликован под лицензией MIT.

«Проверено на CachyOS, GNOME 51. KDE Plasma 6, Sway, Hyprland и среды на labwc/Wayfire покрыты тестами», — пояснил автор проекта.

Основные возможности WaySwitch:
-
автоматическая корректировка и смена раскладки после нажатия пробела без использования горячих клавиш и без переключения раскладки вручную (например, после ввода «ghbdtn » выполнится замена на «привет » и включится русскоязычная раскладка).
-
автозамена и переключение раскладки по первым четырём латинским буквам, если ввод не соответствует ни одному слову из словаря.
-
ручная корректировка последнего слова по двойному нажатию клавиши Shift и целой фраз по тройному нажатию Shift.
-
исправление выделенного текста, транслитерация (Привет → Privet) и числа прописью (1250 → «одна тысяча двести пятьдесят»). Работает только в GNOME.
-
исправление опечаток, таких как две заглавные буквы в начале слова, буквы ‘ю’ и ‘б’ вместо точки и запятой, слитное написание частиц, пропущенный пробел.
-
ведение списка исключений для слов и программ (например, запрет на автоисправление в терминале и IDE).
-
GTK4-интерфейс, значок панели, виджет KDE и модуль Waybar.
По информации OpenNET, для перехвата событий ввода в WaySwitch используется evdev через /dev/input/event*. При выявлении нажатия пробела фоновый процесс проекта декодирует накопленные в буфере нажатия в текущей и альтернативной раскладках по таблицам libxkbcommon. Решение о замене ввода принимается по словарю и модели символьных триграмм. Исправление производится через симуляцию переключения раскладки, набора Backspace и подстановки нового ввода.

Источник: habr.com