View Issue Details

IDProjectCategoryView StatusLast Update
0001225Far ManagerMacropublic2018-11-15 11:24
Reportersonar Assigned Tovskirdin  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformx86OSWindowsOS VersionXP SP2
Summary0001225: Назначение клавиши на записанный макрос
DescriptionЗаписываем макрос. Стадия назначения клавиши, окно "Задание макрокоманды"
1. Пытаемся назначит клавишу с тремя модификаторами CtrlAltShift ну и скажем буква F ( не важно). Нажав CtrlAltShift появляется CtrlAltShiftPress, затем мы нажимаем F. На экране CtrlAltShiftF. теперь если отпустить клавиши, то на экране останется CtrlAltShiftRelease . Т.е. получается нельзя назначить комбинацию такую ?
2. Пытаемся назначит клавишу с RAlt или RCtrl. Клавиша назначается, но только с Alt и с Ctrl. Т.е. правые кнопки не назначить?
3. Пытаемся назначит клавишу с тремя модификаторами RCtrlRAltShift ну и скажем буква F ( не важно). Нажав RCtrlRAltShift На экране появляется RightCtrlAltShiftPress , затем нажимаем F. Получаем CtrlAltShiftF. Отпускаем клавиши, получаем RightCtrlAltShiftRelease.
тут 2 вопроса/бага - почему RightCtrl а не RCtrl ? при появлении RightCtrlAltShiftRelease текст не влазит в отведенное место, в итоге первая буква не показывается. НО если после этого нажать простую комбинацию клавиш, то у них так же не будет видно первой буквы. А если это одна клавиша, то вообще будет пусто.

Воспроизводится как на Far 1.75 , так и Far 2
TagsNo tags attached.
Build

Activities

vskirdin

2009-12-25 07:49

administrator   bugnote:0004717

Last edited: 2009-12-25 07:50

1. CtrlAltShift - это спец.комбинация (читай - фича, но управляема: TechInfo #7, TechInfo #8)
2. назначение клавиши на тройной модификатор не предусмотрено
3. различие правого и левого Ctrl/Alt реализовано только на уровне букмарков, в макросах не предусмотрено.
4. [L|R]Win и Apps не могут быть модификаторами - не предусмотрено.

на счет сдвига влево - здесь согласен, бага

sonar

2009-12-25 08:44

developer   bugnote:0004718

что тогда означает CtrlAltShiftRelease , на которую все таки удалось записать макрос (только как вот его вызвать?)
и странное название RightCtrl - оно верное ? мне казалось что используется имя RСtrl.

vskirdin

2009-12-25 09:46

administrator   bugnote:0004719

Есть CtrlAltShiftPress и есть CtrlAltShiftRelease, так же есть RightCtrlAltShiftPress и RightCtrlAltShiftRelease.
Это спецклавиши (см.keyboard.cpp, массив FKeys1[]).
В данном случае приставка "RightCtrl" это не ошибка, а так задумывалось.
Для того, чтобы задействовать комбинацию из 3 модификаторов... надо много переделать :-)

JohnDoe

2009-12-25 09:55

updater   bugnote:0004720

