Слушатель клавиатуры, который срабатывает при вводе нужного текста=сокращения

Автор Ципихович Эндрю, 20 мая 2026, 12:27

0 Пользователи и 1 гость просматривают эту тему.

Ципихович Эндрю

здравствуйте, собственно сабж, есть ли у кого пример? спасибо

sokol92

Для вызова макросов с помощью клавиатуры существуют "горячие клавиши", которые можно настраивать.

В ходе решения какой задачи возникла столь экзотическая просьба?
Владимир.

Ципихович Эндрю

Цитата: sokol92 от 20 мая 2026, 12:35существуют "горячие клавиши"
клавишей не хватит))
Цитата: sokol92 от 20 мая 2026, 12:35столь экзотическая просьба?
123тр - естественно сто двадцать три тысячи рублей - заменять таким образом
то есть после ввода 123т с клавиатуры - уже сигнал для скрипта

economist

Для суммы прописью для выделенного текста есть расширение Cyrillc Tools

Для замены сокращений - PuntoSwitcher и др. 
Пить не буду коньяка - читану Питоньяка!

Ципихович Эндрю

Цитата: economist от 20 мая 2026, 17:00Для суммы прописью для выделенного текста есть расширение Cyrillc Tools

Для замены сокращений - PuntoSwitcher и др. 
всё перечисленное мне известно и не подходит))

economist

Подходит, просто вы об этом не знаете. Всё ваши сокращения можно в PuntoSwitcher добавить автоматически заранее, как простой текст. Версия нужна старая, до того как стала шифровать Автозамену.

Готовых утилит не просто десятки, их сотни. Все они шпионят, т.к. слушают вашу клавиатуру. Но выход есть:

Насчёт 123тр - можно написать python скрипт, который запускать сочетанием клавиш. Он сместит курсор на слово слева и заменит что угодно на что угодно. Задайте вопрос дипсику, упомянув ограничения (Libreoffice writer и python).
Пить не буду коньяка - читану Питоньяка!

Ципихович Эндрю

Цитата: economist от 20 мая 2026, 19:08PuntoSwitcher
в нём счёт идёт на тысячи-не подходит
Цитата: economist от 20 мая 2026, 19:08просто вы об этом не знаете
знаю, у меня имеется файл Punto Switcher 2.95, файл replace.dat не зашифрован.exe - 2012 год))
Цитата: economist от 20 мая 2026, 19:08Задайте вопрос дипсику
тем не менее вопрос к людям актуален...

economist

Размер replace.dat в несколько сот строк - норма. Я знаю людей, которых показывают по ТВ, и у них такие списки в работе ежедневно.
 
Если вы хотите написать софт который перехватывает все нажатия клавиш на уровне ОС - это грязный хак, на него будут "возбуждаться" все сисадмины, антивирусы и параноики. Да и написано подобного софта - море. Времени не жалко на "велосипед"? 

Если хотите написать это внутри LibreOffice на событиях и слушателях - это будет глючно и дергано, а иногда оно просто перестает работать. Вы в этом уже убеждались много раз. Зачем повторяться?

Лучший вариант - макрос на Питон по сочетанию клавиш. Почему на Питон - там идеально решены все задачи с текстом типа суммы прописью, курсом валюты, переводом мкмоль/мл в г/л итд. А еще можно просто мгновенно брать что-то из корпоративной БД, загруженной в RAM.

Также напомню про мощь Автотекста во Writer, который может сложное сделать простым. Пример: 

Пишу сейчас доклад про известь и не помню почем мы ее брали в марте 2019. Ввожу "покуп", жму F3, появляется Поле-список, выбираю "известь 2019-03 срцена", жму сочетание клавиш, макрос убирает все огрызки автотекста и списки и возвращает аккуратную строку:

"Ср. цена покупки извести в Марте 2019 - 4750 руб./тн. с НДС(18%)"

А если введу "произв" - то получу себестоимость производства на заводе, не выходя из Writer. И это все без ИИ-технологий, в 60 строк кода с книжек Питоньяка.
Пить не буду коньяка - читану Питоньяка!

