Win, Apps, CapsLock [,...] в качестве модификаторов

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

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by John Doe »

В качестве модификаторов можно использовать LWin, RWin, Apps, CapsLock, NumLock, ScrollLock, Pause/Break, PrntScrn, и любые другие клавиши и сочетания не выполняющие действий, например допустимы комбинации вида CtrlB+A

Допускаются любые сочетания с обычными модификаторами Ctrl/Alt/Shift

Дополнительная функция: в качестве модификаторов различаются (отдельные) LShift, RShift, Shift

Установка: xmod.lua поместить в папку Macro\modules

Использование:

Примечания:

Требования: Far 3 build > 4736

Связанные темы:
Attachments
xmod-2.2.7z
(2 KiB) Downloaded 391 times
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by sToLp »

Latest post of the previous page:

John Doe

Понятно. Похоже, что что-то вмешивается — система, сторонняя программа или м.б. плагин. Буду искать.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by John Doe »

В шапке эксперимент: попытка различать правый и левый шифты.

Code: Select all

local MacroMod = require"mod"(Macro)
MacroMod {
  area="Common"; key="LShift+ShiftF1"; description="LShift+F1";
  action=function()
    far.Message"LShift+F1"
  end
}
MacroMod {
  area="Common"; key="RShift+ShiftF1"; description="RShift+F1";
  action=function()
    far.Message"RShift+F1"
  end
}
Кроме того, есть возможность определять Shift в комбинациях, в которых сам фар не предусматривает, например:

Code: Select all

local MacroMod = require"mod"(Macro)
MacroMod {
  area="Common"; key="xShift+A"; description="Shift+A";
  action=function()
    far.Message"Shift+A"
  end
}
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by sToLp »

На текущий момент в отношении клавиши Pause/Break выяснил следующее.

Во-первых, ни какого влияния на неё со стороны плагинов и макросов самого Фара не обнаружено.

В системе же клавиша Pause/Break предназначена для блокирования/отпускания активной программы. И действительно она блокирует Фар, когда демонстрирует мигающий прямоугольник. Однако программа Punto Switcher всё-таки как-то перехватывает эту клавишу и использует её для переключения раскладок. Вместе с тем Punto Switcher перехватывает и ShiftPause с AltShiftPause. Но если пожертвовать в ней опцией автопереключения, то эти два шортката в Фаре будут работать соответственно своим наименованиям.

Поведение в Win10 шортката CtrlShiftPause пока остаётся загадкой — отключение Punto Switcher на него не повлияло, и в сети о нём упоминания что-то не попадаются.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by sToLp »

John Doe wrote:попытка различать правый и левый шифты
Новые макросы с шифтами работают исправно.
Однако я не понял равнозначен ли LShift+ShiftF9 простому ShiftF9? И если нет, то как при наличии расширенного шортката набирать простой нативный шорткат?
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by John Doe »

sToLp wrote: равнозначен ли LShift+ShiftF9 простому ShiftF9?
простой ShiftF9 сработает и на правый Shift.
sToLp wrote: то как при наличии расширенного шортката набирать простой нативный шорткат?
Не уверен что понял вопрос
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by sToLp »

John Doe wrote:
sToLp wrote: то как при наличии расширенного шортката набирать простой нативный шорткат?
Не уверен что понял вопрос
Когда я набираю ShiftF9, то при новой системе сообщение показывает мне LShift+ShiftF9.
John Doe wrote:простой ShiftF9 сработает и на правый Shift
Дак мне его теперь не набрать ни как. Вместо RShiftF9 набирается RShift+ShiftF9.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by John Doe »

sToLp wrote: Дак мне его теперь не набрать ни как. Вместо RShiftF9 набирается RShift+ShiftF9.
А как иначе-то?
Уберите макрос RShift+ShiftF9, и тогда по правому будет ваш ShiftF9
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by sToLp »

