Skip to content

About

Double Shift RU/EN layout rescue for GNOME, KDE, Wayland and X11

Topics

Resources

Security policy

Stars

95 stars

Watchers

3 watching

Forks

Latest commit

 

History

817 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lay: ghbdtn превращается в привет после двух нажатий Shift

Lay — помощник для русского и английского ввода

Два языка. Один Lay.

Для тех, кто переключается между русским текстом, английскими словами и терминалом Linux.

Установить Lay Демонстрация

Возможности · Установка · Совместимость · Вопросы · Документация · English

RU / EN Wayland Версия исходников Alpha Лицензия


Уже написали ghbdtn?

Нажмите Shift Shift — последнее слово превратится в привет. Переворот работает в обе стороны: руддщ → hello.

До                  Действие                После
ghbdtn              Shift → Shift           привет
руддщ               Shift → Shift           hello

Lay работает с текущим вводом: для обычного исправления раскладки не нужно копировать слово, открывать переводчик или заново набирать текст.

Меньше исправлений вручную

⌨️ Два Shift — слово на месте

Быстрый ручной переворот RU ↔ EN. По умолчанию исправляется одно последнее слово. После применённой автозамены немедленный Double Shift позволяет вернуть исходный ввод.

↔️ Раскладка следует за текстом

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

⇥ Продолжение прямо в строке

IME предлагает окончание во время набора. Tab принимает актуальную подсказку и добавляет пробел. Подсказки предназначены для буквенного ввода: числа и специальные символы не должны запускать их.

🧠 Ваш выбор имеет значение

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

›_ Подсказки для терминала

В распознанном терминале английские команды получают приоритет среди подходящих продолжений. Например, для gi Lay может предложить git. Принятие подсказки не запускает команду.

🔒 Локально, под вашим управлением

Обычный ввод обрабатывается на компьютере, без облачной модели и API-ключа. Автопомощь и автозамена включаются отдельно; для новой установки они выключены.

Ещё несколько полезных деталей

  • Опечатки. Автозамена может исправлять подтверждённые ошибки после границы слова; сомнительный вариант должен остаться без изменения.
  • Аккуратный смешанный текст. Режим Smart сохраняет нормальные соседние слова: good ntrcn → good текст.
  • Управление из панели. Включение Lay, язык, режим ввода, автопомощь, автозамена и диагностика доступны через меню.
  • Прямой выбор RU или EN. Настраиваемые горячие клавиши включают нужную раскладку без перебора остальных.
  • Конвертация в консоли. CLI принимает строку или стандартный ввод — удобно для скриптов и уже набранного текста.
  • Настройки сохраняются при обновлении. Пользовательская конфигурация хранится отдельно от исходников.

Посмотрите в деле

Демонстрация Lay: ручной переворот, смешанный текст и подсказки IME

Запись показывает базовые сценарии; внешний вид интерфейса может отличаться от текущей версии.

Ситуация Как помогает Lay
Русское слово набрано латиницей Два нажатия Shift переворачивают последнее слово
В предложении встречается английское слово Автопомощь проверяет обе раскладки, сохраняя допустимые слова
Видите подходящее продолжение Tab дописывает подсказку и ставит один пробел
Часто выбираете один вариант Подтверждённый выбор участвует в последующем ранжировании
Пишете в терминале Уже доступные командные продолжения получают приоритет

Начните с одного слова

1. Установите

curl -fsSL https://raw.githubusercontent.com/radislabus-star/lay-public/main/scripts/install-remote.sh | bash

Установщик скачивает исходники и необходимые данные. После первой установки выйдите из пользовательской сессии и войдите снова: это применяет группу input, доступ к /dev/uinput и интеграцию с рабочим столом.

2. Попробуйте Double Shift

Включите русскую и английскую раскладки. Наберите ghbdtn и дважды быстро нажмите левый Shift. Ожидаемый результат — привет.

3. Настройте уровень помощи

По умолчанию работает ручной переворот одного слова. Через меню Lay можно отдельно включить «Помощь при наборе» и «Автозамену», настроить область действия и горячие клавиши. IME-подсказки и принятие Tab требуют активного ввода через Lay/IBus.

Обновление, настройки и удаление

Обновление установленной копии:

cd ~/projects/lay
bash update.sh

Updater сохраняет найденные изменения исходников в именованный git stash. Пользовательские настройки находятся в ~/.config/lay/config.json.

