Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 12527
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 234 times

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by John Doe » Fri 22 Nov, 2019 14:29

Latest post of the previous page:

Xerox wrote:
Fri 22 Nov, 2019 13:39
Для ФАРа это получается как два последовательных события:
Неверно.
На нижнем уровне там гораздо больше событий + включая и все отпускания.
А на высоком, который и используется при назначении клавиш макросам, там событие одно.
Поэтому не очень понимаю, что вы там в макросе вычисляете.
Xerox wrote:
Fri 22 Nov, 2019 13:39
Прилетел RCtrlClear
Клавиша Num5 приходит как Clear, и это надо учитывать.
Однако какая же это проблема? Это известное (и ожидаемое) поведение.
Xerox wrote:
Fri 22 Nov, 2019 11:23
Проблема с КтрлНум5 видимо потому что в нем как то слишком уж жестко на него прошито центрирование панелей.
Процитированное мне по-прежнему неясно.

User avatar
Xerox
Posts: 236
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 237 times
Been thanked: 2 times

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by Xerox » Fri 22 Nov, 2019 15:25

John Doe wrote:
Fri 22 Nov, 2019 14:29
Xerox wrote: ↑
Fri 22 Nov, 2019 15:39
Для ФАРа это получается как два последовательных события:

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

Т.е., если мы запилили нечто такое:

Code: Select all

Macro { description="blah-blah-blah"; 
	area="Shell"; 
	key="Ctrl Alt"; 
	condition = function(key)
	--	win.OutputDebugString("got key: "..key)
		mf.printconsole("got key: "..key);
	end;
	action = function()  end;
}
..то мы обнаружим что реакция идет на отдельные нажатия Контроля и Альта, даже если юзер их нажимал слитно.
Чтобы реакция был именно на КтрлАльт, нужно их задать слитно вот так:

Code: Select all

key="CtrlAlt";
..и это сработает.
Hо проблема в том, что в способах задания нажатий возможны далеко не все "слитные" комбинации.
Т.е. нельзя задать например RCtrlShiftNum1, точнее задать то можно, но макрос срабатывать не будет.
Last edited by Xerox on Fri 22 Nov, 2019 15:27, edited 1 time in total.

User avatar
John Doe
Бюрократ
Posts: 12527
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 234 times

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by John Doe » Fri 22 Nov, 2019 15:28

Xerox wrote:
Fri 22 Nov, 2019 15:25
в результате бессонных ночей я приобрел уверенность что макрос реагирует по отдельности на все что мы ему даем, столько раз сколько прилетает.
А бессонных ночи использовал продуктивнее, свидетельством чего вы является например MacroEx.
Xerox wrote:
Fri 22 Nov, 2019 15:25
Hо проблема в том, что в способах задания нажатий возможны далеко не все "слитные" комбинации.
Продемонстрируйте проблему.
Xerox wrote:
Fri 22 Nov, 2019 15:25
нельзя задать например RCtrlShiftNum1
И этому есть объяснение.
Есть целая тема.

User avatar
Xerox
Posts: 236
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 237 times
Been thanked: 2 times

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by Xerox » Fri 22 Nov, 2019 15:53

John Doe wrote:
Fri 22 Nov, 2019 14:29
Клавиша Num5 приходит как Clear, и это надо учитывать.
Однако какая же это проблема? Это известное (и ожидаемое) поведение.
Ну не знаю кому это известно?
B справке на полстраницы:
Regular macros
mk:@MSITStore:C:\Program%20Files\Far%20Manager\Encyclopedia\macroapi_manual.en.chm::/75.html
не затрагивается и эта тема тоже

User avatar
Xerox
Posts: 236
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 237 times
Been thanked: 2 times

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by Xerox » Fri 22 Nov, 2019 15:55

John Doe wrote:
Fri 22 Nov, 2019 15:28
Продемонстрируйте проблему.

Xerox wrote: ↑
Fri 22 Nov, 2019 17:25
нельзя задать например RCtrlShiftNum1
Ну собственно это и демонcтрация, да

User avatar
Xerox
Posts: 236
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 237 times
Been thanked: 2 times

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by Xerox » Fri 22 Nov, 2019 15:57

John Doe wrote:
Fri 22 Nov, 2019 15:28
А бессонных ночи использовал продуктивнее, свидетельством чего вы является например MacroEx.
Хде брать MacroEx?
Last edited by Xerox on Fri 22 Nov, 2019 16:03, edited 1 time in total.

User avatar
Xerox
Posts: 236
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 237 times
Been thanked: 2 times

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by Xerox » Fri 22 Nov, 2019 16:02

John Doe wrote:
Fri 22 Nov, 2019 14:29
Xerox wrote: ↑
Fri 22 Nov, 2019 13:23
Проблема с КтрлНум5 видимо потому что в нем как то слишком уж жестко на него прошито центрирование панелей.

Процитированное мне по-прежнему неясно.
Ну это центрирование срабатывает всегда на вне зависимоти горит лампочка (НамЛок) или нет.
Я когда сражался с КтрлКлиром этим, получал все время центрирование панелей, вместо перехода на папку по "фолдер шорткат намба 5".
и поэтому на него и грешил.
ну таким образом я и познакомился с КтрлКлиром который не КтрлНум5.
так кого винить теперь в итоге?
Где написано что КтрлНум5 это КтрлКлир?

