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

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
John Doe
Бюрократ
Posts: 12871
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

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

Post 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.
Attachments
macroEx-3.2.7z
(3.69 KiB) Downloaded 254 times
User avatar
John Doe
Бюрократ
Posts: 12871
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

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

Post by John Doe »

Latest post of the previous page:

sToLp wrote: независимый от нативного "однораза".
Не знаю о каком одноразе речь, ведь сам фар не различает такие комбинации для макросов.
sToLp wrote: А вот это для моего уха звучит как-то совершенно загадочно.
Это значит что если (например) будет предоставлена возможность назначить макрос на "Ctrl+Alt", то несложно добавить в макрос на Alt дополнительный condition с проверкой нажат ли Ctrl.
В общем пробовать надо.

P.S.: раз эти макросы на отпускание срабатывают, значит Ctrl (например) должен продолжать удерживаться и при отпускании..
User avatar
zg
zero-gravity
Posts: 5865
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 155 times
Contact:

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

Post by zg »

John Doe wrote:ведь сам фар не различает такие комбинации для макросов.
в смысле?
Image
User avatar
John Doe
Бюрократ
Posts: 12871
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

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

Post by John Doe »

Я о комбинациях одних только модификаторов, тех что вызывают макросы при отпускании.
User avatar
John Doe
Бюрократ
Posts: 12871
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

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

Post by John Doe »

John Doe wrote: Это значит что если (например) будет предоставлена возможность назначить макрос на "Ctrl+Alt", то несложно добавить в макрос на Alt дополнительный condition с проверкой нажат ли Ctrl.
В общем пробовать надо.
Попробовал.
Ничего не выйдет, т.к. фар сейчас не запускает макрос на Alt при нажатом Ctrl.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

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

Post by sToLp »

John Doe wrote: фар сейчас не запускает макрос на Alt при нажатом Ctrl
Поупражнявшись с макросами, назначенными на двойное нажатие на Ctrl, Alt и Shift , убедился в удобстве этой возможности. Поэтому весьма желательно, чтобы макросы и на двойное нажатие на CtrlAlt, CtrlShift и AltShift тоже появились бы.
User avatar
John Doe
Бюрократ
Posts: 12871
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

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

Post by John Doe »

sToLp wrote: Поэтому весьма желательно,
Увы.
Прямой возможности никогда не было.
Обходная была, но убрали.

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

Продолжение: http://forum.farmanager.com/viewtopic.p ... 42#p139642
User avatar
John Doe
Бюрократ
Posts: 12871
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

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

Post by John Doe »

Версия 3.2 в шапке
  • Поддержка комбинаций из нескольких модификаторов, например CtrlAlt:Double.
    Также работают и последовательности, например CtrlAlt-F8, CtrlF8-Alt.
    CtrlAlt:Hold тут в принципе смысла не имеет, поскольку с модификаторами событие происходит при отпускании.
    Но даже Hold сейчас работает, хоть и со спецификой: нажимать надо дважды, как Double, но в конце клавишу не отпускать, а продолжать удерживать.
  • Поддержка ScriptsBrowser.
    Помимо прочего, некоторые параметры (бывшие ранее константами в коде) сейчас доступны для изменения:
    Изменения могут применяться немедленно (временно), или оставаться постоянного, при использовании пользовательских настроек в scriptcfg
buniak_a_h
Posts: 2043
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 200 times
Contact:

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

Post 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-символ - \)?
User avatar
John Doe
Бюрократ
Posts: 12871
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 293 times

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

Post 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 (почти).
citRiks
Posts: 807
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 256 times
Been thanked: 46 times

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

Post by citRiks »

В свете обострившейся борьбы за чистоту ГУИДов,
на всякий случай доношу до сведения общественности,
что у @JD строчка номер 127 в macroEx.lua имеет явно неприличный вид:

Code: Select all

    area="Common"; key=mkey; uid=mkey; FileName=FileName;
Last edited by citRiks on Thu 10 Sep, 2020 23:02, edited 1 time in total.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
Post Reply

Return to “Полезные макросы и скрипты”