Open AVBL opened 5 years ago
Заменил содержимое файла (в каталоге "AppData\Roaming\Far Manager\Profile\Macros\scripts"; с перезапуском фара) на код, который предложен по ссылке - нет эффекта. Но даже если бы этот код работал - он же не в дистрибутиве лежит, а где-то на форуме.
Ай, блин, я затупил - только сейчас сообразил, что FAR различает нумпад, а я использую стрелки обычно как раз с нумпада (в данном случае - это CtrlNum0 вместо CtrlIns; разумеется, при выключенном нумлоке).
Так что багрепорт немного меняется - проблема не в том, что не работает CtrlIns, а в том, что не предусмотрена обработка его дубля - CtrlNum0.
PS: Кстати, а есть примеры пользы о того, что фар в макросах выделяет нумпадовские клавиши с выключенным нумлоком (Num0 вместо Ins, Num4 вместо Left)?
а есть примеры пользы
Нет, просто не существует честного способа определить какая клавиша нажата. Когда-то была эвристика, но в некоторых случаях она давала неожиданные результаты, посему убрали.
Сорь за офтопик, можно примерчики (или ссылку на них) таких неожиданных результатов? А насчёт эвристик - я, может, чего-то не знаю, но тут же вроде всё прямолинейно: при получении Num0 (и производных - Ctrl/Shift/AltNum0) сразу конвертировать в Ins/Ctrl/Shift/Alt (чтобы потом не было двойных проверок и двойных макросов).
И, кстати, насчёт двойных макросов: можно в одном макросе указать два хоткея? (Я просто не знаю где почитать про нынешние возможности макросов фара).
Я просто не знаю где почитать про нынешние возможности макросов фара.
В папке %FARHOME%\Encyclopedia. А также https://forum.farmanager.com/viewtopic.php?f=15&t=4365 А также https://forum.farmanager.com/viewtopic.php?f=15&t=7302
Спасибо, нашёл.
PS: Увы, "Клавиатурные макросы ... Поле “key” может содержать имя только одного ключа". Это я к тому, что у меня по два идентичных (кроме поля key) макроса internal\Editor_CtrlNum3.lua + Editor_CtrlPgDn.lua Macro { description=""; area="Editor"; key="CtrlPgDn"; flags=""; code="Keys(\"CtrlE\")"; } и internal\Editor_CtrlNum9.lua + Editor_CtrlPgUp.lua Macro { description=""; area="Editor"; key="CtrlPgUp"; flags=""; code="Keys(\"CtrlN\")"; }
Один ключ - это ограничение "клавиатурных" макросов. Используйте "стационарные" макросы, там нет этого ограничения.
Да, я сообразил после того, как написал, только что перетащил и слил, всё работает, спасибо.
можно примерчики (или ссылку на них) таких неожиданных результатов?
Посмотрел. Как я понял, основная изюминка обсуждения в том, что Shift+Num# в винде при включённом нумлоке возвращает Num# (без модификатора Shift, в отличие от Ctrl и Alt). И как это мешает тому, чтобы заменять для макросов Num# (и производные) на управляющие клавиши? Ну будет нажатие Shift-Num4 при включённом нумлоке возвращать Left, а не ShiftLeft - ну так оно и сейчас возвращает Num4, а не ShiftNum4, так что конвертация никаких новых искажений не добавит.
Тут вопрос в другом: есть ли примеры макросов, которые должны работать только, скажем, для Num4, но не для Left (или наоборот)?
Описание говорит "If CtrlIns was pressed while on .. and command line is empty then copy to clipboard the path of the current folder" (в descript.ion, кстати, сказано ".", а не ".."). Реализуется через "CtrlShift[" в диалоге создания каталога.
По факту же, всегда копируется только имя (не путь) каталога .., то есть проверка "if APanel.Bof and not APanel.Selected and not APanel.Root then" не работает.