View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001225 | Far Manager | Macro | public | 2009-12-25 05:25 | 2018-11-15 11:24 |
Reporter | sonar | Assigned To | vskirdin | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | x86 | OS | Windows | OS Version | XP SP2 |
Summary | 0001225: Назначение клавиши на записанный макрос | ||||
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 | ||||
Tags | No tags attached. | ||||
Build | |||||
|
1. CtrlAltShift - это спец.комбинация (читай - фича, но управляема: TechInfo #7, TechInfo #8) 2. назначение клавиши на тройной модификатор не предусмотрено 3. различие правого и левого Ctrl/Alt реализовано только на уровне букмарков, в макросах не предусмотрено. 4. [L|R]Win и Apps не могут быть модификаторами - не предусмотрено. на счет сдвига влево - здесь согласен, бага |
|
что тогда означает CtrlAltShiftRelease , на которую все таки удалось записать макрос (только как вот его вызвать?) и странное название RightCtrl - оно верное ? мне казалось что используется имя RСtrl. |
|
Есть CtrlAltShiftPress и есть CtrlAltShiftRelease, так же есть RightCtrlAltShiftPress и RightCtrlAltShiftRelease. Это спецклавиши (см.keyboard.cpp, массив FKeys1[]). В данном случае приставка "RightCtrl" это не ошибка, а так задумывалось. Для того, чтобы задействовать комбинацию из 3 модификаторов... надо много переделать :-) |
|
>Для того, чтобы задействовать комбинацию из 3 модификаторов... надо много переделать :-) Ничего не надо переделывать - всё работает (Techinfo #68) [HKEY_CURRENT_USER\Software\Far2\System] "CASRule"=dword:00000000 >Это спецклавиши Логично не отображать в диалоге назначения клавиш те клавиши, на которые нельзя назначить макрос. Или это невозможно? |
|
ответ правда на "что такое CtrlAltShiftRelease" так и не получил. но насколько я понял это "событие" - отпустили эти 3 нажатые кнопки. ну а PRESS , это нажали |
|
sonar, у тебя что-нибудь происходить при нажатии этих трех клавиш? если нет, то для эксперимента поковыряйся с указанными ранее TI. |
|
vskirdin у меня происходит как и написано в TI ты меня наверное не правильно понял. последним сообщением я лишь хотел понять что эта комбинация (которая высвечивается все таки) означает. и все... |
|
все довольны? закрываем? |
|
баг " при появлении RightCtrlAltShiftRelease текст не влазит в отведенное место, в итоге первая буква не показывается. НО если после этого нажать простую комбинацию клавиш, то у них так же не будет видно первой буквы. А если это одна клавиша, то вообще будет пусто." все еще есть |
|
>...А если это одна клавиша, то вообще... на 1437 не повторяется. |
|
RightCtrlAltShiftRelease так и не влазит, а остальное работает. |
|
Лучше бы вообще не показывать пользователю CtrlAltShiftPress и др. |
|
? |
|
исходя из дескрипшина - работает все , кроме странного поведения пункта 3. а именно >Пытаемся назначит клавишу с тремя модификаторами RCtrlRAltShift ну и скажем буква F. Появляется RCtrlRAltShiftF. отпускаем клавиши - текст изменяется на BS. если сброс невозможной комбинации RCtrlRAltShiftF на BS является нормальным поведением, то можно закрыть. |
|
вроде всё работает. |
|
Теперь возможно задавать комбинации CtrlAltShift+xxx независимо от состояния CASRule. Но при умолчательном CASRule такие макросы не выполнятся, что может породить "багрепорты". Вопрос: а что мешает выполнять макрос независимо от состояния CASRule? Держим CtrlAltShift - панели погасились, добавляем xxx - пошло выполнение макроса. |
|
> Держим CtrlAltShift - панели погасились, добавляем xxx - пошло выполнение макроса это неверно. нужно так: Нажали CtrlAltShift, добавляем xxx - пошло выполнение макроса. Если по истечении какого-то времени не добавили xxx - панели/редактор/вьювер/диалог/хелп погасились |
|
>это неверно. Дело вкуса. >Если по истечении какого-то времени не добавили xxx - панели/редактор/вьювер/>диалог/хелп погасились ...и после того как они уже погасились добавлять xxx бесполезно (макрос уже не сработает)? |
|
А убрать все эти casrule, обрабатывать cas как обычные клавиши, добавить в макроязык что-то типа ShowBackgound() и положить в addons\macros макрос с вызовом этой функции по cas - не прямее? |
|
DrKnS++ |
|
Фишка ещё и в самой комбинации, а макрос никак нельзя назначить на CAS. Но эти cas-правила неоправданно страшны. Другое дело, что правила можно вообще убрать, оставив саму функциональность. |
|
DrKnS, за "отпусканием", чтобы обратно вернуть объект, макрос следить будет? |
|
можно макрос на casrelease, а можно и не возвращать управление из showbackgound пока приходят инпутрекорды с r->event==key_event и r->keyevent.bkeydown. |
|
Вроде простой и удобный вариант:что мешает выполнять макрос независимо от состояния CASRule? |
|
Держим CtrlAltShift - панели погасились, добавляем xxx - пошло выполнение макроса.Пользователь мог хотеть что-то сделать с панелями, не? |
|
Если хотел, то и сделает. Впрочем, меня это уже не особо заботит. Поскольку обсуждение зашло за пределы, заявленные а описании тикета, предлагаю закрыть. |
|
Незавершённые обсуждения выделил в 0003676, 0003677 |
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 |