User avatar
John Doe
Бюрократ
Posts: 12527
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 234 times

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by John Doe » Fri 22 Nov, 2019 16:10

Xerox wrote:
Fri 22 Nov, 2019 16:02
Где написано что КтрлНум5 это КтрлКлир?
Xerox wrote:
Fri 22 Nov, 2019 15:53
Ну не знаю кому это известно?
Вы откуда знаете наименование клавиш (и их сочетаний) в фаре?
Списка не существует. Зато выше вом показали как это надёжно выяснить.
Xerox wrote:
Fri 22 Nov, 2019 15:55
Ну собственно это и демонcтрация, да
Нет.
Вы сделали неверные выводы из наблюдений.
Обсуждение например тут viewtopic.php?f=15&t=10912
Суть: ОС скрывает состояние Shift для нумпада.
Эвристическим путём можно приблизится к выяснению, но это не достаточно надёжно, поэтому такая эвристика убрана из фара.
Для своих целей макросом конечно можно решить.
Xerox wrote:
Fri 22 Nov, 2019 16:02
Ну это центрирование срабатывает всегда на вне зависимоти горит лампочка (НамЛок) или нет.
Снова преждевременнын выводы.

buniak_a_h
Posts: 1232
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 73 times
Contact:

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by buniak_a_h » Fri 22 Nov, 2019 16:17

John Doe wrote:
Fri 22 Nov, 2019 16:10
Xerox wrote:
Fri 22 Nov, 2019 15:53
Ну не знаю кому это известно?
Вы откуда знаете наименование клавиш (и их сочетаний) в фаре?
Списка не существует. Зато выше вом показали как это надёжно выяснить.
Да-да-да!!! Именно потому, что нет списка и наименования некоторых клавиш не совпали с ожидаемыми (например, CtrlBackSlash), я и сделал себе такую фишку.

User avatar
Xerox
Posts: 236
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 237 times
Been thanked: 2 times

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by Xerox » Fri 22 Nov, 2019 16:17

John Doe wrote:
Fri 22 Nov, 2019 16:10
Xerox wrote: ↑
Fri 22 Nov, 2019 17:53
Ну не знаю кому это известно?

Вы откуда знаете наименование клавиш (и их сочетаний) в фаре?
Списка не существует. Зато выше вом показали как это надёжно выяснить.
Xerox wrote:
Fri 22 Nov, 2019 15:57
А бессонных ночи использовал продуктивнее, свидетельством чего вы является например MacroEx.

Хде брать MacroEx?
Диагностический макрос который Буняк привел в начале? Там нет слова "MacroEx"
Last edited by Xerox on Fri 22 Nov, 2019 16:19, edited 2 times in total.

User avatar
John Doe
Бюрократ
Posts: 12527
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 234 times

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by John Doe » Fri 22 Nov, 2019 16:25

Xerox wrote:
Fri 22 Nov, 2019 16:17
Там нет слова "MacroEx"
Об этом я ничего не говорил.
Где его брать вы легко найдёте, особенно учитывая что он отмечен вашей благодарностью.
Но к данной теме это относится очень косвенным образом: я пытаюсь донести до вас мысль, что вы пока ещё имеете весьма смутное представление об обработке клавиш фаром.

User avatar
Xerox
Posts: 236
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 237 times
Been thanked: 2 times

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by Xerox » Fri 22 Nov, 2019 16:30

John Doe wrote:
Fri 22 Nov, 2019 16:10
Эвристическим путём можно приблизится к выяснению, но это не достаточно надёжно, поэтому такая эвристика убрана из фара.
Для своих целей макросом конечно можно решить.
Да, эвристически это тут и решено получается, для цели различать Ктрл(Шифт)Нум[0-9]
1.) Запоминается что был или не был нажат Ктрл-Шифт
2.) Если следующее нажатие это КтрлНум[0-9] - мы знаем что был Шифт
3.) Фолдер Шорткутс работают с НумПадом как ни в чем ни бывало
Last edited by Xerox on Fri 22 Nov, 2019 16:31, edited 2 times in total.

User avatar
John Doe
Бюрократ
Posts: 12527
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 234 times

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by John Doe » Fri 22 Nov, 2019 16:35

Не, у вас там всё странное. Начиная с наименований клавиш, и регэкспов для соответствия им.
Дальше даже ломать голову не хочется.

Варианты решения можно найти в теме, ссылку на которую я давал чуть выше.

User avatar
Xerox
Posts: 236
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 237 times
Been thanked: 2 times

Folder shortcut + Numpad problem - Макрос переассигнования действий и реакций в FARе вызываемых c NumPad numeric keys

Post by Xerox » Fri 22 Nov, 2019 17:02

John Doe wrote:
Fri 22 Nov, 2019 16:25
Но к данной теме это относится очень косвенным образом: я пытаюсь донести до вас мысль, что вы пока ещё имеете весьма смутное представление об обработке клавиш фаром.
да кто бы спорил..

Post Reply

Return to “Обсуждение макросов”