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
Для чего это нужно:
Фар не различает левый и правый Shift, а с помощью модуля можно так:
local MacroX = require"xmod"(Macro)
MacroX {
area="Common"; key="CapsLock+A";
action=function()
far.Message"CapsLock+A"
end
}
MacroX {
area="Common"; key="LWin+A";
action=function()
far.Message"Win+A"
end
}
MacroX {
area="Common"; key="CtrlLWin+A";
action=function()
far.Message"CtrlWin+A"
end
}
Примечания:
Ограничение: в поле key не допускается перечисление нескольких сочетаний.
Ограничение: если на клавишу-модификатор (отдельно) уже назначен макрос, то сочетание не сработает.
Pause/Break и некоторые сочетания с LWin/RWin могут использоваться системой и не доходить до фара (при желании можно кое-что освободить).
Ряд сочетаний можно сделать доступными с помощью XKeys.
Отдельные комбинации спецклавиш в сочетании с модификаторами имеют особое название, например:
CtrlNumLock → CtrlPause
CtrlScrollLock → CtrlBreak
В любых сочетаниях с Ctrl клавиша Pause меняет название на Break
В комбинациях где дополнительный модификатор сочетается с Shift-<символ> без Ctrl/Alt, этот символ должен быть представлен той его формой, которая получается с нажатым Shift, т.е. например правильно ShiftLWin+! (а не ShiftLWin+1).
Win, Apps, CapsLock [,...] в качестве модификаторов
Posted: Sun 10 Jul, 2016 16:08
by John Doe
Latest post of the previous page:
В шапке 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.
Win, Apps, CapsLock [,...] в качестве модификаторов
Posted: Wed 13 Jul, 2016 16:58
by John Doe
sToLp wrote: Похоже на то, что новые модификаторы (кроме Win) в сочетании с Alt работают только с LAlt, но не работают с RAlt.
Win, Apps, CapsLock [,...] в качестве модификаторов
Posted: Wed 13 Jul, 2016 18:36
by sToLp
John Doe
Спасибо за информацию. Но пока что-то не стыкуется. Сейчас посмотрел на одной из машин, в Win10x64entRu которой установленная раскладка обозначена как "Russian without RUB symbol and with free right alt". В Фаре по lua:=mf.waitkey() правыйАлт распознаётся как правыйАлт, а правыйАлтНамЛок распознаётся как правыйАлтНамЛок. Однако при нажатиях на клавиши правыйАлтНамЛокБуква срабатывают макросы на АлтБуква. При этом макросы на левыйАлтНамЛокБуква срабатывают верно — как АлтНамЛокБуква. Завтра посмотрю ещё на других машинах.
Win, Apps, CapsLock [,...] в качестве модификаторов
Posted: Wed 13 Jul, 2016 19:22
by John Doe
sToLp wrote: Однако при нажатиях на клавиши правыйАлтНамЛокБуква срабатывают макросы на АлтБуква.
Возможно у вас существует макрос на RAltNumLock, стоит заглянуть в MacroBrowser
Ещё можно попробовать поднять приоритет макросов на RAltNumLock+буква
Win, Apps, CapsLock [,...] в качестве модификаторов
Posted: Wed 13 Jul, 2016 19:59
by sToLp
John Doe wrote:Ещё можно попробовать поднять приоритет макросов на RAltNumLock+буква
Отделил их от других и поднял приоритет до 55. И возымело действие — теперь работают и с левым, и с правым альтами. Благодарю Вас за подсказку.
Win, Apps, CapsLock [,...] в качестве модификаторов
Posted: Wed 13 Jul, 2016 20:03
by John Doe
sToLp wrote: Однако при нажатиях на клавиши правыйАлтНамЛокБуква срабатывают макросы на АлтБуква.
sToLp wrote: поднял приоритет до 55. И возымело действие
Вероятно эти макросы на АлтБуква зачем-то имеют повышенный приоритет.
Проверьте в макробраузере, и удостоверьтесь что это не случайно.
Win, Apps, CapsLock [,...] в качестве модификаторов
Posted: Wed 13 Jul, 2016 22:50
by sToLp
John Doe wrote:Вероятно эти макросы на АлтБуква зачем-то имеют повышенный приоритет.
Однако нет, это предположение не подтверждается. Если откатить приоритет для макросов на правыйАльтНамЛок+буква, то срабатывают макросы на АлтБуква с неуказанным, умолчальным, приоритетом. Макросов же с изменённым приоритетом на АлтБуква совсем не обнаружено.
Win, Apps, CapsLock [,...] в качестве модификаторов
Posted: Thu 14 Jul, 2016 07:22
by John Doe
sToLp wrote: Макросов же с изменённым приоритетом на АлтБуква совсем не обнаружено.
Может у них есть condition, возвращающий повышенный приоритет?
Win, Apps, CapsLock [,...] в качестве модификаторов
Posted: Thu 14 Jul, 2016 14:29
by sToLp
John Doe wrote:Может у них есть condition, возвращающий повышенный приоритет?
Такого тоже не нашёл.
И попробовал с единственным макросом на правыйАльтНамЛок+буква, но ситуация не изменилась.
Но заметил разницу в том, как (или какая) подсоединена клавиатура (в Win7 и в Win10). Если через порт PS/2, то при соответствующей раскладке макрос на правыйАльтНамЛок+буква срабатывает без проблем, а если через USB, то только после увеличения приоритета. Причём, если на ту машину, где раньше соединение было через PS/2, поставить клаву через USB, то она тоже работает нормально. А если наоборот, то для того, чтобы тоже стало нормально, после установки клавы через PS/2 нужно дважды по полной загрузиться и перезагрузиться, и всё становится на свои места. Но ещё м.б. что это не от порта зависит, а от самой клавиатуры. Дело в том, что на первой клавиатуре на правом Альте чётко обозначен AltGr, а на другой этого нет, там просто Alt. Т.е. они явно разные. Но драйверов ни к той, ни к другой не придаётся, видимо в расчёте на то, что и та, и другая "стандартные" клавиатуры.
С правымАльтАппс+буква тоже любопытный вариант. Но по-другому. При наличии макроса eMenu.lua если первой нажимать клавишу Alt, а затем Apps, то сработает данный макрос. А если наоборот — сначала нажать Apps, а затем Alt, то потом можно нажать букву и сработает макрос с новым модификатором.
Win, Apps, CapsLock [,...] в качестве модификаторов
Posted: Thu 14 Jul, 2016 15:07
by John Doe
sToLp wrote: Но заметил разницу в том, как (или какая) подсоединена клавиатура
Это какая-то мистика.
От порта и от самой клавиатуры может что-то зависеть конечно, но чтоб оно исправлялось приоритетом макроса в фаре, это я сомневаюсь.
sToLp wrote: С правымАльтАппс+буква тоже любопытный вариант.
Вы описали логичное и ожидаемое поведение.
Win, Apps, CapsLock [,...] в качестве модификаторов
Posted: Thu 14 Jul, 2016 18:11
by sToLp
John Doe wrote:
sToLp wrote: Но заметил разницу в том, как (или какая) подсоединена клавиатура
Это какая-то мистика
У меня тоже такое ощущение. Поэтому одна из машин с Win10x64entRu, на которой клавиатура установлена через USB, и в Фаре не срабатывают макросы на правыйАльтНамЛок+буква, оставлена как есть. Чтобы можно было применить другой, объяснимый, способ, когда он найдётся.
Win, Apps, CapsLock [,...] в качестве модификаторов
Posted: Fri 22 Jul, 2016 23:05
by John Doe
В шапке небольшое обновление
Исправление: теперь лево/правосторонние Ctrl и Alt работают по правилам luamacro (т.е. отдельно различаются L/R, а если не указано, то подразумеваются оба)