John Doe wrote:Уберите макрос RShift+ShiftF9, и тогда по правому будет ваш ShiftF9
Но тогда получается, что макросы типа LShift+ShiftF9 как бы лишние, потому что достаточно вместо них оставить просто ShiftF9. Чтобы соблюсти преемственность, не ломать старые макросы.

На мой взгляд, всё же, кажется лучше было бы, чтобы новые макросы типа LShift+ShiftF9 конкурировали бы со старыми макросами типа ShiftF9, выводились бы вместе с ними в меню "Выполнить макрос", а не забивали бы их.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by John Doe »

sToLp wrote: достаточно вместо них оставить просто ShiftF9
Разумеется, если вам не нужно различать правый и левый.
sToLp wrote: чтобы новые макросы типа LShift+ShiftF9 конкурировали бы со старыми макросами типа ShiftF9, выводились бы вместе с ними в меню "Выполнить макрос"
Для этого надо уравнять приоритеты. Либо в новых поставить 45, либо в старом 55.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by sToLp »

John Doe wrote:
sToLp wrote: чтобы новые макросы типа LShift+ShiftF9 конкурировали бы со старыми макросами типа ShiftF9, выводились бы вместе с ними в меню "Выполнить макрос"
Для этого надо уравнять приоритеты. Либо в новых поставить 45, либо в старом 55.
А вот это очень хорошо — поставил в новом макросе priority=45; и сразу стало комфортнее. И, полагаю, что эту подсказку надо бы и в описание. Спасибо!
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by John Doe »

sToLp wrote: И, полагаю, что эту подсказку надо бы и в описание. Спасибо!
Разница приоритетов была нужна для прочих комбинаций, а для xShift как вы справедливо заметили скорее мешает, а значит стоит предусмотреть это в скрипте.
Если конечно эти RShift/LShift кому-то нужны, это пока только эксперимент.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by sToLp »

John Doe wrote:это пока только эксперимент
Наличие добротного универсального инструмента ни когда не помешает.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by John Doe »

В шапке release 2
  • Теперь поддерживается и Shift во всех сочетаниях
  • Эксперимент с LShift, RShift, xShift "узаконен", использование описано в шапке.
    NB: речь только об отдельных, а сочетания с другими модификаторами (типа AltLShift) не различаются, имхо это излишне.
    Изменения:
    - Вместо RShift+ShiftF1 пишем нормально: RShift+F1
    - Приоритет не повышается
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by sToLp »

John Doe wrote:В шапке release 2
В Win10x64entRu большинство шорткатов работают нормально. Проблемы замечены лишь со следующими.

Pause+A/Break+A — срабатывает как просто Pause/Break, т.е. блокирует/разблокирует Фар; а остальные сочетания с этой клавишей (CtrlPause+A, AltPause+A, ShiftPause+A, CtrlAltBreak+A, CtrlShiftPause+A, AltShiftPause+A, CtrlAltShiftBreak+A) срабатывают так, как будто бы их вызывали без нажатия на клавишу Pause/Break.

Некоторые сочетания Apps+Буква не доходят до Фара (перехватываются системой). А сочетания CtrlApps+Буква и AltApps+Буква срабатывают как CtrlБуква и AltБуква (т.е. без Apps).
John Doe wrote:Эксперимент с LShift, RShift, xShift "узаконен"
На мой взгляд, с шифтами получается очень удобно.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by sToLp »

sToLp wrote: В Win10x64entRu большинство шорткатов работают нормально. Проблемы замечены лишь со следующими.
...
В Фаре последней (4742 x86) сборки в Win7x32 результаты сегодняшнего теста идентичны тем, которые ранее получились в Win10x64entRu.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Win, Apps, CapsLock [,...] в качестве модификаторов

Post by sToLp »

Похоже на то, что новые модификаторы (кроме Win) в сочетании с Alt работают только с LAlt, но не работают с RAlt. Но чётко это проверено с каждой буквой пока только на AltNumLock+Буква в Win10x64 и в Win7x32.
Post Reply

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