Page 5 of 5

MacroEx — запуск макросов нетрадиционными способами

Posted: Sun 20 Jul, 2014 00:42
by John Doe
Есть полезнейшая возможность в MacroLib — запуск макросов удержанием, двойным нажатием, и др.
Хорошо бы подобное и в родные макросы (тикет на мантисе есть).

А пока попробуем приблизится к решению задачи имеющимися средствами.

Предлагаю скрипт MacroEx, расширяющий возможности запуска макросов следующим образом:
  1. В имени клавиши через двоеточие теперь можно указывать дополнительные модификаторы Hold и Double:
    • key:Double — макрос будет выполнен при двукратном нажатии клавиши (в течении 300 мс, не отпуская клавиши-модификаторы)
    • key:Hold — макрос будет выполнен при удержании (>300 мс)
      Пример:
  2. Поддерживаются последовательности из двух нажатий, перечисленные через "-":
    • key-key2 — макрос будет выполнен при нажатии последовательности клавиш.
      Последовательность следует нажимать так: .
      Если вторая клавиша последовательности в течении секунды не будет нажата, то появится подсказка: из описаний возможных макросов.
      Пример:
    На один и тот же key можно назначить произвольное число макросов, конфликты разрешаются по правилам, принятым в LuaMacro.
    Макросы с модификаторами не лишают указанную комбинацию исходного значения: короткое нажатие выполнит исходное действие (или макрос, если назначен).
Ограничения:
  • В качестве key поддерживаются только комбинации клавиш с модификаторами Ctrl/Alt/Shift.
Установка: достаточно расположить прилагаемый macroEx.lua где-либо в scripts.

MacroEx — запуск макросов нетрадиционными способами

Posted: Fri 22 Jul, 2016 15:15
by sToLp

Latest post of the previous page:

John Doe wrote: фар сейчас не запускает макрос на Alt при нажатом Ctrl
Поупражнявшись с макросами, назначенными на двойное нажатие на Ctrl, Alt и Shift , убедился в удобстве этой возможности. Поэтому весьма желательно, чтобы макросы и на двойное нажатие на CtrlAlt, CtrlShift и AltShift тоже появились бы.

MacroEx — запуск макросов нетрадиционными способами

Posted: Fri 22 Jul, 2016 15:41
by John Doe
sToLp wrote: Поэтому весьма желательно,
Увы.
Прямой возможности никогда не было.
Обходная была, но убрали.

На мантисе есть http://bugs.farmanager.com/view.php?id=2857

Продолжение: http://forum.farmanager.com/viewtopic.p ... 42#p139642

MacroEx — запуск макросов нетрадиционными способами

Posted: Mon 29 Aug, 2016 14:54
by John Doe
Версия 3.2 в шапке
  • Поддержка комбинаций из нескольких модификаторов, например CtrlAlt:Double.
    Также работают и последовательности, например CtrlAlt-F8, CtrlF8-Alt.
    CtrlAlt:Hold тут в принципе смысла не имеет, поскольку с модификаторами событие происходит при отпускании.
    Но даже Hold сейчас работает, хоть и со спецификой: нажимать надо дважды, как Double, но в конце клавишу не отпускать, а продолжать удерживать.
  • Поддержка ScriptsBrowser.
    Помимо прочего, некоторые параметры (бывшие ранее константами в коде) сейчас доступны для изменения:
    Изменения могут применяться немедленно (временно), или оставаться постоянного, при использовании пользовательских настроек в scriptcfg

MacroEx — запуск макросов нетрадиционными способами

Posted: Fri 27 Apr, 2018 02:10
by buniak_a_h
John Doe, правильно ли я понимаю, что этот скрипт не поддерживает ключи, описанные регэкспами?

Пример (из Вашего ме скрипта Ctrl-K-blocks.lua):
key="CtrlK-1 CtrlK-2 CtrlK-3 CtrlK-4 CtrlK-5 CtrlK-6 CtrlK-7 CtrlK-8 CtrlK-9 CtrlK-0";
Я попробовал заменить на
key="/[LR]CtrlK-[0-9]/";
а также на
key="/[LR]CtrlK-\d/";
Не работает... :-(
Вставка "%" и "\" перед дефисом положения не исправляет...
Кстати, в этом описании регэкспы имеются в виду в стандарте lua (escape-символ - %) или в стандарте PCRE (escape-символ - \)?

MacroEx — запуск макросов нетрадиционными способами

Posted: Fri 27 Apr, 2018 07:49
by John Doe
buniak_a_h wrote:
Fri 27 Apr, 2018 02:10
правильно ли я понимаю, что этот скрипт не поддерживает ключи, описанные регэкспами?
Вероятно, мне этого не требовалось.
buniak_a_h wrote:
Fri 27 Apr, 2018 02:10
Кстати, в этом описании регэкспы имеются в виду в стандарте lua (escape-символ - %) или в стандарте PCRE (escape-символ - \)?
PCRE (почти).