sokol92

Цитата: Ципихович Эндрю от 21 мая 2026, 06:19тем не менее вопрос к людям актуален...
Коллега, это мы ждем разъяснений по поводу возможностей Автотекста. :)
Я не использую Автотекст, но по описанию этот механизм содержит возможность запуска макросов.
Попробуйте это для своих нужд и расскажите нам, как это сделано.
Владимир.

Ципихович Эндрю

Цитата: sokol92 от 21 мая 2026, 16:02разъяснений по поводу возможностей Автотекста
Минусы для моей задачи:

Нет поиска по частичному совпадению

Нет показа вариантов в панели

Нет продолжений (+узнать)

Неудобно для более 3 млн записей

Автотекст хорош для 10-50 шаблонов, но не для моей базы. Мне нужен именно поиск с подстановкой, но оттолкнуться надо чтобы слушатель мне подал сигнал что же введено пользователем с клавиатуры
Цитата: economist от 21 мая 2026, 11:40на уровне ОС
конечно нет
Цитата: economist от 21 мая 2026, 11:40внутри LibreOffice на событиях и слушателях
да, а что задержка при современном железе минимальна, поэтому не пойму, почему
Цитата: economist от 21 мая 2026, 11:40это будет глючно и дергано, а иногда оно просто перестает работать



kompilainenn

я начинаю вводить слово "тревога" и после введенных "тр" офис мне подставит "тысяч рублей" автоматически что ли? задача точно в этом?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Ципихович Эндрю

Цитата: kompilainenn от 21 мая 2026, 22:56я начинаю вводить слово "тревога" и после введенных "тр" офис мне подставит "тысяч рублей"
нет
слово + 1 буква следующего слова
слово + 1 буква следующего слова + 1 буква следующего слова
120т = 120 тысяч - этого конечно нет в БД, сгенерируется на лету
120тр = 120 тысяч рублей - этого конечно нет в БД, сгенерируется на лету
офис мне подставит нет только лишь предложит, нужно будет согласиться или нет

economist

99% юзеров решают проблему так: в PuntoSwitcher
тр -> тыс. руб., но после ввода пробела. Никаких ложных срабатываний. Вы опять выбираете самый сложный путь. Не надо склеенные слова парсить, вводите раздельное раздельно. Во Writer для этого есть Автозамена. Но юзерам удобно чтобы было везде, поэтому PS и аналоги.   
Пить не буду коньяка - читану Питоньяка!

sokol92

Технологии для быстрой вставки текста ("АвтоTекст") в текстовые документы (Word, Writer) существуют давно и широко используются. Вряд ли здесь стоит изобретать что-то новое.

Возможности автоматизации работы с Автотекстом в LO Writer мне лично (и Gemini тоже :)) интересны. Так что, если к нашей инициативе еще кто-нибудь присоединится, можно поизучать...
Владимир.

mikekaganski

Цитата: sokol92 от 22 мая 2026, 16:11Возможности автоматизации работы с Автотекстом в LO Writer мне лично (и Gemini тоже :)) интересны.

Не знаю насчёт автоматизации. А вот автозамена - это уже средство автоматизации. И непонятно, что именно в ней требует второго слоя автоматизации в рамках этой задачи помимо четырнадцати правил: ".*0т" -> "0 тысяч", ".*1т" -> "1 тысяча", ".*2т" -> "2 тысячи", ".*3т" -> "3 тысячи", ".*4т" -> "4 тысячи", ".*5т" -> "5 тысяч", ".*6т" -> "6 тысяч", ".*7т" -> "7 тысяч", ".*8т" -> "8 тысяч", ".*9т" -> "9 тысяч", ".*11т" -> "11 тысяч", ".*12т" -> "12 тысяч", ".*13т" -> "13 тысяч", ".*14т" -> "14 тысяч". Которые будут работать после нормального правила "замена после пробела".
С уважением,
Михаил Каганский