Удаление программы с сохранением настроек и памяти:

cd ~/projects/lay
bash uninstall.sh

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

bash uninstall.sh --purge

Локально изменённый checkout автоматически не удаляется.

Bazzite / Fedora Atomic: если установщик добавил зависимости в следующий deployment через rpm-ostree, перезагрузите систему и повторите установку.

Для Linux. С основным фокусом на GNOME Wayland

Окружение Поддержка
Ubuntu / GNOME Wayland Основная среда разработки и наиболее проверенный маршрут
KDE / Plasma Wayland Доступен backend; проверенных сценариев меньше
Niri Wayland Есть прямой niri-ipc; требуется дальнейшая проверка
X11 Экспериментальный native XKB backend
Другие оконные менеджеры Совместимость пока не заявлена

Расширение GNOME заявляет версии 45, 46, 47 и 50. Сейчас языковая пара — RU/EN.

Статус — alpha. Поддержка окружения не гарантирует одинаковую работу каждого поля приложения. Firefox, терминалы и редакторы по-разному обрабатывают ввод; отдельные поля Tor Browser и веб-приложений остаются зоной доводки. Подсказки к командам не заменяют автодополнение вашей оболочки и не покрывают все команды.

В main опубликованы исходники 1.0.80. Эта версия улучшает обработку Reset, пробела и повторных действий в Firefox. Полная грамматика русского, понимание целого абзаца и безошибочная работа во всех окнах не заявлены.

Область проверки 1.0.80 · Изменения версий · Доступные релизы

Несколько важных ответов

Нужны интернет, подписка или облачная модель?

Для обычного набора и ручного переворота — нет. Установка и обновление скачивают файлы, но базовый маршрут обрабатывает ввод локально. Облачная LLM и API-ключ не нужны.

Что происходит с набранным текстом?

Демон читает клавиатурные события локально, чтобы распознавать жест и последнее слово. По умолчанию обычный маршрут не отправляет текст в сеть и не ведёт полный журнал нажатий. Диагностика включается отдельно. Включённая персонализация и автокоррекция могут сохранять локальную историю использования; эти данные остаются на устройстве. Текст также может попадать в явно включённые диагностические журналы.

Lay понимает всё предложение и исправляет любой текст?

Lay учитывает доступный контекст и подтверждённые решения при выборе из кандидатов. Это не гарантия понимания смысла или правильного окончания. Основной сценарий работает с недавно набранным хвостом; произвольное слово под курсором, выделение или весь документ не являются универсальной областью исправления.

Можно использовать Lay из скрипта?

Да. Конвертация раскладки доступна через CLI:

lay "Ye djn ghbvth"
# Ну вот пример

lay "руддщ цщкдв"
# hello world

echo "ghbdtn" | lay
# привет

Для тех, кто хочет разобраться глубже

Документация · Как это работает · Архитектура · Настройки и меню · Сообщить об ошибке

Lay написан на Rust и использует Linux-ввод, IBus и интеграцию с рабочим столом. Генерация вариантов, их выбор и проверенное применение разделены: подсказка сама по себе не даёт права заменить текст.

Разработка и обязательные проверки описаны в DEVELOPMENT.md. Минимальный Rust для default features и lexical-compiler — 1.88.0; рабочий toolchain и исключения — в Rust Toolchain Policy.

Лицензия

Бесплатно для некоммерческого использования по Lay Non-Commercial License: личные задачи, обучение, исследование и тестирование. Для коммерческого использования требуется отдельное письменное разрешение правообладателей.

English, briefly

Lay is a local RU/EN typing assistant for Linux. Double-tap the left Shift to repair the last word typed in the wrong layout: ghbdtn → привет. Optional typing assistance, inline IBus completion with Tab, confirmed-choice preferences and terminal-command priority help with everyday mixed-language input.

GNOME Wayland is the primary target; other backends have smaller coverage. The project is alpha, field compatibility varies, and only RU/EN is currently supported. The normal typing path needs no cloud API. Source version: 1.0.80.

Install · Documentation · Non-Commercial License


Исправьте раскладку. Примите подсказку. Пишите дальше.

Установить Lay ↑ · Исходники · Обратная связь

About

Double Shift RU/EN layout rescue for GNOME, KDE, Wayland and X11

Topics

Resources

Security policy

Stars

95 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages