Skip to content

Latest commit

 

History

History
1600 lines (1320 loc) · 116 KB

README.md

File metadata and controls

1600 lines (1320 loc) · 116 KB

GitHub release AppVeyor build HitCount GitHub latest release downloads GitHub downloads Gitter Chat Room

Русский read in English

Mahou (魔法) - Волшебный переключатель раскладок.

Как работает

Mahou работает так как Вы хотите, настраивайте как пожелаете, по умолчанию в отличии от других переключателей раскладок, он переключает не по следующей раскладке, а по указанным в настройках раскладкам.
Даже выделенный текст переключается между выбранными раскладками, но если Вам нравилось цикличное переключение, то, начиная с версии v1.0.2.9, есть Циклич. режим, в v2.0.0.0 и выше чтобы его включить нужно выключить функцию Переключать между раскладками. По умолчанию Mahou - хранит настройки в папке где лежит Mahou.exe, но также может хранить настройки в %AppData%.

Для работы необходим .Net 4.0 или выше. Начиная с v1.4.3.9, исправлены ошибки при работе в .Net 4.0.

Возможности

❗️ Функция обновления из версий ранее Mahou-v2.5.7.6 не будет работать, т.к. GitHub обновился, и метод использовавшийся там для обновления больше не работает.

Как использовать:
  1. Для конвертации выделения нажмите Scroll, когда выделите текст.
  2. Для конвертации последнего введённого слова нажмите Pause.
  3. Для конвертации последней линии нажмите Shift+Pause.
  4. Для переключения раскладки одной клавишей нажмите CapsLock.
  5. Начиная с v1.0.4.4, при конвертации выделения текст, не распознанный ни в одной из выбранных в настройках раскладках (пример: ♥), просто переписывается.
  6. Почитайте wiki или спросите меня.

Горячие клавиши

  • Pause - Конверт последнего слова.
  • Shift+Pause - Конверт линии.
  • Scroll - Конверт выделения.
  • Shift+F11 - Конверт нескольких последних слов, для выбора количества нажимайте 1-9(0 = 10) на клавиатуре(не NumPad)..
  • Shift+F9 - Переключить видимость языковой панели.
  • Ctrl+Shift+Alt+Win+Insert - Показать/скрыть главное окно.
  • Shift+AltPageUp - Перезапустить Mahou.
  • Ctrl+Shift+Alt+Win+F12 - Завершить Mahou.
  • Остальные гор. клавиши выключены по умолчанию или имеют описание в Mahou.

Beta или "версия с последними изменениями"(aka latest-commit) здесь

Используете Chocolatey? cinst Mahou для установки.

Wiki

Ознакомьтесь с Mahou Wiki.

Лицензия

Mahou находится под GPL v2+.

Связаться со мной

Если Вы нашли ошибку или есть идея как улучшить Mahou напишите её здесь или свяжитесь со мной через email (можете спрашивать о чем угодно)

Поддержать проект материально

Если Вы считаете что хотите помочь материально, буду очень благодарен :)

Кошельки:

Возможности по версиям:

v2.9.0.0

  • 💎 Добавлен новый элемент в меню трея: "Перезапуск".
  • 📝 "Возможности по версиям" перемещены в низ.
  • 🐛 Исправлен ввод запомненных alt-numpad комбинаций, Mahou не нажимал alt.
  • 🐛 Добавлена проверка на права чтение/запись истории ввода. #217
  • 📝 Добавлена проверка на права чтение/запись в папке где запущен Mahou при запуске.
  • 💎 Добавлена возможность отображения текста раскладки в трее. #218
  • 💎 Добавлена возможность выбирать что отображать в трее: иконку, флаги или текст.
  • 🐛 Исправление подсказки лампочки ScrollLock для CMD.exe вместе с JKL.
  • 🐛 Добавлен еще один способ взятия выделенного текста - Ctrl+C если RCtrl+Insert не срабатывает. #216
  • 💎 Добавлено исправление для взаимообратных правил автозамены: Теперь правила такие как "here" и "руку", будут заменяться на раскладку последнего введенного слова, если небыло введенного слова то тогда просто произойдет переключение на другую.
  • 💎 Добавлено открытие ссылок(на файлы) по Л/П кнопкам мыши.
  • Левая - открыть файл, Правая - открыть папку с файлом.
  • 💬 Добавлены подсказки к ссылкам "Открыть".
  • 💎 Добавлено больше ссылок "Открыть" для Логов и Настроек.
  • 🐛 Исправлено определение раскладки в JKL при фокусе окна.
  • 🐛 Исправлена совместимость АвтоЗамены и Сниппетов "Добавлять 1 Пробел".
  • 💎 Переработка KInputs.
  • 🐛 Исправлена работа Автозамены с функцией "Считать пробел частью последнего слова".
  • 📝 Добавлена FreeLibrary после unHook в JKL. This may cause Windows to unload JKL dlls from other processes, since: "Windows keeps a loaded count for DLLs and only when it goes to zero does it unload the DLL"
  • 🐛 Добавлена возможность использовать Win+CapsLock для переключения состояния CapsLock, когда сам CapsLock настроен на что-то в Mahou.
  • 💎 Добавлена поддерка CapsLock как F18 и гор. клавиш.
  • 📝 Обновлен RegEx обновлений.
  • 🐛 Добавлено исправление для "залипание alt", может связано с #81.
  • 💎 Добавлено исправление для случайных "переставаний работать" функции Конвертация последнего слова.
  • 💎 Добавлены галочки в меню трея.
  • 💎 Добавлен новый элемент в меню трея: "Включить", т.е. включить/выключить Mahou.
  • 💎 Добавлена ссылка "Открыть" для истории ввода.
  • 📝 Добавлена новая функция в сниппетах: __mahouhome().
  • 💎 Добавлена гор. клавиша для приостановки/возобновления всех функций Mahou гор. клавиш(кроме этой),хуков,таймеров, и т.д. #210
  • 📝 Исправлены иконки.

v2.8.0.0

  • 🐛 Обновлена функция обновлений.
  • 📝 Изменен способ инициализации текущей раскладки для JKL.
  • 🐛 Исправлено что выбор тайминга был отключен во вкладке тайминга, Сделано так потому что при изменении этого значения так же меняется значение показа языковых подсказок при "только при смене" влкюченной.
  • 🐛 Исправлена ошибка инициализации панели переводчика.
  • 🐛 Исправлены ненужные отпускания модификаторов, когда они не были до этого нажаты.
  • 📝 Добавлено больше лога.
  • 🐛 Исправлено что конверт выделения иногда был очень медленным. #193
  • 🐛 Исправлен показ языков в некоторых случаях в подсказках языка при включенном режиме Windows сообщений.
  • 🐛 Исправлена функция "Конверт последнего слова" в "Эмуляции переключения раскладок" при JKL включенном.
  • 📝 Добавлено правило чтобы изменялось окно Mahou в зависимости от вкладок. #181
  • 🐛 Исправлено отображение значков "T", "L" и "->" во вкладке Функции.
  • 🐛 Добавлена проверка путей автозапуска при запуске. #198 Теперь она проверяет пути ярлыка и задачи.
  • 📝 Добавлена клавиша Tab в "Переключать раскладки 1 клавишей". #182
  • 📝 Убрано переключение между всемя раскладками, когда текущая раскладка уже и есть нужная.
  • 🐛 Исправлено отображение неправильной иконки в подсказсках языка с JKL при запуске Mahou.
  • 🐛 Другие мелкие исправления с конверт последнего слова и сниппетами.
  • 🐛 Потенциальное исправление для #192.
  • 💎 Некоторый код упрощен.
  • 💎 Улучшены функции Автозамены и сниппетов.
  • 💎 Добавлена возможность назначать 2-словные сниппеты(и автозамены). пример: сниппет: ->как то====>как-то<==== результат: "как то" => "как-то"
  • 💬 Обнлвлены подсказки мыши возле "Смена раскладки в Конверт выделения.".
  • 🐛 Исправлено что GetNextLayout возвравшал последнюю раскладки, а не первую при break.
  • 💎 Добавлена возможность использовать "Смена раскладки в Конверт выделения." СРдВС. #200 СРдВС = Считать раскладку для всего слова в КВ. При совместном использовании будет производится реальная смена раскладки, без - "реально" раскладка не будет изменена, только текст.
  • 💎 Доабвлена возможность внедрять версию коммит для Mahou dev в сам Mahou.exe. #203 P.S. Только используя скрипт build.cmd (при git в путе), или вручную.
  • 🐛 Другие мелкие исправления.

v2.7.5.0

  • 📝 Упрощены проверки и убрана ненужная замена с Regex.
  • 💎 Добавлена загрузка разделителя плавающих значений шрифта и замена его при необходимости.
  • 💎 Упрощен код получения шрифта/цвета в функции загрузке конфигурации.
  • 🐛 Исправлено режим одной горяч. клавиши для конвертации выделенного и последнего: Теперь не вызывает неправильную раскладку после конвертации.
  • 🐛 Исправлена ошибка переключения раскладки перед конвертацией последнего: со включенной эмуляцией и сменой между раскладками, без этого исправления результат конверсии был бы в - перед-нужной раскладке а ПОСЛЕ конверсии текста раскладка стает нужной, а текст нет.
  • 🐛 Обновлены regex функции обновления.
  • 🐛 Добавлено исправления для функции угадывания раскладки слова, добавив несколько попыток.
  • 💎 Добавлена возможность изменять шрифт Заголовка и Текста в панели перевода.
  • 💎 Добавлена новая функция сниппетов: __paste(). Создана для быстрого ввода больших кусков текста, вместо того чтобы вводить каждый символ эта функция просто вставляет его.
  • 🐛 Потенциальное исправления для #189.
  • 🐛 Исправлено не запоминание раскладки при обычной смене раскладки через WinAPI.
  • 📝 Исправлена опечатка.