>Для того, чтобы задействовать комбинацию из 3 модификаторов... надо много переделать :-)
Ничего не надо переделывать - всё работает (Techinfo #68)

[HKEY_CURRENT_USER\Software\Far2\System]
"CASRule"=dword:00000000

>Это спецклавиши
Логично не отображать в диалоге назначения клавиш те клавиши, на которые нельзя назначить макрос.
Или это невозможно?

sonar

2009-12-25 10:08

developer   bugnote:0004721

ответ правда на "что такое CtrlAltShiftRelease" так и не получил. но насколько я понял это "событие" - отпустили эти 3 нажатые кнопки. ну а PRESS , это нажали

vskirdin

2009-12-25 13:58

administrator   bugnote:0004722

sonar, у тебя что-нибудь происходить при нажатии этих трех клавиш?
если нет, то для эксперимента поковыряйся с указанными ранее TI.

sonar

2009-12-25 14:39

developer   bugnote:0004725

vskirdin
у меня происходит как и написано в TI
ты меня наверное не правильно понял. последним сообщением я лишь хотел понять что эта комбинация (которая высвечивается все таки) означает. и все...

vskirdin

2010-03-18 09:40

administrator   bugnote:0005068

все довольны? закрываем?

sonar

2010-03-18 10:22

developer   bugnote:0005069

баг
" при появлении RightCtrlAltShiftRelease текст не влазит в отведенное место, в итоге первая буква не показывается. НО если после этого нажать простую комбинацию клавиш, то у них так же не будет видно первой буквы. А если это одна клавиша, то вообще будет пусто."

все еще есть

vskirdin

2010-03-18 10:55

administrator   bugnote:0005070

>...А если это одна клавиша, то вообще...
на 1437 не повторяется.

sonar

2010-03-18 10:59

developer   bugnote:0005071

RightCtrlAltShiftRelease так и не влазит, а остальное работает.

JohnDoe

2010-03-18 16:13

updater   bugnote:0005074

Лучше бы вообще не показывать пользователю CtrlAltShiftPress и др.

alexy

2011-12-23 10:22

administrator   bugnote:0008203

?

sonar

2011-12-23 10:57

developer   bugnote:0008207

исходя из дескрипшина - работает все , кроме странного поведения пункта 3.
 а именно
>Пытаемся назначит клавишу с тремя модификаторами RCtrlRAltShift ну и скажем буква F. Появляется RCtrlRAltShiftF. отпускаем клавиши - текст изменяется на BS.
если сброс невозможной комбинации RCtrlRAltShiftF на BS является нормальным поведением, то можно закрыть.

2useven10

2012-04-12 20:16

developer   bugnote:0008884

вроде всё работает.

JohnDoe

2012-04-13 10:31

updater   bugnote:0008887

Теперь возможно задавать комбинации CtrlAltShift+xxx независимо от состояния CASRule.
Но при умолчательном CASRule такие макросы не выполнятся, что может породить "багрепорты".

Вопрос: а что мешает выполнять макрос независимо от состояния CASRule?
Держим CtrlAltShift - панели погасились, добавляем xxx - пошло выполнение макроса.

vskirdin

2012-04-20 12:20

administrator   bugnote:0008988

> Держим CtrlAltShift - панели погасились, добавляем xxx - пошло выполнение макроса
это неверно. нужно так:
Нажали CtrlAltShift, добавляем xxx - пошло выполнение макроса. Если по истечении какого-то времени не добавили xxx - панели/редактор/вьювер/диалог/хелп погасились

JohnDoe

2012-04-20 16:29

updater   bugnote:0008990

>это неверно.
Дело вкуса.

>Если по истечении какого-то времени не добавили xxx - панели/редактор/вьювер/>диалог/хелп погасились
...и после того как они уже погасились добавлять xxx бесполезно (макрос уже не сработает)?

DrKnS

2012-04-20 17:23

administrator   bugnote:0008991

А убрать все эти casrule, обрабатывать cas как обычные клавиши, добавить в макроязык что-то типа ShowBackgound() и положить в addons\macros макрос с вызовом этой функции по cas - не прямее?

2useven10

2012-04-20 18:39

developer   bugnote:0008992

DrKnS++

JohnDoe

2012-04-20 19:33

updater   bugnote:0008993

Фишка ещё и в самой комбинации, а макрос никак нельзя назначить на CAS.
Но эти cas-правила неоправданно страшны.

Другое дело, что правила можно вообще убрать, оставив саму функциональность.

vskirdin

2012-04-21 05:00

administrator   bugnote:0008994

DrKnS, за "отпусканием", чтобы обратно вернуть объект, макрос следить будет?

DrKnS

2012-04-21 06:47

administrator   bugnote:0008996

можно макрос на casrelease, а можно и не возвращать управление из showbackgound пока приходят инпутрекорды с r->event==key_event и r->keyevent.bkeydown.

JohnDoe

2017-10-19 18:25

updater   bugnote:0015715

Вроде простой и удобный вариант:
что мешает выполнять макрос независимо от состояния CASRule?
Держим CtrlAltShift - панели погасились, добавляем xxx - пошло выполнение макроса.

DrKnS

2017-10-19 19:30

administrator   bugnote:0015716

Держим CtrlAltShift - панели погасились, добавляем xxx - пошло выполнение макроса.
Пользователь мог хотеть что-то сделать с панелями, не?

JohnDoe

2017-10-19 20:58

updater   bugnote:0015717

Если хотел, то и сделает.

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

JohnDoe

2018-11-15 11:24

updater   bugnote:0016316

Незавершённые обсуждения выделил в 0003676, 0003677

Issue History

Date Modified Username Field Change
2009-12-25 05:25 sonar New Issue
2009-12-25 07:49 vskirdin Note Added: 0004717
2009-12-25 07:50 vskirdin Note Edited: 0004717
2009-12-25 08:44 sonar Note Added: 0004718
2009-12-25 09:46 vskirdin Note Added: 0004719
2009-12-25 09:55 JohnDoe Note Added: 0004720
2009-12-25 10:08 sonar Note Added: 0004721
2009-12-25 13:58 vskirdin Note Added: 0004722
2009-12-25 14:39 sonar Note Added: 0004725
2010-02-15 16:41 alexy Status new => assigned
2010-02-15 16:41 alexy Assigned To => vskirdin
2010-03-18 09:40 vskirdin Note Added: 0005068
2010-03-18 10:22 sonar Note Added: 0005069
2010-03-18 10:55 vskirdin Note Added: 0005070
2010-03-18 10:59 sonar Note Added: 0005071
2010-03-18 16:13 JohnDoe Note Added: 0005074
2011-12-23 10:22 alexy Note Added: 0008203
2011-12-23 10:57 sonar Note Added: 0008207
2012-04-12 20:16 2useven10 Note Added: 0008884
2012-04-13 10:31 JohnDoe Note Added: 0008887
2012-04-20 12:20 vskirdin Note Added: 0008988
2012-04-20 16:29 JohnDoe Note Added: 0008990
2012-04-20 17:23 DrKnS Note Added: 0008991
2012-04-20 18:39 2useven10 Note Added: 0008992
2012-04-20 19:33 JohnDoe Note Added: 0008993
2012-04-21 05:00 vskirdin Note Added: 0008994
2012-04-21 06:47 DrKnS Note Added: 0008996
2017-10-19 18:25 JohnDoe Note Added: 0015715
2017-10-19 19:30 DrKnS Note Added: 0015716
2017-10-19 20:58 JohnDoe Note Added: 0015717
2018-11-15 11:24 JohnDoe Status assigned => closed
2018-11-15 11:24 JohnDoe Resolution open => fixed
2018-11-15 11:24 JohnDoe Note Added: 0016316