For english version of this post please click link.
Я знаю про Punto Switcher, X Neural Switcher и некоторые другие подобные им программы для изменения раскладки введённого текста с одной на другую:
Руддщб Цщкдв! → Hello, World! (и/или наоборот, Hello, World! → Руддщб Цщкдв!)
Но в программах, запущенных под Wine, у меня большие проблемы с XNeur, а Punto юзабелен только для Windows и Mac OS. Кроме того, их функциональность для меня излишня, т.к. автоматического переключения мне не требуется (я и в Windows автоматику Punto Switcher'а отключал всегда) как и многого другого, что они предлагают. Несомненно, эти программы предоставляют и другие полезные возможности, но мне достаточно, чтобы при нажатии комбинации клавиш расположенный слева от курсора или выделенный текст изменялся с раскладки, на которой был введён ошибочно на ту, в которой должен был быть введён и чтобы это работало в запущенных через Wine приложениях.
Ну и, руководствуясь советами диванных аналитиков из Интернета, которые практически по любому поводу могут предложить "Нужна программа? Напиши сам!", я в итоге написал скрипт на Python 3, который "переключает" введённый текст.
Скрипт вызывается только в момент, когда вам требуется исправить текст, и производит несколько простых действий:
– вырезает кусок текста (текст слева от курсора до начала строки или, в зависимости от параметров запуска, это либо выделенный текст, либо последнее слово – последовательность символов после ближайшего пробела слева);
– меняет каждый символ вырезанного текста одной раскладки на найденный соответствующий символ другой (пытается определить с какой на какую переключать по первым трём символам);
– вставляет преобразованный текст обратно.
Я знаю про Punto Switcher, X Neural Switcher и некоторые другие подобные им программы для изменения раскладки введённого текста с одной на другую:
Руддщб Цщкдв! → Hello, World! (и/или наоборот, Hello, World! → Руддщб Цщкдв!)

Но в программах, запущенных под Wine, у меня большие проблемы с XNeur, а Punto юзабелен только для Windows и Mac OS. Кроме того, их функциональность для меня излишня, т.к. автоматического переключения мне не требуется (я и в Windows автоматику Punto Switcher'а отключал всегда) как и многого другого, что они предлагают. Несомненно, эти программы предоставляют и другие полезные возможности, но мне достаточно, чтобы при нажатии комбинации клавиш расположенный слева от курсора или выделенный текст изменялся с раскладки, на которой был введён ошибочно на ту, в которой должен был быть введён и чтобы это работало в запущенных через Wine приложениях.
Ну и, руководствуясь советами диванных аналитиков из Интернета, которые практически по любому поводу могут предложить "Нужна программа? Напиши сам!", я в итоге написал скрипт на Python 3, который "переключает" введённый текст.
Скрипт вызывается только в момент, когда вам требуется исправить текст, и производит несколько простых действий:
– вырезает кусок текста (текст слева от курсора до начала строки или, в зависимости от параметров запуска, это либо выделенный текст, либо последнее слово – последовательность символов после ближайшего пробела слева);
– меняет каждый символ вырезанного текста одной раскладки на найденный соответствующий символ другой (пытается определить с какой на какую переключать по первым трём символам);
– вставляет преобразованный текст обратно.






