Latest post of the previous page:
Странно, если делать по отдельности key="AltA AltB AltC", то для вариант с RAlt получается не нужен. Если делать через регулярное выражение key="/R?Alt(Shift)?[A-Z]/", то приходится добавлять "R?"Поведение, когда нужно сделать выбор из нескольких макросов
-
- Posts: 6836
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
Это не странно, это так сделано. Для отдельных ключей и для их списков сохранено поведение, когда "Alt" фактически означает "Alt RAlt" и т.п. Для регекспов такое сделать затруднительно, да и на мой взгляд - нежелательно.Smitis wrote:Странно, если делать по отдельности key="AltA AltB AltC", то для вариант с RAlt получается не нужен. Если делать через регулярное выражение key="/R?Alt(Shift)?[A-Z]/", то приходится добавлять "R?"
Нынешнее поведение позволяет указать любой из вариантов:
1. левый Alt: /Alt/
2. правый Alt: RAlt или /RAlt/
3. любой из них: Alt или /R?Alt/
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
Но такое несоответстие поведения регулярных выражений обычным клавишам создаёт путаницу.Shmuel wrote:Это не странно, это так сделано. Для отдельных ключей и для их списков сохранено поведение, когда "Alt" фактически означает "Alt RAlt" и т.п. Для регекспов такое сделать затруднительно, да и на мой взгляд - нежелательно.
Нынешнее поведение позволяет указать любой из вариантов:
1. левый Alt: /Alt/
2. правый Alt: RAlt или /RAlt/
3. любой из них: Alt или /R?Alt/
Например, если я вешаю на, скажем AltA, один макрос, а затем, с большим приоритетом, второй, то макрос вызовется при любом Alt, хоть левом, хоть правом. Но если первый макрос был /R?AltA/, то второй должен быть key="AltA RAltA".
Вот в моём случае, например, регулярное выражение для заглушек приводит к сокращению записи в одном месте, но увеличению в других.
Разум когда-нибудь победит.
-
- Posts: 6836
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
При нажатии RAltA отдаётся предпочтение /R?AltA/ (точное совпадение) по отношению к AltA (неточное совпадение). То-есть до сравнения приоритетов дело не доходит. Возможно, алгоритм стоит подкорректировать, но на данный момент необходимость обозначить key="AltA RAltA" (и только в случаях, подобных вашему) не видится таким уж серьёзным препятствием.Smitis wrote:Но такое несоответстие поведения регулярных выражений обычным клавишам создаёт путаницу.
Например, если я вешаю на, скажем AltA, один макрос, а затем, с большим приоритетом, второй, то макрос вызовется при любом Alt, хоть левом, хоть правом. Но если первый макрос был /R?AltA/, то второй должен быть key="AltA RAltA".
Вот в моём случае, например, регулярное выражение для заглушек приводит к сокращению записи в одном месте, но увеличению в других.
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
Понял. Правится не будет. Значит, единственным макросом заглушкой обойтись просто так не удаётся. Увы, возвращаюсь к множественному заданию заглушек "AltA AltB AltC ..."
Разум когда-нибудь победит.
-
- Posts: 6836
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
Насчёт "правиться не будет" никто не говорил. Если будет предложен алгоритм, который удобнее или логичнее существующего, можно будет и поправить.Smitis wrote:Понял. Правится не будет. Значит, единственным макросом заглушкой обойтись просто так не удаётся. Увы, возвращаюсь к множественному заданию заглушек "AltA AltB AltC ..."
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
Что решили насчёт объединения priority и condition?
Имхо это разные вещи, и использоваться могут одновременно.
Причём результат зависит даже от того, в каком порядке они будут проверяться.
Сейчас priority проверяется раньше condition. Не факт, что это оптимально.
Имхо это разные вещи, и использоваться могут одновременно.
Причём результат зависит даже от того, в каком порядке они будут проверяться.
Сейчас priority проверяется раньше condition. Не факт, что это оптимально.
-
- Posts: 6836
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
Объединения не будет, для этого и советовался в форуме.John Doe wrote:Что решили насчёт объединения priority и condition?
Имхо это разные вещи, и использоваться могут одновременно.
Причём результат зависит даже от того, в каком порядке они будут проверяться.
Сейчас priority проверяется раньше condition. Не факт, что это оптимально.
А priority НЕ проверяется раньше condition, насколько мне известно.
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
Да, поторопился я, был не прав.
А какой сейчас рекомендуется способ для временного отключения макроса?
Закомментировать блок это логично, но всегда удобно.
Остаётся только "испортить" имя клавиатурной комбинации
Может лучше зарезервировать для этого приоритет 0?
(А встроенные действия фара в этом случае можно принять за 1)
А какой сейчас рекомендуется способ для временного отключения макроса?
Закомментировать блок это логично, но всегда удобно.
Остаётся только "испортить" имя клавиатурной комбинации
Может лучше зарезервировать для этого приоритет 0?
(А встроенные действия фара в этом случае можно принять за 1)
-
- Posts: 6836
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
Это тоже неудобно, так как придётся добавлять поле priority в макросы, где такого поля не было.John Doe wrote:А какой сейчас рекомендуется способ для временного отключения макроса?
[......]
Может лучше зарезервировать для этого приоритет 0?
(А встроенные действия фара в этом случае можно принять за 1)
Предлагаю добавить функцию-заглушку NoMacro, то-есть добавление No будет отключать данный макрос.
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
Когда обсуждали, недавно, введение LAlt, LCtrl, LShift решили этого не делать. Но тем не менее, регэкспы в key делают именно это плюс теряют простой Alt (Ctrl,Shift) как любой Alt. По-моему, это не логично.Shmuel wrote:Насчёт "правиться не будет" никто не говорил. Если будет предложен алгоритм, который удобнее или логичнее существующего, можно будет и поправить.
Разум когда-нибудь победит.
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
Т.е. для отключения надо будет просто вставить No перед Macro {...?Shmuel wrote:Предлагаю добавить функцию-заглушку NoMacro, то-есть добавление No будет отключать данный макрос.
Думаю то что надо.
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
+1Предлагаю добавить функцию-заглушку NoMacro, то-есть добавление No будет отключать данный макрос.
Разум когда-нибудь победит.
-
- Posts: 6836
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
Насколько я понимаю, эти недостатки всплывают только при конфликте макросов с простой спецификацией, с одной стороны, и с регекспами, с другой. То-есть регексп побеждает. Но я не знаю пока, как это лечить, и надо ли. Можно применять регекспы отдельно, простые ключи или их списки - отдельно. Не было регекспов, не было проблемы. В конце концов, никто ведь не заставляет пользоваться регекспами.Smitis wrote:Когда обсуждали, недавно, введение LAlt, LCtrl, LShift решили этого не делать. Но тем не менее, регэкспы в key делают именно это плюс теряют простой Alt (Ctrl,Shift) как любой Alt. По-моему, это не логично.
Предложите точную спецификацию, какое должно быть поведение, тогда можно будет говорить конкретнее.
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
Выше говорилось что "Alt" неявно представляет собой "Alt RALt".Shmuel wrote:При нажатии RAltA отдаётся предпочтение /R?AltA/ (точное совпадение) по отношению к AltA (неточное совпадение).
Значит предпочтения быть не должно, и надо считать оба варианта точными совпадениями.
-
- Posts: 6836
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
До 3054 было предпочтение, а теперь быть не должно? Почему? Что изменилось?John Doe wrote:Выше говорилось что "Alt" неявно представляет собой "Alt RALt".
Значит предпочтения быть не должно, и надо считать оба варианта точными совпадениями.