v2.7.3.1

  • 📝 Добавлено исправление редкого падения при запуске с языковыми подсказками.
  • 💎 Добавлен другой тип ввода BackSpace в истории ввода.
  • 💎 Добавлена возможность менять тип ввода BackSpace.
  • 🐛 Исповлена ошибка с нажатием BackSpace при пустой history.txt(истории ввода, с типом BackSpace стоящим на удаление)
  • 📝 Добавлены подсказка для функции тип BackSpace и истории ввода.
  • 💎 Добавлена функция "История ввода"(с поддержкой Backspace!).
  • 🐛 Исправлено проблема с панелью перевода.
  • 💎 Добавлена возможность установить свой словарь транслитерации. Дает возможность создать и редактировать свой словарь. Просто создайте(или запустите Mahou и он создастся автоматически) TSDict.txt рядом с Mahou.exe, и создавайте записи с таким синтаксисом: YA|Я т.е. разделение символом "|".
  • 🐛 Исправлена ошибка в функции Командных ключей.
  • 🐛 Добавлено исправление Ctrl+Alt+Delete, Ctrl & Alt были зажаты в коде Mahou (#184).
  • 📝 Добавлен ключ для перезапуска Mahou: Mahou.exe "/R" или "-R" or "R" не зависимо от регистра.
  • 🐛 Исправлен перевод нескольких языков в тот же язык, Испралвяет что иногда авто-определение языка не всегда верное, например: auto->ru и zh_cn->ru и ja->ru, потому что иногда Google Translate, думает что японский текст(без каны) - китайский.
  • 📝 Добавлено исправления для раскладки в конвертации выделения.
  • 🐛 Добавлена возможность переключения текста по >2 раскладках.
  • 📝 Добавлена информация о нерекоммендуемой функции: Смена раскладки в Конверт выделения(или +), и изменен ее текст в красный.
  • 🐛 Исправлена ошибка панели перевода при отсутствии интернета.
  • 📝 Добавлен Армянский флаг.
  • 🐛 Добавлено эксперементальное исправлене Alt+[любая] для горяч. клавиш.
  • 🐛 Исправлена загрузка из настроек ширины подсказки возле каретки.
  • 🐛 Исправлены неправельные utf-8 символы в запросе GTLink.
  • 📝 Панель перевода теперь показывает язык авто-определения в скобках <> в названии панели.
  • 🐛 Исправлена speech_url для панели перевода.
  • 💎 Добавлен Auray, многомерный массив как в JavaScript, но для C#.
  • 💎 Используюя Auray Панель перевода теперь переводит в ~30 раз быстрее 🚀 Используется прямой доступ к массиву с переводом, вместа удаленного google script(на JavaScript).
  • 🐛 Исправлена сохранение символа '=' в настройках, исправляет сохранения шрифтов.
  • 🐛 Исправлена сохранение настроек ширины подсказки возле каретки, сохранялось значение из подсказки мыши.
  • 📝 Опечатка.
  • 📝 Added sound code to any snippet.
  • 🐛 Fixed stop seraching next snippet aft any.
  • 🐛 Fixed out of index exception for ANY.
  • 💎 Добавлена возможность писать слово ANY в маленькие слова сниппетов для: того что этот сниппет срабатывал при любых буквах/символах, полезно для создания сниппетов похожих на HTML/XML тэги, например -><***ANY***>====><***ANY***>__cursorhere()</***ANY***><====, этот сниппет будут заменять все что будет начитанься на < и заканчиватся на >, на все что было введено в скобках и с завершением и функцией __cursorhere() ставит курсор между ними.
  • 📝 Улучшена функция __cursorhere, так что только последнее будет работать.
  • 🐛 Испрвлена дерегистрация LowLeveHook на другом потоке.
  • 🐛 Исправлена выгрузка таймеров при выходе.
  • 📝 Исправлено что шрифт загружался без стиля.
  • 📝 Исправлена совместимость функции Единая раскладка с JKL.
  • 💎 Добавлена функция __cursorhere в функции сниппетов.
  • 🐛 Исправлено отпускане модификаторов в: переключать раскладки по клавишам.

v2.7.0.0

  • 📝 Доабавлена возможность ввода кодов клавиш в hex стиле для функции __keyboard.
  • 📝 Доабавлена возможность ввода кодов клавиш для функции __keyboard.
  • 📝 Добавлена поддержка не зависимо от регистра названий клавиш.
  • 📝 Исправлено слишком быстрое выполнение клавиш в функции __keyboard разделенных пробелом.
  • 💎 Добавлена функция __execute в функции сниппетов.
  • 💎 Добавлена функция __keyboard в функции сниппетов.
  • 💎 Добавлена поддержка нескольких линий в панели перевода.
  • 🐛 Исправлена невозможность уменьшить количество языков перевода до перезапуска.
  • 📝 Исправлен показ окна перевода без никаких языков перевода.
  • 🐛 Исправлено поведений двойной горячей клавиши для перевода.
  • 💎 Добавлена функция переводчика.
  • 💎 Добавлена возможность показа перевода выделенного по двойному клику мыши.
  • 💎 Добавлена гор. клавиша для показа перевода выделенного текста (по умолчанию: Alt x2)..
  • 💎 Добавлена возможность выбора до 99 языков перевода (также как в смене раскладки одной клавишей - назначить гор. клавиши).
  • 💎 Добавлена функция или для сниппетов #177.
  • 💎 Добавлена функция "Функции в сниппетах" #176,#179.
  • 📝 Добавлено больше стандартных сниппетов (с функциями).
  • 📝 Добавлены старые флаги в репозиторий.
  • 💎 Добавлены новые звуки в репозиторий.

v2.6.7.7

  • 🐛 Исправлено что jkl не запускал jklx86 когда стартовая папка не папка jkl.
  • 🐛 Добавлена проверка на консольных окон перед сменой раскладки при JKL включенном. Это исправляет переключения раскладки в консольных программах с JKL интеграцией включенной когда в системе установлено 3 и более раскладок.
  • 📝 Добавлено обновление всех иконок(флагов) при поимке переключения раскладки с JKL.
  • 📝 Исправлена иницализация сниппетов/автозамены.
  • 🐛 Добавлена поддержка раскадки JKL в сниппетах.
  • 📝 Добавлена функция "Только чтение если нет доступа".
  • 🐛 Исправлен верхний регистр в вводе/сниппеты/автозамена с CapsLock вкл./выкл…
  • 📝 Изменена папка скачивания обновлений на %TEMP%.
  • 📝 Добавлены звуки в репозиторий. Они могут быть использованы в новой функции "Звуки" в Mahou. Звуки в репозиторие в папке snd.
  • 💎 Добавлена функция "Звуки".

v2.6.2.5

  • 📝 Добавлена информаци о версии, создателе и т.д. в бинарные файлы JKL (#172).
  • 🐛 Исправлена инициализация главных 2 раскладок при первом запуске Mahou (#171).
  • 🐛 Исправлена смена раскладки без эмуляции с включенной интеграцией JKL на Win7 (#171).
  • 📝 Исправлена ошибка при запуске Mahou когда в системе установлено менее 2 раскладок (#167).
  • 🐛 Исправлена ошибка при запуске когда пользователь не имеет прав на запись в главной папке Mahou (#167).
  • 📝 Сменена папка расположения генерации umsg.id в %Temp%, (#167). т.к. есть вероятность что пользователь не имеет прав на запись в главной папке Mahou.
  • 🐛 Исправление для "📝 Сменена папка расположения генерации umsg.id в %Temp%.", теперь реально генерирует umsg.id в %TEMP%.
  • 🐛 Исправлен запуск jkl/jklx86 из-за установки рабочей папки при их запуске на %TEMP%, теперь используются полные пути.

v2.6.2.0

  • 💎 Добавлена поддержка jkl.exe(монитор реальных изменений раскладки).

  • 🐛 Исправлена клавиша развертывания сниппетов как Tab, теперь развертывание происходит только если сниппет не пуст, иначе вводится Tab.

  • 🐛 Добавлены исправления для различных методов смены раскладки с интеграцией с JKL.

  • 💎 Добавлено исправление для поведения консольных приложений в Windows 7 в мониторинге смены раслкадок JKL.

  • 📝 Исправлено что JKL не запускался когда функция Конфигурации в AppData была включена.

  • 📝 Добавлено исправление при переключении между консольными окон при включенной интеграции JKL.

  • 📝 Добавлено исправление исключения NullReference в нативном коде.

  • 📝 Добавлена проверка всех файлов JKL и информация об отсутствующих в подсказке над галочкой.

  • 📝 Добавлен префикс "[JKL] >" для сообщений логгинга связанных с JKL.

  • 🐛 Исправлено время таймаута для ожидания umsg.id при запуске JKL.

  • 🐛 Исправлены пустые линии в логгинге в DEBUG/VSCDEBUG режимах сборки Mahou.

  • 🐛 Исправлено устанавливание модификаторов в коде Mahou при их отпуске(из Mahou).

  • 🐛 Убрана необходимость отпуска модификаторов горячих клавиш которые не делают никаких текстовых манипуляций, т.е. Показать/Скрыть/Выйти/Перезапуск Mahou/Языковой панели и т.д.

  • 🐛 Исправлено определение начальной раскладки консольных окон при их активации в JKL.

  • 🐛 Добавлено убирание таймера ожидания для обновления при запуске если нет соединения с интернетом.

  • 🐛 Исправлено что Mahou иногда не мог найти umsg.id из JKL.

  • 📝 Добавлена интеграция JKL в подсказки языка, и их обновление при смене раскладки.

  • 💎 Добавлено несколько способов удаления старых файлов JKL при обновлении(В большинстве случаев хватает простого удаления, но если оно не срабатывает то тогда идет другой способ, подробности в коде и в issue #105).

  • 💎 Добавлена возможность запусать jklx86.exe самостоятельно, полезно для систем с x86 архитектурой.

  • 💎 Добавлена интеграция и правильная работа x86 JKL в системах с x86 архитектурой.

  • 🐛 Исправлено что JKL не генерировал umsg.id в папке Mahou.

  • 🐛 Исправлена ошибка в ловле букв для сниппета происходившая при отпускании клавиши.

    Раннее если вы отпустите Shift перед тем как отпустите буквенную клавишу Mahou поймает неправильную букву(нижний регистр)...

v2.5.9.3

  • 📝 Исправлены ошибка соединения с GitHub при обновлении. (#170)

    Произошло из-за того что GitHub поменял свой сертификат доступа к сайту на более безопасный...

  • 🐛 Исправлена работа Tab как клавиша развертываня сниппета, происходящая из-за его очистки ранее. (#169)

  • 💎 Добавлена функция "Получать раскладку с панели задач". (#168)

  • 🐛 Добавлено исправление неправильного флага при включенной функции эмуляции переключения раскладки.

  • 💎 Исправлено что конвертация выделенного не работала для более чем 2 раскладках.

  • 🐛 Исправлено исправление позиции подсказки языка возле каретки в Firefox.

  • 💎 Добавлено исправление позиции подсказки языка возле каретки в Firefox для браузеров основаных на Chromium/Electron.

  • 🐛 Исправлено что подсказка языка возле каретки не отображалась в Firefox(57+).

  • 💎 Добавлен метод Ctrl+Shift для функции "Менять раскладку 1 клавишей".

  • 📝 Исправлена ошибка возникающая при получении имени процесса, который уже не существует.

v2.5.9.0

  • 📝 Обновлен RegEx по которому берется размер AS-Dict в zip.

  • 📝 Изменено максимальное количество символов в уведомлении об обновлении на 640 букв, и в конце показана ссылка на архив. (исправляет #148)

  • 💎🚀 Сильно улучшена функция постоянной раскладки.

    Теперь использует в 20-30 раз меньше ЦП(использует тот же метод как и в программах исключениях).

  • 📝 Перемещены программы исключения в отдельную вкладку.

  • 💎 Добавлена новая функция-исправление-для-какой-то-программы во вкладке тайминги.

v2.5.8.8

  • 📝 Лучшее исправление при смены раскладки Alt+Shift/Win+Space для обновлении флагов.

  • 🐛 Исправлелно что подсказки языков не обновлялись по горячим клавишам конвертаций.

  • 💎 Абсолютно новые 15 флагов полностью перерисованные от BladeMight!

  • 📝 Рефактор кода.

  • 💎🚀 Сильно оптимизирована функция программы исключения.

    Из-за нее раньше очень сильно нагружался ЦП при вводе символов, т.к. в хуке каждый раз делались сильно ЦП затратные проверки, теперь же все стало потреблять в 50~60 раз меньше, до оптимизации: ЦП: 6-8% => ЦП: 0,12-0,41.

  • 📝 Добавлена информация о том что обновление из Mahou версий ранее 2.5.7.6 больше не работает т.к. обновился GitHub.

v2.5.8.0

  • 🐛 Исправлена ошибка с программами исключениями, происходящяя из-за того что некий процесс завершил работу слишком быстро.
  • 🐛 Исправлена ошибка сохранения модификаторов горячей клавиши конвертации выделенного в случайный регистр(использовались модификаторы из гор. клавиши "в заглавный регистр").
  • 💎 Исправлена ошибка с несколькими пробелами в Конвертациях выделенного.
  • 📝 Новый способ разделения слов, новый способ получения слова по индексу буквы в линии.
  • 🐛 Исправлена ошибка возникающая при переключении раскладки по Alt+Shift/Win+Space и т.д. делая так что Mahou ставил неправильный флаг. (исправляет #160)

v2.5.7.6

  • 🐛 Исправлено что функция настройки в AppData не читалась при запуске(после добавления нового типа чтения/сохранения настроек).
  • 🐛 Исправлена ошибка с проверкой обновлений.
  • 🐛 Исправлена ошибка глобальной/текущей(в коде) раскладки в Mahou.
  • 🐛 Исправлена утечка ресурсов иконок флагов, которое при смене раскладки увеличивало GDI обьекты в памяти.
  • 🐛 Исправлено корректное обновление при включенной функции конфигурация в AppData.
  • 🐛 Исправлена ошибка нового типа чтения/сохранения настроек возникавшая когда в файле настроек не было нужных значений.
  • 🐛 Исправлено что функция настройки в AppData не копировала настройки в AppData при первом включении.
  • 📝 Исправлено переключение на русский язык при первом запуске.
  • 🐛 Добавлена ловля ошибок при проверке исключении процесса.

v2.5.6.7

  • 📝 Исправлено отпускание модификаторов для всех горячих клавиш, теперь отпускаются только для горячих клавиш конвертаций.
  • 📝 Удалены ненужные строки языков для функции Перезапуск Hook'ов.
  • 💎 Добавлен новый метод сохранения/загрузки ini файлов работающий в памяти, а не обращается каждый раз к диску как прежний метод из WinAPI.
  • 🐛 Исправлены разные проблемы с Языковой Панелью.
  • 💎 Добавлен Эстонский флаг.
  • 📝 Восстановлено позднее-исправление CapsLock(позднее потому-что через RawInput слушатели, печально: low-level хуки из Mahou не работают ни в одном окне Mahou... даже в языковой панели...).
  • 🐛 Исправлено что Mahou считал количество сниппетов/слов автозамены когда те выключены.
  • 🐛 Исправлены разные проблемы с доступом к еще не инициализированному(runtime) Mahou.
  • 🐛 Исправлена работа перезапуска Mahou при функции Настройки в AppData включенной.
  • 🐛 Исправлена загрузка(тех что в AppData) сниппетов при запуске если включена функция Настройки в AppData.
  • 🐛 Исправлено что сниппеты/словарь автозамены мог быть перезаписан при запуске если включена/выключена функция.
  • 💎 Добавлен более спокойный способ перезапуска/закрытия Mahou (функция PreExit, в коде).
  • 🐛 Исправлено что счетчики сниппетов/слов были всегда активны.
  • 🐛 Исправлено что словарь автозамены инициализировался даже если функция сниппетов была отключена(зависимость).

v2.5.6.3

  • 🐛 Исправлена проблема с Low Level Hook'ом которая заключалась в том что сохраненное состояние клавиш модификаторов не сбрасывалось когда они отпускались(нужно для конвертаций) через Mahou, что приводило к полному отключению функции Caps-Lock как F18.
  • 📝 Добавлено логирование ошибок Low-Level Hook'а.

v2.5.6.2

  • 🐛 Исправлена ошибка нескольких Low-Level хуков, которая сильно снижала производительность.
  • 🐛 Исправлена ошибка с обновлением Панели Языка.

v2.5.6.0

  • 🐛 Исправлено исправление работающиее только для Windows 10, командная строка и клавиша Pause.
  • 📝 Изменены позиции контроллов в интерфейсе.
  • 📝 Установлен страндартный цвет текстовых форм во вкладке О.. и Обновления на цвет Окна.
  • 💎 Добавлена возможность тихого обновления.
  • 🐛 Исправлена ошибка бесконечного тихого обновления.
  • 📝 Исправлено ненужная включенность таймера обновления иконки в трее если она скрыта.
  • 💎 Добавлена возможность - постоянная раскладка только при смене окон.
  • 💎 Добавлена возможность - постоянная раскладка только при смене окон единожды для каждого окна.
  • 🚀💎 Оптимизирована скорость/память сниппетов/автозамены.
  • 📝 Обновлен перевод.
  • 💬 Добавлено 2 новые подсказки.
  • 📝 Другие оптимизации памяти.
  • 📝 Другие маленькие упрощения кода.
  • 🐛 Исправлен серьезный баг двойного DoSelf, воспроизводимый Авто-Заменой при функции "Caps-Lock как F18" включенной.

v2.5.5.4

  • 📝 Отключен таймер отключатель CapsLock по умолчанию.
  • 📝 Добавлено исправление для поддержки функции CapsLock как F18 в функции Программы исключения.
  • 📝 Изменен тип выбора для списка выбора типа для типа автозапуска.
  • 📝 Добавлена очистка модификаторов при показе/скрытии окна Mahou(еще одно исправление для функции нажатия заново модификаторов...)
  • 💎 Добавлена новая функция "Считать 1 Enter частью последнего слова".
  • 💎 📝 Немного упрощен код.
  • 📝 Журналирование теперь отображает причину очистки последнего слова/линии/текущего сниппета.(в квадратных скобках).
  • 🐛 Исправлен очистка последней линии в функции "Считать 1 Enter частью последнего слова".
  • 🐛 Исправлено редкое зависание модификаторов после действий горячих клавиш.
  • 📝 Обновлен перевод.
  • 💬 Добавлена 1 новая подсказка.
  • 🐛 Исправлен серьезная проблема связанная со скоростью конвертации, появившейся после функции "Считать 1 Enter частью последнего слова".

v2.5.5.0

  • 💎 Добавлена функция переопределения CapsLock как F18.
  • 💎 Улучшена функция "Смены раскладки 1 клавишей" для поддержки CapsLock как F18.
  • 📝 Добавлено исправление для Google Japanese IME в функции "Смены раскладки 1 (гор.) клавишей".
  • 🐛 Исправлена двойноя работа функции "смена раскладки 1 клавишей".
  • 📝 Добавлен новый класс LLHook.cs (Low-Level hook)
  • 💬 Добавлена подсказка.
  • 📝 Обновлен перевод.
  • 🐛 Исправлена неправлильная раскладка в Mahou при смене системной горячей клавишей в некоторых случаях.
  • 💎 Добавлен новый способ обновления подсказок языка - по сообщениям Windows(вместо таймеров).
  • 📝 Добавлено обновление позиции подсказок языка после окончания развертывания сниппетов при обновлении по сообщениям Windows включенной.
  • 🐛 Исправлено что "->" между ====> и <==== считался началом сниппетов.
  • 📝 Исправлены ошибочные позиции контроллов в интерфейсе.
  • 📝 Обновлен перевод в соответсвии с реальностью.
  • 💎 Добвлен слушатель сообщения Windows фокуса для подсказок языка.
  • 🚀 Улучшена скорость обновления вида подсказок языка при разном виде для раскладок включенном.
  • 💎 Уменьшено потребление ЦПУ для подсказок языка при включенном способе обновления через сообщения Windows.
  • 🚀 Улучшена скорость получения позиции подсказки для каретки.

v2.5.2.4

  • 💎 Добавлена возможность назначить Tab для развертывания сниппетов.

v2.5.2.3

  • 🐛 Исправлено что конфигурация не читала больше 255 букв(полезно для функции смены раскладки гор. клавишами).
  • 📝 Изменен тип выбора для списка выбора типа обновления.
  • 🐛 Исправлена ошибка при не выбранном типе смены раскладки гор. клавишей #140.

v2.5.2.1

  • 💎 Добавлен новый метод "смены раскладки 1 клавишей".
  • P.S. Оба метода смены раскладки 1 клавишей работают одновременно(вместе)!
  • 🐛 Исправлены некоторые баги в смена раскладки 1 клавишей.
  • 📝 Обновлен перевод.
  • 💬 Добавлена 1 новая подсказка.

v2.5.1.4

  • 🐛 Исправлено сохранение типа авто-запуска.
  • 📝 Добавлена возможность скрытия флагов для функции разного вида раскладок подсказок языка. #135
  • 📝 Исправлено сбрасывание позиции списков.
  • 📝 Исправлена конвертация "щ" в словаре транслитерации.
  • 🚀 Улучшена скорость транслитерации.
  • 💎 Добавлена возможность переписи сниппетов функциями конвертации слова/линии.
  • 🐛 Добавлена проверка на возможность создания/чтения настроек Mahou.ini при запуске. #134
  • 💎 Улучшена функция проверки настроек при запуске, теперь Mahou будет предлагать переключиться на настройки в %AppData%, когда не может создать/прочитать Mahou.ini который находиться там где Mahou.exe. #138
  • 🐛 Исправлена функция проверки настроек при запуске, теперь сохраняется после перезапуска.

v2.5.1.0

  • 🐛 Добавлена возможность назначить 1 клавишу на Конверт последнего слова/выделения/линии(двойная гор. клавиша).
  • 🐛 Заменен способ получения позиции каретки на GetGuiThreadInfo.
  • 💎 Добавлена возможность включать Эмулировать переключение раскладки и Переключать между раскладками вместе, это исправляет зависания приложений вроде MSOffice2016. подробнее на Wiki
  • 💬 Обновлены подсказки функций Эмулировать переключение раскладки и Переключать между раскладками.

v2.5.0.5

  • 🐛 Исправлена пере-инициализиция сниппетов.
  • 🐛 Исправлена проблема игнорирования комментариев в сниппетах.
  • 📝 Добавлена поимка ошибки "снипппет не имеет большого слова".
  • 📝 Добавлено игнорирование пустых линий в сниппетах.
  • 📝 Исправлена ошибка с строками в которых только 1 символов.
  • 📝 Обновлен AS_dict путем поиска дубликатов обратного преобразования в словарях "!English-big.txt" и "!Russian-big.txt" с помощью dduf.sh: [аут]<->[fen], [внук]<->[dyer], [еще]<->[tot], [зги]<->[pub], [кум]<->[rev], [нут]<->[yen], [пуд]<->[gel], [уда]<->[elf] Удалены (некоторые просто закомментированны) те которые менее популярыне.

v2.5.0.1

  • 💎 Добавлен счетчик закомментированных линий в счетчике сниппетов.
  • 💬 Обновлена подсказка счетчика сниппетов.
  • 🐛 Добавлена возможность записать в лог ошибку о том что лог занят другой программой или недоступен.
  • 📝 Восстановлены Thread.Sleep()'ы. (Без них некоторые функции(работающие с буфером обмена) плохо работали в некоторых приложениях.)

v2.5.0.0

  • 📝 Теперь в функции программы исключения исключаются сниппеты и автозамена.
  • 💎 Добавлена поддержка и функция отсылания виртуальный кодов клавиш из текстовых вводов функцией SendInput(сниппеты, автозамена, конверт выделения и т.д).
  • 📝 Добавлена фикс смены раскладки в BlueStacks по Ctrl+Space.
  • 📝 Теперь инициализация сниппетов идет в другом потоке, благодаря чему не замораживается пользовтельский интерфейс при инициализации.
  • 💎 Добавлена функция "Конфигурация в AppData".
  • 🚀 Улучшена скорость инициализации сниппетов/словаря автозамена на ~30%.
  • 📝 Добавлено правило - не пере-инициализировать сниппеты если количество сниппетов не изменилось(если Вам реально нужно принудительно пере-инициализировать сниппеты/словарт автозамены тогда просто перезапуститесь).
  • 🚀 Улучшен и ускорен метод подсчета/проверки на ошибки сниппетов/словаря автозамены.
  • 🚀 Добавлено сохранение словаря автозамены в память(RAM), чтобы не читать с диска при пере-инициализиции.
  • 🚀 Добавлен лимит отображения словаря автозамены, если словарь превышает лимит, то будет просто написано что словарь слишком большой для отображения.
  • 🐛 Исправлен баг автозамены если словарь не инициализирован.
  • 🚀 Еще сильнее ускорен метод подсчета/проверки на ошибки сниппетов/словаря автозамены.
  • 🚀 ОЧЕНЬ БОЛЬШОЙ прирост в скорости инициализации сниппетов.
  • 💎 Большое обновления словаря автозамена, теперь включает более 150000 слов(версии Mahou раньше этой(2.5.0.0) могут зависать или даже вылетать с таким словарем).
  • 💎 Добавлена галочка чтобы можно было скачать словарь автозамены в zip.(AS_dict.zip)
  • 💎 Добавлена проверка размера загружаемого словаря автозамены(zip или txt) при первом нажатии на кнопку обновить словарь, при втором нажатии скачивается.

v2.4.5.0

  • 📝 Улучшено регулярное выражения взятия коммита, теперь поддерживает тэги.
  • 📝 Добавлена поддержка работы в нескольких аккаунтах Windows, теперь Mahou работает во всех аккаунтах!
  • 🐛 Исправления выбора функции смены раскладки после смены языка интерфейса.
  • 💎 Добавлено Alt+Shift в функцию сменить язык 1 клавишей.
  • 📝 Переименован snippets.txt(в репозиторие) в AS_dict.txt.
  • 💎 Обновлен AS_dict.txt теперь он содержит 10000+ русских и 10000 английских слов.
  • 💎 Добавлена функция Автозамены.
  • 💬 Добавленя 1 подсказка.
  • 💎 Добавлена кнопка: обновить словарь автозамены.
  • ✨ Добавлен счетчик сниппетов/слов в функциях автозамены/сниппетов, также он показывает есть ли ошибки(когда красный).
  • 📝 Обновлена вкладка О....
  • 📝 Добавлен таймерный способ проверки правильности сниппетов.
  • 💎 Автозамена и сниппеты разделены в коде, также добавлено правило ингорирования регистра в функции автозамены.
  • 🐛 Исправлен недостоющий символ ! в коде, из-за чего функция сменить язык 1 клавишей назначенной на Caps-Lock не работала.
  • 📝 Другие мини улучшения кода.

v2.4.0.8

  • 🐛 Исправлено что таймеры CapsLock/ScrollLock регистрировали горячие клавиши при вкладке гор. клавиш активной, из-за чего почти невозможно было настроить конвертацию выделения и последнего слова на 1 гор. клавишу.
  • 📝 Добавлено исправление для IP адрессов в конверсии выделения.
  • 💎 Улучшена функция авто-запуска, добавлено новый тип авто-запуска - создать задачу в Планировщике.
  • 🐛 Убрано более не нужное исправление мистического отпускания LCtrl из PostMessage, баг более не встречается в RawInput слушателях(неубиваемая альтернатива low-level HOOK'ов).

v2.4.0.5

  • 💎 Добавлена функция переключения на предполагаемую раскладку после конвертации сниппета.
  • 🐛 Исправлено что прокси не работало если поле пароля было пустым.
  • 🐛 Исправлено когда CapsLock/ScrollLock назначены как гор. клавишы вызывались таймерами.
  • 🐛 Исправлено что WM_INPUT не разделял L/R модификаторы.
  • 🐛 Исправлено конфликт гор. клавиш конвертации с модификаторами и функцией смены раскладки 1 клавишей.
  • 🐛 Исправлено что последние слова/линия очищались если гор. клавиша с Ctrl модификатором.
  • 🐛 Исправлено конфликт функции "нажимать заново модификаторы после действий гор. клавиш" с модификаторами и функцией смены раскладки 1 клавишей.

v2.4.0.0

  • 💎❇💎❇ Low-level hook'и заменены RawInputDevices слушателями(WM_INPUT).
  • 📺 Добавлена возможность конветраций в окне Mahou(но не во вкладек горячих клавиш.).
  • 💎 Улучшен логгинг, теперь логгинг ведеться на отдельном потоке, благодаря чему не тормозит главный поток.
  • 💬 Изменено правило "если меньше 2 раскладок" в подсказку в трее, добавлено действие при нажатии на подсказку, и убран выход из программы из-за правила.
  • 📝 Логи теперь сохраняются с расширением *.txt.
  • 💎 Добавлена возможность каналов обновлений.
  • 💎 Добавлен канал обновлений latest-commit.
  • 💎 Добавлена функция "Добавлять 1 пробел после сниппетов."

v2.3.5.4~v2.3.5.6

  • 💎 Добавлена поддержка Ctrl+A(выделить всё) для многострочных текстовых форм.
  • 📝 Увеличено максимальное количество отображаемых символов в сниппетах.
  • 🐛 Испрально прерывание конвертации при одинаковых словах в конвертации выделения с "Считать расклдлаку для всего слова" включенной.
  • 🐛 Исправлено съедание линий в конвертации выделения в некоторых программах.

v2.3.5.1~v2.3.5.2

  • 💎 Исправлена проблема конвертации выделения в обычном режиме(из-за лишней ; в коде).
  • 💎 Восстановлена поддержка getconkbl.dll. P.S. Также есть pack Mahou и getconkbl.dll в этом релизе на github.

v2.3.4.4~v2.3.5.0

  • 💎 Добавлено исправление для QWERTZ клавиатур. #107
  • 💎 Добавлено исправление смерти хука при нажатии на применить.(не подтверждено). #102
  • 💎 Исправлено правило очистки слов по Alt+Tab.
  • 💎 Исправлено совместимость при назначении на одну горяч. главишу конвертации выделения и последнего слова. #104
  • 💎 Добавлено исправление пробелов для имен файлов в Mahou(заменяйте пробел на _).
  • 🐛 Исправлена работа функции программ исключений. #101
  • 🐛 Добавлено исправление в KMHook, ожидание инициализации MMain.mahou.
  • 🐛 Исправлена ошибка двойных hook'ов.
  • 🐛 Исправлено запоминание позиции галочки в горяч. клавишах. #108
  • 💎 Исправлено включение неправлильной вкладки при проверке обновления при запуске и нажатии на ок.
  • 💎 Добавлена возможность разделять имена процессов линиями.
  • 💬 Добавлены новые подсказки.
  • 💎 Имена процессов теперь не зависят от регистра.
  • 💎 Mahou теперь имеет 2 строки с вкладками.
  • 💎 Добавлена возможность включить переключение раскладки 1 клавишей даже в исключенных программах. #109

v2.3.4.0

  • 💎 Добавлена прокрутка вкладок по колесику мыши в главном окне.
  • 💎 Добавлена функция индикатора регистра ввода для языковых подсказок и языковой панели.
  • 📝 Мелкие исправления в переводах.

v2.3.3.3

  • 💎 Новая возможность - Панель языка. (она использует код из JustUI)
  • 💎 Новая горячия клавиша - Показать/скрыть панель языка.
  • 🐛 Исправлены некоторые ошибки интерфейса.

v2.3.1.7

  • 🐛 Исправлена несовместимость прозрачного фона и функции флагов в подсказках языка.
  • 🐛 Исправлено зависание позиции подсказки каретки в Firefox после прокрутки колесиком.
  • 🐛 Исправлена проблема запуска Mahou без Mahou.ini.
  • 🐛 Исправлена несовместимость диалогового окна удаления файлов с подсказкой каретки в Windows 10.
  • 🐛 Исправлена ошибка приводящая к остановке смены флагов в трее.

v2.3.1.4

  • 🐛 Исправлена серьезная ошибка x64 в из версии 2.3.1.3.
  • 🐛 Исправлен конфилкт подсказки языка в виде флага с функцией флагов в трее.

v2.3.0.7~v2.3.1.3

  • 💎 Добавлена новая функция - Единая раскладка для всех программ.
  • 💎 Добавлена новая возможность - Всегда показывать подсказку языка возле мыши.
  • 💎 Добавлена новая функция - Флаги в подсказках языка.
  • 💎 Добавлено мини исправление для функции перезапуска HOOK'ов.
  • 🐛 Исправлена проблема в с двойными горячими клавишами состаящих только из модификаторов.

v2.3.0.6

  • 💎 Исправлена серьёзная ошибка функции Конвертации нескольких слов из версии 2.3.0.5.

v2.3.0.5

  • 🐛 Исправлена серьёзная несовместимость подсказки языка лампочкой Scroll-Lock и функции Конвертации нескольких слов настроенной на Scroll-Lock.
  • 🐛 Исправлено неожиданное отключение двойных горячих клавиш в 2.3.0.0.
  • 🐛 Испралено невозможность запустить Mahou из-за неверных настроек шрифтов(или их отсутствия в системе) и цветов в Mahou.ini.
  • 📝 Исправлены некоторые опечатки в русском языке интерфейса.
  • 🐛 Исправлена очистка введенных слов при Ctrl+Любая клавиша, теперь Mahou не очищает слова если Любая клавиша - модификатор.

v2.3.0.0

  • 💎 Добавлена функция перезапуска HOOK'ов.
  • 💎 Переписан способ регистрации горячих клавиш.
  • 💎 Добавлена поддержка AltGr для функции Переключать раскладки по клавишам.
  • 💎 Обновлена функция конвертации нескольких слов для поддержки нового способа регистрации горячих
  • ...

v2.1.2.6

  • 💎 Добавлена функция постоянной раскладки для процессов.

v2.1.2.0~v2.1.2.3

  • 💎 Добавлена поддержка getconkbl.dll, который позволяет получить правильную раскладку в консольных приложениях. ТОЛЬКО x86 версии обоих(Mahou и getconkbl.dll) поддерживаются. (вы можете взять dll отсюда, поставьте ее в папку где находится Mahou.exe, возможно потребуется перезапуск Mahou)
  • 🐛 Исправлены проблемы связанные с восстановлением буфера.
  • 💎 Добавлена Shift+CapsLock к переключеать раскладки по клавишам.
  • 💬 Обновлен способ показа подсказок, 🚀 теперь быстрее показывается, и таймаут исчезания - 20 сек.
  • 💎 Обновлен способ локализации.

v2.1.1.2~v2.1.1.6

  • Обновлена wiki.
  • Добавлена функция Считать раскладку для всего слова в КВ которая прекрасно конвертирует выделенный текст в котором есть слова с символами.
  • Добавлено правило — не переключать раскладку в функции Переключать раскладки по клавишам если до отпуска клавиши была надата кнопка мыши.
  • Исправлено включение CapsLock'а при выключенном таймере отключателе CapsLock по Ctrl+CapsLock.
  • Исправлено что символы и цифры с Numpad(Я не про Alt+Numpad) не ловились в текущее слово.

v2.1.1.1

  • Добавлена возможность изменить текст для подсказок языка.
  • Исправлено восстановление текста который был в буфере обмена перед конвертацией выделенного в некоторых приложениях(MS Office 2016 и т.д.).
  • Исправлен вид для остальных раскладок при включенной функции Использовать разный вид для раскладок.
  • Обновлено отладочная информация, теперь включает тэги <details> и <summary> для создания спойлеров для чтобы уменьшить занимаемое место в комментариях на GitHub. Данные прокси из Mahou.ini теперь не включаются в отладочную информацию.
  • Исправлено сохранение данных прокси.
  • Добавлено скрытие вида пароля прокси и шифрование пароля в файле настроек.

v2.1.0.4

  • Добавлена поддержка MCDS, который добавляет возможность отображения подсказки языка возле каретки в Sublime Text 3.
  • Добавлена функция прогамм-исключений.

v2.0.0.3

  • Улучшено циклическое переключение раскладок. Теперь поддерживает приложения вроде WordPad и Skype(форма ввода сообщения).

v2.0.0.0

  • Обновлен интерфейс.
  • Сильно улучшены функции использующие таймеры.
  • Добавлена очистка памяти, теперь Mahou потребляет ~5МБ ОЗУ.
  • Добавлены функции конверсии регистра текста.
  • Много исправлений.

v1.5.2.0

  • Добавлено фунция отображения флагов стран в трее.

v1.5.0.0

  • Добавлена функция отображения подсказки текущего языка рядом с позицией каретки (текстового курсора).
  • Добавлена возможность выбора разных цветов/шрифтов для разных раскладок в подсказках языка.

v1.4.4.1

  • Добавлена функция Отладочная инф. (Debug Info), которая копирует отладочную информацию в буфер обмена.

v1.4.3.2

  • Добавлена функция логирования (журналирования) для поиска ошибок.

v1.4.3.0

  • Переписана функция конверт линии для поддержки новой функции Конверт нескольких последних слов.

v1.4.2.1

  • Добавлена возможность отключения проверки обновления при запуске (полезно для пользователей Chocolatey, т.к. там есть cup all -y).

v1.4.1.7

  • Добавлена возможность подсветки Scroll Lock при активном языке 1.

v1.4.1.6

  • Добавлена возможность ввода символов Alt+Numpad с их последующей конвертацией.

v1.4.0.0

  • Добавлена возможность установки сниппетов (автозамена слов на другие слова/куски текста).

v1.3.1.0

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

v1.3.0.0

  • Добавлена возможность двойных горячих клавиш (2xShift, и т.д.).

v1.1.5.6

  • Добавлена маленькая подсказка текущего языка при наведении мыши на текст.

v1.1.2.0

  • Добавлен движок языков и русский язык.

v1.1.1.0

  • Добавлена возможность Расширенная настройка CTRL'ов.

v1.1.0.0

  • Добавлена возможность Авто-Восстановления ТЕКСТА для Конверт выделения.

v1.0.9.6

  • Возможность Use Alt+Shift in CM улучшена в Эму (которая более настраиваемая).

v1.0.8.7

  • Добавлена возможность "" " ← (Съесть один Space).

v1.0.7.9

  • Новый, более совместимый способ сохранять/загружать настройки.

v1.0.4.7

  • Возможность Обновление улучшена в Авто-обновление (Auto Update).

v1.0.4.2

  • Добавлена возможность Обновление (Update).

v1.0.4.0

  • Добавлена возможность Конверт линии (Convert Line).

v1.0.2.9

  • Добавлена возможность Циклич. режим (Cycle Mode) которая переключает раскладки циклично. Применимо к CapsSwitch.

v1.0.0.7

  • Добавлена возможность CapsSwitch - возможность переключать раскладки нажатием CapsLock.

v1.0.0.4

  • Добавлена возможность изменять горячие клавиши для Конверт слова (Convert Last) & Конверт выделения (Convert Selection).

English

Mahou (魔法) - The magic Layout Switcher.

How it works

Mahou works like You want, configure it as you wish, by default it switches not by next layout, but by specified in settings layouts.
Even selected text switches just between selected layouts, though if you liked cycling through, starting from v1.0.2.9 there is Cycle Mode, in v2.0.0.0 and above to activate it you just need to disable function Switch between layouts. By default Mahou stores configurations in folder where Mahou.exe is, but there is a function that makes Mahou store them in %AppData%.

Mahou requires .Net 4.0 or greater to work properly. Beginning from v1.4.3.9 error when running on .Net 4.0 were fixed.

Features

❗️ Updates from lesser than Mahou-v2.5.7.6 won't work, because GitHub has updated, and method to update used in there won't work anymore.

How to use:
  1. To convert selection hit Scroll when select text.
  2. To convert input hit Pause when typing.
  3. To convert line hit Shift+Pause.
  4. To change layout by one key press CapsLock.
  5. Starting from v1.0.4.4 in Convert selection unrecognized text by all selected layout in settings (example: ♥) just rewrites.
  6. Read the wiki or ask me.

Hotkeys

  • Pause - Convert last input.
  • Scroll - Convert selection.
  • Shift+Pause - Convert last inputted line.
  • Scroll - Convert selected text.
  • Shift+F11 - Convert multiple last words, to select quantity press 1-9(0 = 10) after hotkey on keyboard(not NumPad)..
  • Shift+F9 - Toggle language panel visibility.
  • Ctrl+Shift+Alt+Win+Insert - To toggle configs windows visibility.
  • Shift+AltPageUp - Restart Mahou.
  • Ctrl+Shift+Alt+Win+F12 - To exit Mahou.
  • Other hotkeys disabled by default or have description in Mahou.

Beta or "version with latest changes "(aka latest-commit) here

Using Chocolatey? type cinst Mahou to install.

Wiki

Check out Mahou Wiki.

License

Mahou is under GPL v2+

Contact

If you found an issue or have an idea how to improve Mahou write here or contact me though email (You can ask anything)

Donate

If you think that you want to help financially, I will be very grateful :)

Wallets:

By version features:

v2.8.0.0

  • 💎 Added restart menu item to tray.
  • 📝 By ver. features moved lower.
  • 🐛 Fixed alt-num wasn't pressing alt before input.
  • 🐛 Added error check for write history. #217
  • 📝 Added folder write error check at startup.
  • 📝 Changed draw AA to system default.
  • 📝 Readonly tray display type combobox.
  • 💎 Added layout text in tray feature. #218
  • 💎 Tray display overhaul, now you can choose what to display.
  • 💬 Added tooltip.
  • 📝 Dictionary updated by big+custom.
  • 📝 Added "нормально" to dictionary.
  • 🐛 Fix for ScrollTip in CMD.exe with JKL.
  • 🐛 Fix for clipboard text get by Ctrl+C if RCtrl+Insert fails. #216
  • 📝 AS_dict update, [big+custom].
  • 📝 Added рук* rules.
  • 💎 Added fix for Multi-layout AutoSwitch rules. 2 Now if there are rules such as "here" and "руку", they will switch to 3 the layout of last inputted word, or if there were no last inputted 4 word they will switch to another.
  • 📝 Added logging types at start of some logging.
  • 💎 Added L/R mouse button link opening.
  • Left - open file, Right - open directory.
  • 💬 Added tooltips to "Open" links.
  • 💎 Added more "Open" links, for Configs and Logs.
  • 📝 Simplified link opening code.
  • 🐛 Fix for JKL layout detection on window focus.
  • 📝 Not only on JKL should change L when winfocus.
  • 🐛 sinputs instead of intputs.
  • 🐛 Fixed compatibility between AS and Snippets add 1 SPACE.
  • 🐛 Fixed issue with Snippets, causing not to work properly(due to recent update to KInputs).
  • 💎 KInputs overhaul.
  • 🐛 Fixed AutoSwitch with Eat One Space function.
  • 📝 Other minor improvements.
  • 📝 Added FreeLibrary after unHook in JKL. This may cause Windows to unload JKL dlls from other processes, since: "Windows keeps a loaded count for DLLs and only when it goes to zero does it unload the DLL"
  • 🐛 Improved OS detection.
  • 🐛 Added Win+CapsLock toggle when CapsLock assigned on some action
  • 📝 Added clear c_word(s) on Win+(0-9).
  • 📝 Added refresh icons on clear words.
  • 🐛 uint is safer than UIntPtr on x64/AnyCPU. UIntPtr on x64/AnyCPU(x64) not works.
  • 🐛 Replaced PostMessage with SendMessage. Sometimes PostMessage stops working until reboot(W7). Which cause impossible to change layout non-emulation way, causing not to work the Convert Last Word/Line functions.
  • 🐛 Added logging, in order to find more info about: "Mysterious Convert Last Word/Line stop working."
  • 📝 Simplified code about upper add to c_word(s).
  • 💎 Added compatibility between hotkeys and F18.
  • 📝 Double check if latest-commit checking.
  • 📝 Update regex version, to achieve the latest-commit as well.
  • 💎🐛 Added fix for extended keys.
  • 🐛 Added fix for alt-stuck, probably will affect #81.
  • 💎 Added another fix for last word conversion stucking.
  • 💎 Added unregistering hotkeys when selecting item from list (This allows to assign same hotkey to different actions without switching tabs from Hotkey tab and back, in order to unregister theme again.)
  • 🐛 Fixed emulate layout change was actually captured by RIL...
  • 🐛 Safer fix for last fix.
  • 💎 Fixed random "stops working" of ConvertLast.
  • 💎 Added checks in Tray Icon menu's.
  • 💎 Added new Tray Icon menu: "Enable", e.g. enable/disable Mahou.
  • 📝 Simplified some code.
  • 💎 Added open input history link.
  • 📝 Added __mahouhome() snippets expression.
  • 💎 Added some new sounds to repository.
  • 💎 Added hotkey to toggle all Mahou hotkeys,hooks,timers, etc. #210 Works like a Pause/Unpause Mahou.
  • 📝 Fixed another messed icons.
  • 📝 Fixed messed icons.

v2.8.0.0

  • 🐛 Updated update regex.
  • 📝 Another way to initialize layout for JKL. now just switches 1 layout forward and backward. instead of switching through all layouts,
  • 🐛 Fixed numeric updown was disabled in timings tabs, Actually it is also used for language tooltip on change display time. due to enabled windows messages feature for language tooltips.
  • 🐛 Fixed translation panel initialization before MMain.mahou.
  • 🐛 Fixed un-needed send modifiers up.
  • 🐛 Minor bugs fixes.
  • 📝 Added more debugging.
  • 🐛 Fixed Convert Last was sometimes too slow.
  • 🐛 Fixed language display display on switch in windows messages.
  • 🐛 Fixed Convert Last function in Emulate LS Between layouts mode with JKL.
  • 🐛 Fixed access to MMain.mahou through _TranslatePanel before init.
  • 📝 Added rule to increase height based on count of tab rows.
  • 💎 Added rule to increase height of Mahou window depending on tab rows.
  • 🐛 Fixed "T", "L" and "->" was empty in functions tab.
  • 🐛 Added checking of startup path of types. #198 Now it checks lnk and task path.
  • 📝 Added Tab key to one key layout switch. #182
  • 📝 Removed useless switch between all layouts, when layout already desired.
  • 🐛 Fix for wrong layout icon at start in Language Displays with JKL.
  • 🐛 Some minor bug fixes with Convert Last and Snippets.
  • 🐛 Potential fix for #192.
  • 💎 Some code simplified.
  • 💎 Improved AutoSwitch and Snippets functions.
  • 💎 Added ability to use 2-word snippets/autoswitch. example: chat room => chat-room
  • 💬 Updated tooltips around "Use layout switching in CS.".
  • 🐛 Fixed GetNextLayout was returning last layout on break.
  • 💎 Added ability to use Convert Selection Layout Switching with WWL. #200 WWL = Whole Word Layout
  • 💎 Added ability to set commit on build. #203 P.S. Only using the build.cmd script(with git in path), or yourself.
  • 📝 Saving real commit to Mahou.ini on start.
  • 🐛 Wrong function to write commit into configuration.

v2.7.5.0

  • 📝 Simplified checking and removed unneeded regex replace.
  • 💎 Added font decimal retrieve and raw font conversion.
  • 💎 Simplifice code about getting font/color in loadconfigs.
  • 🐛 Fixed wrong fonts pt in configs.
  • 🐛 Added try/catch for translate panel fonts loading.
  • 🐛 Fixed 1 hotkey for convert selection and last: Now using these two actions for 1 hotkey doesn't cause wrong layout switching after conversion of selected text.
  • 🐛 Fixed convert last layout switching before conversion: with emulation and switch between layouts enabled, without that fix the convert result would be in layout - pre-needed and after conversion LAYOUT(not text) switched to needed.
  • 🐛 Updated Mahou update title find regex.
  • 🐛 Another fix for guess word layout tries.
  • 🐛 Added guess tries fix for sometimes wrong guess.
  • 💎 Added Title and Text font selection for Translate Panel.
  • 🍫 Updated chocolatey uninstall script.
  • 💎 Added new snippets function: __paste(). Text that expanded through that function is significally faster that from default snippet expansion type, because it just being copied and pasted through keyboard, instead of inputting every character like in default.
  • 🐛 Potential fix-for #189.
  • 🐛 Fixed layout wasn't remembering after winapi switch.
  • 📝 Typo fixed.

v2.7.3.1

  • 📝 Added fix for rare startup crash with language displays enabled.
  • 📝 BackSpace Combobox resize.
  • 📝 Note about faster BackSpace type.
  • 💎 Added other BackSpace type.
  • 💎 Added BackSpace type switcher.
  • 🐛 Fixed pressing BackSpace to delete empty history.txt
  • 📝 Translations and tooltips updated for BackSpace type and Input History.
  • 💎 Added input history feature(with Backspace support!).
  • 🐛 Fixed translation panel update due to wrong id.
  • 💎 Added ability to edit transliteration dictionary. It allows to create custom transliteration dictionary, and edit it. Just create(or run Mahou so it will create it automatically) TSDict.txt near to Mahou.exe, and create entries with that syntax: YA|Я e.g. separate transliterations by "|" pipe.
  • 🐛 Fixed Mahou args 0 exception.
  • 🐛 Added fix for Ctrl+Alt+Delete, Ctrl & Alt were stuck in Mahou's code.
  • 📝 Added Restart switch Mahou.exe "/R" or "-R" or "R" case insensetive.
  • 🐛 Fixed multiple sametarget language translate Fixes something like when you don't want to be auto-detect, e.g. having: auto->ru and zh_cn->ru and ja->ru, because sometimes google translate auto-detect thinks that japanese is chinese(whene no katakana and
  • hiragana are present).
  • 📝 Added special fix for special layout in CS.
  • 📝 Added note about ALL LAYOUTS switching.
  • 🐛 Fixed >2 layout selected text switching. In both modes: Whout whole layout word (which actually works far better!), and normal mode without it.
  • 🐛 Fixed convert sel when wrong layout selected.
  • 💎 Added convert selection for more that 2 layouts. quite experimental.
  • 📝 Added note(in tooltips) about bad function: Convert Selection Layout Switching(or +), and changed function text to red.
  • 🐛 Fixed translation panel bug with no network access.
  • 📝 Added Armenian flag.
  • 🐛 Added experimental fix for only Alt+[Any]. For hotkeys.
  • 🐛 Fixed loading of caret tt width.
  • 📝 Fix white color close button not intsant.
  • 📝 Corrected comment position.
  • 🐛 Fixed wrong utf-8 chars in GTLink request.
  • 📝 Translation now shows selected text source language in <> brackets in translator title.
  • 🐛 Fixed undefined reference to Debug.
  • 📝 Changed Auray log messages to Debug.WriteLine.
  • 🐛 Fixed speech_url for translate panel.
  • 🐛 Fixed non-static method call from static.
  • 💎 Added Auray, multidimensional array, like in JavaScript, but for C#.
  • 💎 Using Auray Translate panel now translates ~30 times faster!!! 🚀 Using direct access to array, instead of remote google script.
  • 📝 Actually this hotkey should up modifiers.
  • 🐛 Fixed loading saving that contained '=' symbol.
  • 🐛 Fixed caret lt Width was saving into mouse lt width.
  • 📝 RU lang typo.
  • 📝 Added sound code to any snippet.
  • 🐛 Fixed stop seraching next snippet aft any.
  • 🐛 Fixed out of index exception for ANY.
  • 💎 Added ANY word to snippets small words. It matches any words, useful for something like auto-insert-ending and move cursor between ihtml/xml tags, also added default snippets to autocomplete all html/xml tags.
  • 📝 shorten code
  • 📝 Optimized __cursorhere expression so only last will work.
  • 🐛 Fixed llhook unregister on different thread.
  • 🐛 Fixed unloading of timers on exit.
  • 📝 Fixed font without style loading.
  • 📝 Fixed One Layout feature with JKL enabled.
  • 💎 Added __cursorhere expression.
  • 🐛 Fixed release of modifiers in: specific layout switch hotkeys.

v2.7.0.0

  • 📝 Added hex style key code in __keyboard expression.
  • 🐛 Fixed by keycode in __keyboard.
  • 📝 Optimized wait time after __keyboard.
  • 📝 Added by keycode key support to __keyboard expression.
  • 📝 Added case-insensetive keys compararison, fixed numpad[0-9] being numpa[0-9].
  • 📝 Fixed multiple keystrokes in __keyboard were too fast executed one after another.
  • 📝 Added esc and enter key for __keyboard expression.
  • 📝 Simplified execute syntax to (file|args), due to windows path "|" restriction.
  • 📝 Changed escape symbol for __execute expression from "" to "|", due to windows path.
  • 💎 Added __execute expression to snippets expressions.
  • 📝 Added base "win" to be "lwin".
  • 💎 Added __keyboard expression to snippets expressions.
  • 📝 Rewrited method for snippets expressions to support __keyboard(in future) function.📝 etc...
  • 💎 Added multiline support to translate panel.
  • 📝 Fixed newlines, replaced just with spaces.
  • 🐛 Fixed translator language selector wasn't able to decrease translate languages.
  • 📝 Fixed no languages translation.
  • 🐛 Fixed old version sets bug.
  • 🐛 Fixed show selection translation double hotkey wasnt resetting.
  • 💎 Added translator feature.
  • 💎 Added Double click show selection translation feature.
  • 💎 Added hotkey for show selection translation feature (default: Alt x2).
  • 💎 Added languages selector using sets(like change layout by specific key sets).
  • 📝 A lot of work done to support that feature:
  1. Remote Google script that do translations.
  2. Multi remote request(for faster 1 responce instead of much)
  3. Created Translation Panel based on Language panel with JustUI elements.
  4. Added text to speech feature.
  5. Added new control just like JustUI - ButtonLabel.
  6. A lot [test/retest]'st in [remote/local].
  • 🐛 Fixed autoswitch null items.
  • 🐛 Fixded snippets expressions were empty sometimes.
  • 💎 Added snippets alias feature #177.
  • 💎 Added snippets expressions function #176,#179.
  • 🐛 Fixed snippets file write on first start when snippets is on and snippets.txt not exist.
  • 📝 Added more default snippets(with expressions).
  • 📝 Added old flags icons to repository.
  • 💎 Added new sounds to repository.

v2.6.7.7

  • 🐛 Fixed jkl wasn’t starting jklx86 when started with working directory not set to jkl’s directory.
  • 🐛 Added checking for conhost windows before switching layout with JKL support enabled. This fixes switching layouts in console programs with JKL integration enabled when installed 3+ layouts.
  • 📝 Added refresh all icons after layout change in JKL.
  • 📝 Added instant snippets initialization, and changed to static variables for init function.
  • 🐛 Added JKL layout detection support for snippets.
  • 📝 Added read-only if no access function.
  • 🐛 Fixed initialization of autoswitch dictionary at start.
  • 🐛 Fixed input/snippets/autoswitch with CapsLock on/off.
  • 📝 Changed updates download directory to temp.
  • 📝 Added Hi-Quality sounds to repository. They will can used in Mahou sounds. More sounds can be found in repository folder snd.
  • 💎 Added sounds feature.

v2.6.2.5

  • 📝 Added version info to compiled JKL binaries (#172).
  • 🐛 Fixed bug when Mahou didn't initialize main layouts on first start (#171).
  • 🐛 Fixed layout switching without emulation with JKL enabled on Win7 (#171).
  • 📝 Fixed error when starting Mahou with less than 2 layouts (#167).
  • 🐛 Fixed Mahou crashing when started as user in folder which that user has no write access (#167).
  • 📝 Changed umsg.id generation directory to %Temp%, (#167). since sometimes users has no write access in Mahou home directory.
  • 🐛 Fix for "📝 Changed umsg.id generation directory to %Temp%.", now actually generating in %TEMP%.
  • 🐛 Fixed jkl/jklx86 can't start, because working directory set to %TEMP%.

v2.6.2.0

  • 💎 Added support for jkl.exe(real layout change monitor).
  • 🐛 Fixed snippets expand key as Tab, now expands only if c_snip is not empty.
  • 🐛 Added fix for various layout switchings with JKL.
  • 💎 Added fix for Windows 7's console get layout behaviour for layout changings with JKL.
  • 📝 Fixed JKL wasn't starting when settings in AppData enabled.
  • 📝 Added fix for ConHost windows switching with JKL layout detection.
  • 📝 Added fix for NullReference exception in Native(unmanaged) code.
  • 📝 Added check for all JKL files and info about missing in tooltip.
  • 📝 Added "[JKL] >" prefix for loggings entries from JKL.
  • 🐛 Fixed JKL startup umsg.id get timeout.
  • 🐛 Fixed double line endings in debug output of DEBUG/VSCDEBUG modes.
  • 🐛 Fixed sending modifiers up functions not settings Mahou's variables about modifiers states.
  • 🐛 Removed clear modifiers for hotkeys that doesn't do text manipulations, e.g. Show/Hide/Exit/Restart Mahou/LangPanel etc.
  • 🐛 Fixed ConHost window detect on first activate with JKL.
  • 🐛 Fixed network error for startup updates.
  • 🐛 Fixed umsg.id not found for JKL.
  • 📝 Added JKL layout to language tooltips, and refresh on layout change.
  • 💎 Added deletion or moving(and deleting in future) of JKL at update.
  • 💎 Added jklx86.exe to be able to run as standalone, useful on x86 systems.
  • 💎 Added integration with x86 only JKL on x86 system.
  • 🐛 Fixed JKL wasn't generating umsg.id in Mahou's directory.
  • 🐛 Fixed snippets was catching chars on key release. Earlier if you release shift before release character key, Mahou will catch wrong character(lowercase)...

v2.5.9.3

  • 📝 Fixed updates connection to GitHub error. (#170)

    Happens due to GitHub's switch to more secure protocol...

  • 🐛 Fixed Tab wasn't working properly for expand snippet due to snippet clear. (#169)

  • 💎 Added Get layout from Taskbar feature. (#168)

  • 🐛 Added fix for wrong country flag detection on emulate layout switching.

  • 💎 Fixed convert selection wasn't switching for more than 2 layouts.

  • 🐛 Fixed caret langauge tooltip Firefox scroll fix.

  • 💎 Added Firefox caret language tooltip scroll fix for Chrome-alike browsers.

  • 🐛 Fixed caret language tooltip wasn't displaying in new Firefox(57+).

  • 💎 Added Ctrl+Shift to switch layout by 1 key.

  • 📝 Process instance seems can't get process name after process exit.

    It should just contain data, but even so it sometimes can't get it name because process exited, that means it should catch each exception on whole manipulation of process instance to determine if process really exists.

v2.5.9.0

  • 📝 Updated regex to get AS-dict in zip size.

  • 📝 Changed maximum size for update messagebox to 640 characters, and add an line with link to zip. (fixes #148)

  • 💎🚀 Highly optimized persistent layout function.

    Now uses 20-30x times less CPU. Uses same method as in excluded programs optimization fix.

  • 📝 Moved excluded programs into separate tab.

  • 💎 Added new some-program-fix option in timings tab.

v2.5.8.8

  • 📝 Better fix for alt+shift layout switching.

  • 🐛 Fixed language tooltips wasn't updating on convert last, etc. hotkeys.

  • 💎 Fully 15 new flag icons, all drawn by BladeMight!

  • 📝 Code refactor.

  • 💎🚀 Highly optimized excluded programs functions.

    Its caused high slowdown with hooks due to too consistent check for current window's process name, now it does it only for first time, and stores the handles of windows which are excluded. Before 6-8% CPU Ater: 0,12-0,41 CPU, 40-60x times faster.

  • 🐛 Fixed latest speed-up fix wasn't working properly without another list:

    List that stores windows handles that are not excluded, so it will faster check them throug list rather than finding process's name.

  • 📝 Added note about GitHub update and not working updates from Mahou version less than 2.5.7.6 in GitHub repository's Readme.md.

v2.5.8.0

  • 🐛 Fixed bug with excluded program crash when process exits too fast.
  • 🐛 Fixed hotkey to random selection was saving wrong modifiers(from to title case hotkey).
  • 💎 Fixed multiple spaces in convert selection error.
  • 📝 New type to split words, new type to get word by index of char.
  • 🐛 Fixed keyboard layout switch by Alt+Shift/Win+Space etc causing Mahou to mismatch the country flag. (probably fixes #160)

v2.5.7.6

  • 🐛 Fixed AppData configs wasn't re-reading after switch, after implementing new configs type.
  • 🐛 Fixed updates info title get regex.
  • 📝 Switched to Array type info for updates.
  • 🐛 Fixed bug with wrong global/current layout load.
  • 🐛 Fixed memory leak with flag icons, causing on layout change increasing of GDI objects in memory.
  • 🐛 Fixed Mahou wasn't updating correctly with AppData configs enabled.
  • 🐛 Fixed update path error(With AppData configs).
  • 🐛 Fixed error with configs read when they missing some values.
  • 🐛 Fixed AppData configs wasn't copying default for 1-st time when enabled.
  • 📝 Fixed bug with startup language switch to russian on russian systems.
  • 📝 Inverted configs check/save order.
  • 🐛 Added error check for case when process exits too fast.

v2.5.6.7

  • 📝 Fixed modifiers was releasing for all hotkeys, now only for conversion hotkeys.
  • 📝 Removed not used tooltip string for RestartHooks.
  • 💎 Added in memory ini writer/reader(replace for WinAPI ini read/writefrom disk).
  • 🐛 Fixed various language panel issues.
  • 💎 Added estonian flag.
  • 📝 Restored CapsLock late-fix(late because of RawInput listeners, sadly: low-level hooks from Mahou not works on any of Mahou's windows... even language panel...).
  • 🐛 Fixed Mahou was counting autoswitch dictionary when autoswitch is disabled.
  • 🐛 Fixed various access errors to yet not initialized Mahou.
  • 🐛 Fixed restart Mahou wasn't working with Configs in AppData enabled.
  • 🐛 Fixed startup Configs in AppData switch.
  • 🐛 Fixed snippets/autoswitch were rewritted on on/off at startup.
  • 💎 Added safer exit/restart of Mahou (PreExit function).
  • 🐛 Fixed snippets/autoswitch count label was enabled always.
  • 🐛 Fixed autoswitch was initializing when snippets were disabled(e.g. dependency).
  • 📝 Added fix for autoswitch tab controls were updating only at tab switch.
  • 📝 Moved timers closer in code(just for readability).

v2.5.6.3

  • 🐛 Fixed Low Level Hook has stuck modifiers when they were actually released by Mahou.
  • 📝 Added LLHook error log.

v2.5.6.2

  • 🐛 Fixed Multiple Low Level Hooks a huge performance issue.
  • 🐛 Fixed Cross Thread lang panel access issue.

v2.5.6.0

  • 🐛 Fixed Windows 10 only fix for command line Pause key.
  • 📝 UI reposition.
  • 📝 Set default color to Window color for About & Updates info.
  • 💎 Added silent update feature.
  • 🐛 Fixed infinite silent update.
  • 📝 Fixed tray icon update timer was enabled even if tray icon is invisible.
  • 💎 Added new feature - persistent layout change only on window switching only once.
  • 🚀💎 Optimized snippets/autoswitch initialization for memory.
  • 📝 Other memory managment fixes.
  • 📝 Updated translation.
  • 💬 Added 2 new tooltips.
  • 📝 Other minor code optimizations.
  • 💎 Added new feature - persistent layout change only on window switching.
  • 🐛 Fixed double DoSelf bug in autoswitch.

v2.5.5.4

  • 📝 Disable CapsLock timer by default.
  • 📝 Added fix for exluded program to support CapsLock As F18.
  • 📝 Changed dropdown style to list style(like readonly) for startup type.
  • 📝 Added clear modifiers on every Mahou show/hide (another fix for repress modifiers...)
  • 💎 Added new feature Add 1 Enter to last word.
  • 💎 📝 Code simplicity improvements.
  • 📝 Logging about clearing words now specifies reason(in squared paranthesis).
  • 🐛 Fixed "Add 1 Enter" feature wasn't clearing last line.
  • 🐛 Fixed stuck modifiers on hotkey action.
  • 📝 Updated translation.
  • 💬 Added 1 new tooltip.
  • 🐛 Fixed serious slow-bug in clear modifiers and keybd_event.

v2.5.5.0

  • 💎 Added remap CapsLock as F18 feature.
  • 💎 Improved specific layout switching keys/hotkeys to support CapsLock as F18.
  • 📝 Added Google Japanese IME fix for specific layout switching keys/hotkeys.
  • 🐛 Fixed specific layout switching was working multiple times.
  • 📝 Added new class LLHook.cs (Low-Level hook)
  • 💬 Added new tooltip.
  • 📝 Updated translation.
  • 🐛 Fixed Mahou's layout wasn't changing sometimes on system hotkey layout switching.
  • 📝 Added language tooltips update with windows message at snippets end.
  • 🐛 Fixed snippets -> between ====> and <==== was counted as snippet begin.
  • 📝 Fixed excluded programs label position.
  • 📝 Updated translation to match reality.
  • 💎 Added focus event listener for language tooltips refresh on messages.
  • 🚀 Increased speed of language tooltips refresh with different appearence for layout enabled.
  • 💎 Decreased CPU usage of language tooltips refresh on messages.
  • 💎 Added new type for updating language tooltips, through Windows messages.
  • 🚀 Increased caret position get time.

v2.5.2.4

  • 💎 Added snippets custom expand key feature, and Tab key for it.

v2.5.2.3

  • 🐛 Fixed configs wasn't reading more than 255 characters(useful for switch layout by hotkeys feature).
  • 📝 Changed updates channel combobox dropdown to list style.
  • 🐛 Fixed layout string was empty error for switch layout hotkeys #140.

v2.5.2.1

  • 💎 Added new specific key type.
  • P.S. The specific key layout switch methods works TOGHETER!
  • 🐛 Fixed some bugs in specific key sets.
  • 📝 Updated translations.
  • 💬 Added 1 new tooltip.

v2.5.1.4

  • 🐛 Fixed autostart type wasn't saving.
  • 📝 Added feature to disable display of certain layout when display flags feature active for language tooltips. #135
  • 📝 Fixed listboxes was resetting its position after apply.
  • 📝 Fixed transliteration dictionary "щ" conversion.
  • 🚀 Improved transliteration speed.
  • 💎 Added ability to re-write snippets by convert last/line.
  • 🐛 Added error check and message box for creating/reading Mahou.ini at startup. #134
  • 💎 Added force configs in %AppData%, when Mahou can't read/write Mahou.ini where Mahou.exe is. #138
  • 🐛 Fixed .force file was deleting by applying configs.

v2.5.1.0

  • 🐛 Fixed conversions for same hotkeys but double for convert line and single for convert last.
  • 🐛 Got rid of thread attach/detach, using now GetGuiThreadInfo for getting caret position.
  • 💎 Added emulate layout switching and switch between layouts to work together, that fixes crashing of apps like MSOffice2016. detailed on Wiki
  • 💬 Updated switch between layouts and emulate layout switching tooltips.

v2.5.0.5

  • 🐛 Fixed snippets wasn't re-initializing.
  • 🐛 Fixed snippets wasn't ignoring commented lines
  • 📝 Added "snippet has no expansion" error catch in snippets/auto-switch.
  • 📝 Added ignore empty snippets lines.
  • 📝 Fixed snippets lines with only 1 / producing error.
  • 📝 Updated AS_dict by finding reverse-conversion duplicates in dictionaries "!English-big.txt" and "!Russian-big.txt" with dduf.sh: [аут]<->[fen], [внук]<->[dyer], [еще]<->[tot], [зги]<->[pub], [кум]<->[rev], [нут]<->[yen], [пуд]<->[gel], [уда]<->[elf] Removed (some just commented) the ones that are less popular.

v2.5.0.1

  • 💎 Added commented lines feature in snippets.
  • 💬 Updated snippets/auto-swich words count tooltip.
  • 🐛 Added error catch if logging file in use, etc.
  • 📝 Restored Thread.Sleep()'s. (Without them some functions(that have something to do with clipboard) seems to work badly in some programs.)

v2.5.0.0

  • 📝 Added excluded programs to exclude snippets/autoswitch.
  • 💎 Added vk-based support SendInput for snippets/etc.
  • 🐛 Fixed serious KInputs bug from 9b47d26.
  • 📝 Added layout-change fix for BlueStacks.
  • 💎 Added key code fix feature.
  • 📝 Added init snippets on seperate thread to not block GUI.
  • 📝 Changed default check time for auto-switch to 1.5s.
  • 💎 Added "Configs in AppData" feature.
  • 💎 Improved Configs in AppData to save snippets, logs in AppData too.
  • 🚀 Speed up snippets initialization by ~30%.
  • 📝 Added rule to re-initialize snippets only if snippets count changed.
  • 🚀 Added simplified and faster check for count of snippets.
  • 🚀 Added in-memory auto-switch dictionary, for no-need to read from disk each time.
  • 🚀 Added limit for auto-switch dictionary textbox display, if it exceeds it just says that dictionary is too big to display.
  • 🐛 Fixed auto-switch bug if auto-switch dictionary not ready.
  • 🚀 Increased speed of counting snippets.
  • 🚀 VERY HUGE performance boost in snippets load by adding my own parser, it is ~x40 times faster that using regex, and uses a lot smaller memory.
  • 💎 Big update to auto-switch dictionary, now included 150000+ words(older versions of Mahou will probably freeze or hang with these).
  • 📝 Added memory clear on snippets count end.
  • 💎 Added checkbox to download a AS_dict.zip.
  • 💎 Added check AS_dict download size on first click to update.

v2.4.5.0

  • 📝 Updated commit get regex to accept tags.
  • 📝 Added support for multiple windows accounts, now Mahou can run on multiple accounts!
  • 🐛 Added fix for switch between layout when user interface language changed.
  • 💎 Added Alt+Shift to conversion by 1 key feature.
  • 💎 Updated AS_dict.txt now includes 10000+ russian and 10000 english words.
  • 📝 Renamed snippets.txt(in repository) to AutoSwitchDictionary, AS_dict for short.
  • 💎 Added Auto-Switch feature.
  • 💬 Added 1 tooltip.
  • 💎 Added button with which you can download latest Mahou auto-switch dictionary.
  • ✨ Added words/snippets count to AutoSwitch and Snippets features tabs, it also displays if there errors in snippets(when red).
  • 📝 Updated about tab.
  • 📝 Added timered re-check for right snippets.
  • 💎 Separated auto-switch from snippets and added case-insensitive rule.
  • 🐛 Fixed missing ! in code, caused switch layout by 1 key as CapsLock not to work at all.
  • 📝 Other mini code improvements.

v2.4.0.8

  • 🐛 Fixed timers was re-enabling hotkeys on hotkeys tab which caused impossible to assing same hotkey for 2 convert hotkeys.
  • 📝 Added fix for ip conversion in convert selection.
  • 💎 Improved autostart feature to select type, added new autostart type - create task scheduler task.
  • 🐛 Removed unecesarry fix for LCtrl up via post message, which reproduce no-more in RawInput listeners.

v2.4.0.5

  • 💎 Added switch to guess layout after snippet expanded feature.
  • 🐛 Fixed wrong control emptiness check for proxy.
  • 🐛 Fixed CapsLock/ScrollLock when assigned as hotkeys was called by timers.
  • 🐛 Fixed WM_INPUT was not distinguish L/R modifiers.
  • 🐛 Fixed conflict with conversion hotkeys and change layout by 1 modifier.
  • 🐛 Fixed convert last word/line was clearing with ctrl modifier.
  • 🐛 Fixed conflict between repress modifiers and change layout with 1 key.

v2.4.0.0

  • 💎❇💎❇ Replaced low-level hooks with RawInputDevices listeners(WM_INPUT).
  • 📝 Removed a lot of usage of [self] and replaced it completely with DoSelf(action) function.
  • 📺 Added conversion functionality in Mahou window(but not in hotkeys tab).
  • 📝 Added convert selection selected text get in Mahou window fix(usuall way not worked in Mahou window).
  • 💎 Improved logging, now it logs on separate thread, which makes it not to slow down main thread.
  • 💬 Changed if less than 2 layouts message box to tray icon tooltip, and removed shutdown.
  • 💬 Added on-click action for balloon tooltip.(open layouts configurations)
  • 📝 Removed some unused variables/code.
  • 📝 Save logs with *.txt extension.
  • 💎 Added update channels feature.
  • 💎 Added latest-commit update channel.
  • 💎 Added "Add 1 space after snippets" feature.
  • 📝 Quite overhaul.

v2.3.5.4~v2.3.5.6

  • 💎 Added Ctrl+A support for multi-line textboxes.
  • 📝 Increased Max snippets textbox display chars.
  • 📝 Another inits for Ctrl+A multiline textboxes.
  • 🐛 Fixed repeated words conversion termination in convert selection one layout whole word.
  • 🐛 Fixed lines eating in convert selection in some programs.

v2.3.5.1~v2.3.5.2

  • 🐛 Fixed mistake symbol ; in default convert selection mode. (It caused it not to convert at all.)
  • 💎 Restored getconkbl.dll support. P.S. There is also an pack with Mahou x86 and getconkbl.dll in this release on github.

v2.3.4.4~v2.3.5.0

  • 💎 Added QWERTZ keyboard fix. #107
  • 💎 Added fix for hooks die on apply(unconfirmed). #102
  • 💎 Fixed Selection and Last Word conversion with same hotkey. #104
  • 💎 Added space fix in process names for persistent layout process names and excluded process names (replace space with _).
  • 🐛 Fixed excluded programs feature. #101
  • 🐛 Added fix for bug in KMHook for non-initialized MahouUI.
  • 🐛 Fixed double hooks bug.
  • 💎 Restored fix for ctrl/alt/win+tab clear words.
  • 🐛 Fixed hotkey enabled checkbox wasn't remembering its state for hotkeys. #108
  • 💎 Fixed update on click from message box was showing not right tab.
  • 💎 Added line breaks as seperators for process names.
  • 💎 Make process names case insensitive in Mahou.
  • 💎 Make Mahou have 2 row of tabs.
  • 💬 Added new tooltips.
  • 💎 Added feature to change layout by 1 key in excluded programs. #109

v2.3.4.0

  • 💎 Added tabs switch by wheel scroll in main window.
  • 💎 Added new function - input uppercase indicator for language panel and tooltips.
  • 📝 Little translation fixes.

v2.3.3.3

  • 💎 Added new feature - Language Panel. (uses some code of JustUI)
  • 💎 Added new Hotkey to toggle Language Panel visibility.
  • 🐛 Fixed bugs in UI.

v2.3.1.7

  • 🐛 Fixed transparent color and flags together producing both text and flags.
  • 🐛 Fixed caret lang display in Firefox was stuck on screen on mouse wheel.
  • 🐛 Fixed error on first startup when Mahou.ini not exist.
  • 🐛 Fixed delete dialog conflict with caret lang display on windows 10.
  • 🐛 Fixed wrong rule in combined refresh of flags in Mouse Lang Display and tray flags while mouse tip was disabled but display mouse tooltip always was enabled.

v2.3.1.4

  • 🐛 fixed serious x64 bug from v2.3.1.3(which has been reloaded too).
  • 🐛 Fixed tray flags & tooltip flags confilct.

v2.3.0.7~v2.3.1.3

  • 💎 Added new feature - One(global) layout.
  • 💎 Added new feature - Always show mouse tooltip.
  • 💬 Added new tooltips.
  • 💎 Added new feature, flags in language tooltips. 🐛 Fixed double hotkey feature for only-modifiers hotkeys (from v2.3.0.5).

v2.3.0.6

  • 💎 Fixed serious bug in Convert Multiple Words function from v2.3.0.5.

v2.3.0.5

  • 🐛 Fixed double hotkey ability was inacessible until restart in v2.3.0.0.
  • 💎 Fixed serious uncompatibility between Scroll-Tip and Convert Multiple words as Scroll hotkey.
  • 🐛 Fixed Mahou wasn't start up if fonts or colors are wrongly configured in Mahou.ini.
  • 💎 Fixed Mahou was clearing catched words on Ctrl+Any key(even modifier) modifiers were excluded.
  • 📝 Fixed some typos in Russian UI translation. подсказки языка лампочкой Scroll-Lock и функции Конвертации нескольких слов настроенной на Scroll-Lock.

v2.3.0.0

  • 💎 Added Restart Hooks on each Mahou hotkey action end.
  • 💎 Hotkeys overhaul migrated to Windows-style(RegisterHotkey()) which is a way more stable.
  • 💎 Added AltGr support for switch layout with one key.
  • 💎 Updated Convert Multiple words style to new Hotkeys style.
  • ...

v2.1.2.6

  • 💎 Added Persistent layout function for processes.

v2.1.2.0~v2.1.2.3

  • 💎 Added support for getconkbl.dll, which adds support for console apps right layout recognition. ONLY x86 version of both(Mahou and getconkbl.dll) are supported. (you can get dll from here, put it in directory where Mahou.exe is)
  • 🐛 Fixed some clipboard restore issues.
  • 💎 Added Shift+CapsLock to by key switch.
  • 💬 Updated tooltip appear style, 🚀 now faster (re)show, and timeout to hide to 20 sec.
  • 💎 Updated translation to dictionary style.

v2.1.1.2~v2.1.1.6

  • Updated wiki.
  • Added fucntion Use layout for whole word in CS which perfectly converts selected text in which are words with symbols.
  • Added rule — not switch layout in Change to specific layout by key if before key release was clicked mouse button.
  • Fixed Ctrl+CapsLock enabling when CapsLock disabler timer is off.
  • Fixed Numpad numbers and symbols(i'm talking not about alt+numpad) was not catched in last word/words.

v2.1.1.1

  • Added feature to change language tooltip text.
  • Fixed clipboard text restore before converting selection in some apps(MS Office 2016 etc.)..
  • Fixed appearence for non-main-layouts(two in settings) when Use different appearence for layouts enabled.
  • Updated debug info, now it includes tags <details> and <summary> to create spoilers which will consume less space in comments on GitHub. Proxy settings from Mahou.ini now won't be included to debug info.
  • Fixed proxy settings saving.
  • Added proxy password hide in view and password encryption in the settings file.

v2.1.0.4

  • Added support for MCDS, which adds ability to display caret language tooltip in Sublime Text 3.
  • Added excluded programs function.

v2.0.0.3

  • Improved layout switching by cycle. Now it supports apps like WordPad and Skype(message entry form).

v2.0.0.0

  • Updated interface.
  • Greatly increased speed of functions that using timers.
  • Added memory clearing, now Mahou uses ~5МБ RAM.
  • Added functions to convert text case.

v1.5.2.0

  • ِAdded feature to display country flags in tray.

v1.5.0.0

  • Added feature to display language tooltip around caret (carriage) position.
  • Added ability to select different color for different layouts in language tooltips.

v1.4.4.1

  • Added new feature Debug Info, copies useful debug info for posting issues.

v1.4.3.2

  • Added feature logging, for debugging.

v1.4.3.0

  • Rewrited convert line feature to support new feature, Convert Multiple last words.

v1.4.2.1

  • Added feature to disable check for update at startup (useful for Chocolatey users, choco has cup all -y).

v1.4.1.7

  • Added feature to highlight Scroll Lock when language 1 is active.

v1.4.1.6

  • Added feature to catch Alt+Numpad symbols to use them in convert last/line.

v1.4.0.0

  • Added feature "Snippets" (expand words to other words/text fragments).

v1.3.1.0

  • Added ability to set transparent background for language tooltip.

v1.3.0.0

  • Added double hotkey ability (2xShift, etc.).

v1.1.5.6

  • Added small tip which displays current layout, when hovering text with mouse.

v1.1.2.0

  • Added language engine and Russian language.

v1.1.1.0

  • Added feature "Extended CTRLs config".

v1.1.0.0

  • Added TEXT auto-backup feature for convert selection.

v1.0.9.6

  • Feature "Use Alt+Shift in CM" upgraded to "Emu" (Which is more customizable).

v1.0.8.7

  • New feature """ " ←" (Eat one space).

v1.0.7.9

  • New method to save/load configuration which is more compatible.

v1.0.4.7

  • Improved Update feature into Auto Update.

v1.0.4.2

  • Added Update feature.

v1.0.4.0

  • Added Convert Line feature.

v1.0.2.9

  • It is possible to switch to cycle mode, that switches to next layout. This also applies to CapsSwitch.

v1.0.0.7

  • Added feature CapsSwitch - possible to toggle layouts by CapsLock.

v1.0.0.4

  • Added ability to change hotkeys for Convert Last & Convert Selection.