Page 4 of 6

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

Posted: Mon 04 Jul, 2016 12:37
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

Связанные темы:

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

Posted: Sat 09 Jul, 2016 14:56
by sToLp

Latest post of the previous page:

John Doe

Понятно. Похоже, что что-то вмешивается — система, сторонняя программа или м.б. плагин. Буду искать.

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

Posted: Sat 09 Jul, 2016 17:14
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
}

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

Posted: Sat 09 Jul, 2016 17:22
by sToLp
На текущий момент в отношении клавиши Pause/Break выяснил следующее.

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

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

Поведение в Win10 шортката CtrlShiftPause пока остаётся загадкой — отключение Punto Switcher на него не повлияло, и в сети о нём упоминания что-то не попадаются.

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

Posted: Sat 09 Jul, 2016 17:56
by sToLp
John Doe wrote:попытка различать правый и левый шифты
Новые макросы с шифтами работают исправно.
Однако я не понял равнозначен ли LShift+ShiftF9 простому ShiftF9? И если нет, то как при наличии расширенного шортката набирать простой нативный шорткат?

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

Posted: Sat 09 Jul, 2016 18:12
by John Doe
sToLp wrote: равнозначен ли LShift+ShiftF9 простому ShiftF9?
простой ShiftF9 сработает и на правый Shift.
sToLp wrote: то как при наличии расширенного шортката набирать простой нативный шорткат?
Не уверен что понял вопрос

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

Posted: Sat 09 Jul, 2016 18:24
by sToLp
John Doe wrote:
sToLp wrote: то как при наличии расширенного шортката набирать простой нативный шорткат?
Не уверен что понял вопрос
Когда я набираю ShiftF9, то при новой системе сообщение показывает мне LShift+ShiftF9.
John Doe wrote:простой ShiftF9 сработает и на правый Shift
Дак мне его теперь не набрать ни как. Вместо RShiftF9 набирается RShift+ShiftF9.

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

Posted: Sat 09 Jul, 2016 18:30
by John Doe
sToLp wrote: Дак мне его теперь не набрать ни как. Вместо RShiftF9 набирается RShift+ShiftF9.
А как иначе-то?
Уберите макрос RShift+ShiftF9, и тогда по правому будет ваш ShiftF9

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

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

На мой взгляд, всё же, кажется лучше было бы, чтобы новые макросы типа LShift+ShiftF9 конкурировали бы со старыми макросами типа ShiftF9, выводились бы вместе с ними в меню "Выполнить макрос", а не забивали бы их.

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

Posted: Sat 09 Jul, 2016 20:23
by John Doe
sToLp wrote: достаточно вместо них оставить просто ShiftF9
Разумеется, если вам не нужно различать правый и левый.
sToLp wrote: чтобы новые макросы типа LShift+ShiftF9 конкурировали бы со старыми макросами типа ShiftF9, выводились бы вместе с ними в меню "Выполнить макрос"
Для этого надо уравнять приоритеты. Либо в новых поставить 45, либо в старом 55.

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

Posted: Sat 09 Jul, 2016 20:51
by sToLp
John Doe wrote:
sToLp wrote: чтобы новые макросы типа LShift+ShiftF9 конкурировали бы со старыми макросами типа ShiftF9, выводились бы вместе с ними в меню "Выполнить макрос"
Для этого надо уравнять приоритеты. Либо в новых поставить 45, либо в старом 55.
А вот это очень хорошо — поставил в новом макросе priority=45; и сразу стало комфортнее. И, полагаю, что эту подсказку надо бы и в описание. Спасибо!

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

Posted: Sat 09 Jul, 2016 21:04
by John Doe
sToLp wrote: И, полагаю, что эту подсказку надо бы и в описание. Спасибо!
Разница приоритетов была нужна для прочих комбинаций, а для xShift как вы справедливо заметили скорее мешает, а значит стоит предусмотреть это в скрипте.
Если конечно эти RShift/LShift кому-то нужны, это пока только эксперимент.

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

Posted: Sat 09 Jul, 2016 21:13
by sToLp
John Doe wrote:это пока только эксперимент
Наличие добротного универсального инструмента ни когда не помешает.

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

Posted: Sun 10 Jul, 2016 16:08
by John Doe
В шапке release 2
  • Теперь поддерживается и Shift во всех сочетаниях
  • Эксперимент с LShift, RShift, xShift "узаконен", использование описано в шапке.
    NB: речь только об отдельных, а сочетания с другими модификаторами (типа AltLShift) не различаются, имхо это излишне.
    Изменения:
    - Вместо RShift+ShiftF1 пишем нормально: RShift+F1
    - Приоритет не повышается

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

Posted: Sun 10 Jul, 2016 20:07
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 "узаконен"
На мой взгляд, с шифтами получается очень удобно.

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

Posted: Tue 12 Jul, 2016 09:51
by sToLp
sToLp wrote: В Win10x64entRu большинство шорткатов работают нормально. Проблемы замечены лишь со следующими.
...
В Фаре последней (4742 x86) сборки в Win7x32 результаты сегодняшнего теста идентичны тем, которые ранее получились в Win10x64entRu.

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

Posted: Wed 13 Jul, 2016 14:01
by sToLp
Похоже на то, что новые модификаторы (кроме Win) в сочетании с Alt работают только с LAlt, но не работают с RAlt. Но чётко это проверено с каждой буквой пока только на AltNumLock+Буква в Win10x64 и в Win7x32.

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

Posted: Wed 13 Jul, 2016 14:27
by zg
потому что в большинстве раскладок ralt — это altgr. а altgr — это lctrl+ralt.