Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
Оказывается что в FAR'е "by design" (и описано во встроенной помощи) очень специальное и нестандартное обращение с NumPad клавишами.
Не вдаваясь в подробности, к ним привязаны разные shortcuts и atcions.
И так получилось, что сочетания RCtrl+Num0-9 оказались заняты системой.
Проблема в том что той же системой сочетания RCtrl+0-9 используются также для Folder Shortcuts.
И как раз прыгать с помощью RCtrl+NumPad более эргономично чем по основной клавиатуре.
Т.е. Folder Shortcuts конфликтуют с этими другими actions.
В то же время, эти actions не бесполезные, и наверное можно их сохранить без ущерба для Folder Shortcuts.
Стоит две задачи:
1.) Использовать RCtrl+NumPad для Folder Shortcuts
2.) Перевести уже определенные для RCtrl+NumPad actions на другое сочетание нажатий клавиш
3.) Сделать это надежно, логично, эффективно
Я думаю наиболее прозрачно переассигновать существующие RCtrl+NumPad actions на RCtrl+RAlt+NumPad
Передумал. Сделал поведение цифрового Ctrl(Shift)NumPad[0-9] таким же как Ctrl(Shift)[0-9].
Цифровой NumPad - это, если что, при при горящей лампочке NumLock.
При выключенмой лампочке NumLock:
1.) это Up/Down/LEft/Right/PageUp/PageDown(..)
2.) На "Ктрл+5" ФАРом повешено и продолжает работать центрированние панелей
Я провел тщательное иследование, и не обнаружил ничего такого что позволило бы это сделать через конвенциональное меню или даже far:config.
Ни так как хочется удобства прыганья по папкам, то пришлось вникнуть что можно все-таки с этим сделать.
Оказалось что в FARе есть развитая подсистема скриптинга.
Развитя, но при этом глючная, но об этом позже.
В конечном итоге написан относительно короткий, но максимально короткий насколько это возможно, макрос.
PS
Ранее бывший тут кода переосмыслен
Решено что CtrlShiftNum# надо убрать, поскольку:
* не являтся необходимыми для прозиводительности
* и использовать можно продолжать с основной клавиатуры
* в то же время усложняет макрос в разы
Прошу брать эту починенную версию: Извлечь из архива и положить в:
%FARPROFILE%\Macros\scripts\
Не вдаваясь в подробности, к ним привязаны разные shortcuts и atcions.
И так получилось, что сочетания RCtrl+Num0-9 оказались заняты системой.
Проблема в том что той же системой сочетания RCtrl+0-9 используются также для Folder Shortcuts.
И как раз прыгать с помощью RCtrl+NumPad более эргономично чем по основной клавиатуре.
Т.е. Folder Shortcuts конфликтуют с этими другими actions.
В то же время, эти actions не бесполезные, и наверное можно их сохранить без ущерба для Folder Shortcuts.
Стоит две задачи:
1.) Использовать RCtrl+NumPad для Folder Shortcuts
2.) Перевести уже определенные для RCtrl+NumPad actions на другое сочетание нажатий клавиш
3.) Сделать это надежно, логично, эффективно
Я думаю наиболее прозрачно переассигновать существующие RCtrl+NumPad actions на RCtrl+RAlt+NumPad
Передумал. Сделал поведение цифрового Ctrl(Shift)NumPad[0-9] таким же как Ctrl(Shift)[0-9].
Цифровой NumPad - это, если что, при при горящей лампочке NumLock.
При выключенмой лампочке NumLock:
1.) это Up/Down/LEft/Right/PageUp/PageDown(..)
2.) На "Ктрл+5" ФАРом повешено и продолжает работать центрированние панелей
Я провел тщательное иследование, и не обнаружил ничего такого что позволило бы это сделать через конвенциональное меню или даже far:config.
Ни так как хочется удобства прыганья по папкам, то пришлось вникнуть что можно все-таки с этим сделать.
Оказалось что в FARе есть развитая подсистема скриптинга.
Развитя, но при этом глючная, но об этом позже.
В конечном итоге написан относительно короткий, но максимально короткий насколько это возможно, макрос.
PS
Ранее бывший тут кода переосмыслен
Решено что CtrlShiftNum# надо убрать, поскольку:
* не являтся необходимыми для прозиводительности
* и использовать можно продолжать с основной клавиатуры
* в то же время усложняет макрос в разы
Прошу брать эту починенную версию: Извлечь из архива и положить в:
%FARPROFILE%\Macros\scripts\
Last edited by Xerox on Sat 14 Dec, 2019 17:13, edited 9 times in total.
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
Чей-то пытливый взгляд может заметить и спросить, "а почему обработчик RCtrlNum5 идет отдельным скриптом?"
Ответ такой - я не знаю, это попортило мне немало крови, но другого выхода не нашлось.
Все клавиши ведут себя одинаково, кроме этого несчастного RCtrlNum5.
Опытным путем после сотни запусков наиболее отсечен неработающий и/или ненужный код, в сухом остатке имеем вот этот состоящий из трех обработчиков скрипт
Code: Select all
Macro { description="somehow specific handling for Ctrl5, because it refuses to follow other numpad keys rules";
area="Shell";
key="RCtrlNum5 RCtrlClear";
priority=100;
action=function()
Keys("RCtrl5")
end;
}
Все клавиши ведут себя одинаково, кроме этого несчастного RCtrlNum5.
Опытным путем после сотни запусков наиболее отсечен неработающий и/или ненужный код, в сухом остатке имеем вот этот состоящий из трех обработчиков скрипт
Last edited by Xerox on Thu 21 Nov, 2019 23:00, edited 1 time in total.
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
RCtrlNum5 такой клавиши не бывает, можно убрать.
Ну и да, можно и нужно объединить в один.
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
John Doe, Эээ.. я вчера пару часа жизни убил на борьбу и эксперименты с этим особенным КтрлНум5, и не нашел никакого другого спососба обойти, кроме приведенного.
Поэтому пожалуйста, скопируй себе этот макрос и попробуй поработать с/без хэндлинга КтрлНум5.. ?
Поэтому пожалуйста, скопируй себе этот макрос и попробуй поработать с/без хэндлинга КтрлНум5.. ?
Last edited by Xerox on Fri 22 Nov, 2019 10:58, edited 1 time in total.
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
Макрос RCtrlNum5 никогда не сработает, потому что это сочетание приходит как RCtrlClear.
В остальном я не пытаюсь комментировать, поскольку из описания толком не понял что должны делать эти макросы.
Но очень подозреваю что всё должно быть проще.
В остальном я не пытаюсь комментировать, поскольку из описания толком не понял что должны делать эти макросы.
Но очень подозреваю что всё должно быть проще.
- buniak_a_h
- Posts: 4269
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
Xerox, чтоб больше не попадаться на такое:
Рекомендую использовать маленький макрос типа хоткей поменяйте "под себя". Лично у меня на него висит много макросов, зависящих от расширения файла; в результате получается "контекстно-зависимое" меню
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
John Doe,
Ааа, я понял, ты имеешь ввиду что можно его просто убрать (а не весь обработчик), т.е. вместо
..оставить:
?
Да, действительно приходит RCtrlClear вместо того что ожидалось - RCtrlNum5.
Но я думаю что даже если ФАР "крадет" КтрлНум5, то лучше его оставить фдля наглядности, и может быть на каком-то этапе его перестанут "красть".
Проблема с КтрлНум5 видимо потому что в нем как то слишком уж жестко на него прошито центрирование панелей.
Мой скрипт оставляет возможность центрирования когда нет НумЛока (режим стрелок на НумПаде),
а когда есть НумЛок (режим цифер на НумПАде) - можно пользоваться для Фолдер ШортКатс.
А без этого скрипта нельзя, в этом и фикс
Ааа, я понял, ты имеешь ввиду что можно его просто убрать (а не весь обработчик), т.е. вместо
Code: Select all
key="RCtrlNum5 RCtrlClear";
Code: Select all
key="RCtrlClear"
Да, действительно приходит RCtrlClear вместо того что ожидалось - RCtrlNum5.
Но я думаю что даже если ФАР "крадет" КтрлНум5, то лучше его оставить фдля наглядности, и может быть на каком-то этапе его перестанут "красть".
Для работы с Folder Shortcuts, сейчас они на цифры НумПада не срабатывают, что подбешивает, так как с НумПада удобнее.
Проблема с КтрлНум5 видимо потому что в нем как то слишком уж жестко на него прошито центрирование панелей.
Мой скрипт оставляет возможность центрирования когда нет НумЛока (режим стрелок на НумПаде),
а когда есть НумЛок (режим цифер на НумПАде) - можно пользоваться для Фолдер ШортКатс.
А без этого скрипта нельзя, в этом и фикс
Last edited by Xerox on Fri 22 Nov, 2019 11:33, edited 2 times in total.
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
buniak_a_h, круто, все такие диагностически трики принимаю с благодарностью
Поделюсь тоже (надеюсь не офтопик?), пришел к таком скрипту чтобы понимать что происходит с нажатиями:
Поделюсь тоже (надеюсь не офтопик?), пришел к таком скрипту чтобы понимать что происходит с нажатиями:
Last edited by Xerox on Fri 22 Nov, 2019 11:32, edited 2 times in total.
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
Фар ничего не крадёт.
О какой проблеме речь?
Давайте проще.
Перечень сочетаний обрабатываемых макросом -> и во что они трансформируются в результате.
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
John Doe,
(Пишу налету, дооформлю если чо, и/или если придумаю как еще доходчивее:)
RCtrlNum[0-9] => RCtrl[0-9]
RCtrlShiftNum[0-9] => RCtrlShift[0-9]
Workaround for Num5:
RCtrlNum5(=RCtrlClear) => RCtrl5
RCtrlShift+RCtrlNum5(=RCtrlClear) => RCtrlShift5
Нормально так?
(Вернулся)
(Пишу налету, дооформлю если чо, и/или если придумаю как еще доходчивее:)
RCtrlNum[0-9] => RCtrl[0-9]
RCtrlShiftNum[0-9] => RCtrlShift[0-9]
Workaround for Num5:
RCtrlNum5(=RCtrlClear) => RCtrl5
RCtrlShift+RCtrlNum5(=RCtrlClear) => RCtrlShift5
Нормально так?
(Вернулся)
Last edited by Xerox on Fri 22 Nov, 2019 13:18, edited 2 times in total.
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
В режиме цифер на НамПаде, КтрлНум5 НЕ воспринимается как цифра (а должен), что мешает для ФолдерШорткатa(5), в результате ФолдерШорткат(5) не срабатывает
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
Как нажать эту комбинацию?
А как что он воспринимается?
И что значит "воспринимается как цифра"?
КтрлНум4 разве воспринимается цифрой
Last edited by John Doe on Fri 22 Nov, 2019 13:28, edited 1 time in total.
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
Для юзера это выглядит-делается как:
* Горит лампочка НамЛока
* Нажимается сочетание RCtrl+Shift+Num[0-9]
Для ФАРа это получается как два последовательных события:
1.) Прилетел RCtrlShift
2.) Прилетел RCtrlNum[0-9]
3.) (опционально:) макросом переделываем прилетевшее в RCtrlShift[0-9] для FolderShortcuts
За следующим исключением с Num5:
1.) Прилетел RCtrlShift
2.) Прилетел RCtrlClear
3.) (опционально:) макросом переделываем прилетевшее в RCtrlShift5 для FolderShortcuts
Last edited by Xerox on Fri 22 Nov, 2019 15:05, edited 2 times in total.
Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys
Моя неточность.
Cледует читать:
"не воспринимается как цифра (=руководство к действию) для Folder Shortcuts"
КтрлНум4 по крайней мере шлется как нажатие КтрлНум4, а не как CtrlClear в случае с CtrlNum5.И что значит "воспринимается как цифра"?
КтрлНум4 разве воспринимается цифрой
это и не только мною замечалось в этом обсуждении
Last edited by Xerox on Fri 22 Nov, 2019 13:48, edited 2 times in total.