Странности активации макросов при удерживании Ctrl/Alt/Shift
Странности активации макросов при удерживании Ctrl/Alt/Shift
как-то непонятно активация макросов работает...
Например, если макрос висит на BS - то по ShiftBS/AltBS/CtrlBS он активироваться не будет.
Макрос повешенный на 'p' - будет активироваться не только по 'p', но и по ShiftP (AltP и CtrlP не активируют).
А вот макрос повешенный на Alt всплывает и по CtrlAlt, ShiftAlt (Alt отпускается при удерживаемом Ctrl или Shift).
Например, если макрос висит на BS - то по ShiftBS/AltBS/CtrlBS он активироваться не будет.
Макрос повешенный на 'p' - будет активироваться не только по 'p', но и по ShiftP (AltP и CtrlP не активируют).
А вот макрос повешенный на Alt всплывает и по CtrlAlt, ShiftAlt (Alt отпускается при удерживаемом Ctrl или Shift).
- Kerberos464
- Posts: 1239
- Joined: Wed 29 Jul, 2009 20:24
- Location: Saint-Petersburg
- Has thanked: 19 times
- Been thanked: 1 time
Re: Странности активации макросов при удерживании Ctrl/Alt/S
и даже больше - макрос, назначенный на "p", срабатывает при нажатии на клавиатурную кнопку с русской буквой "з".Maximus5 wrote:Макрос повешенный на 'p' - будет активироваться не только по 'p', но и по ShiftP (AltP и CtrlP не активируют).
но, имхо, тут никакого бага и даже странности нету, ведь когда вы назначаете горячую кнопку для макроса, регистр и раскладка не имеет значения, для упомянутой клавиши там всегда высвечивается большая английская буква "P", независимо от того, нажмёте ли вы "p", Shift+P, русскую букву "з" или Shift+"русскую букву 3".
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
Re: Странности активации макросов при удерживании Ctrl/Alt/S
эээ, я же не о регистре говорил. Есть кнопка, на которой нарисованы символы (P З). На нее назначен макрос.
Вопрос в том, должен ли этот макрос активироваться при удерживании кнопки-модификатора (неважно Shift это Alt или Ctrl).
Вопрос в том, должен ли этот макрос активироваться при удерживании кнопки-модификатора (неважно Shift это Alt или Ctrl).
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: Странности активации макросов при удерживании Ctrl/Alt/S
Вопрос неоднозначный:
Выходит, модификатор Shift имеет особое значение, в случае если клавиша имеет верхний регистр.
И это обычно оправданно.
В случае вызова макроса лучше бы различать нажатие с Shift'ом, но боюсь, что это проблематично.
Во всяком случае такой вывод я сделал из этого обсуждения. (При включённом NumLock не различаются комбинации с цифровой клавиатуры: Shift-Num1 и т.д.)
Code: Select all
Shift-p = P
Shift-P = p
Alt-Shift-p = AltShiftP
Alt-Shift-P = AltShiftP
И это обычно оправданно.
В случае вызова макроса лучше бы различать нажатие с Shift'ом, но боюсь, что это проблематично.
Во всяком случае такой вывод я сделал из этого обсуждения. (При включённом NumLock не различаются комбинации с цифровой клавиатуры: Shift-Num1 и т.д.)
Re: Странности активации макросов при удерживании Ctrl/Alt/S
Допустим, Shift действительно имеет особое значение.
Остается вопрос почему активируется макрос на Alt, при удерживаемом Ctrl. И наоборот.
Остается вопрос почему активируется макрос на Alt, при удерживаемом Ctrl. И наоборот.
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: Странности активации макросов при удерживании Ctrl/Alt/S
Почему активируется - это понятно: потому что так уж обрабатываются фаром клавиши модификаторов.
Их комбинации между собой вообще не различаются:
Вопрос в другом: можно ли сделать иначе (и нужно ли)?
Их комбинации между собой вообще не различаются:
Code: Select all
macro:post $MMode 1 $While(%Key!="Esc") %Key=waitkey(); CtrlY $Text %Key $End waitkey(500) CtrlY
Re: Странности активации макросов при удерживании Ctrl/Alt/S
А почему не нужно? Для комбинаций Space & CtrlSpace - макросы разные. Почему тогда Alt и CtrlAlt - одинаковые?
PS. Для ясности. Я не агитирую за возможность назначать макрос на CtrlAlt. Просто считаю, что при нажатом модификаторе (другом, например Ctrl) макрос на Alt (и т.п) всплывать не должен.
PS. Для ясности. Я не агитирую за возможность назначать макрос на CtrlAlt. Просто считаю, что при нажатом модификаторе (другом, например Ctrl) макрос на Alt (и т.п) всплывать не должен.
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: Странности активации макросов при удерживании Ctrl/Alt/S
Это не совсем так.Maximus5 wrote:Почему тогда Alt и CtrlAlt - одинаковые?
Просто сейчас для фара вообще не существует "голых" нажатий комбинаций модификаторов.
Code: Select all
CtrlAlt
ShiftAlt
CtrlShift
CtrlShiftAlt
В этом легко убедиться с помощью макроса предложенного сообщением выше.
Кстати, и отдельностоящие -локи тоже не считаются нажатиями: NumLock нет, а CtrlNumLock есть.
Re: Странности активации макросов при удерживании Ctrl/Alt/S
Наверно и Клики мыши с модификаторами из той же серии?
http://forum.farmanager.com/viewtopic.p ... 166#p64166
http://forum.farmanager.com/viewtopic.p ... 166#p64166
SimSU ··· ·· -- ··· ··-
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
LuaMacro — Lua как язык макросов
Другой вопрос: требуется назначить макросы на одиночное нажатие
Однако сейчас такая комбинация не определяется: вместо этого нажатие "распознаётся" как одиночный
Выйти из положения конечно можно, проверив в условии макроса состояние нужных модификаторов.
Но подумалось, не баг ли это?
CtrlAlt
.Однако сейчас такая комбинация не определяется: вместо этого нажатие "распознаётся" как одиночный
Ctrl
или Alt
.Выйти из положения конечно можно, проверив в условии макроса состояние нужных модификаторов.
Но подумалось, не баг ли это?
-
- Posts: 6820
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
LuaMacro — Lua как язык макросов
Если и баг, то этот баг есть во всех версиях Фара (1.x, 2.x, 3.x).John Doe wrote:Другой вопрос: требуется назначить макросы на одиночное нажатиеCtrlAlt
.
Однако сейчас такая комбинация не определяется: вместо этого нажатие "распознаётся" как одиночныйCtrl
илиAlt
.
Выйти из положения конечно можно, проверив в условии макроса состояние нужных модификаторов.
Но подумалось, не баг ли это?
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
LuaMacro — Lua как язык макросов
Для модификатора, нажатого без "основной" клавиши, определяется не момент нажатия, а момент отпускания.
А для комбинаций модификаторов похоже определяется тот из них, что был нажат последним (а отпущен первым).
Подозреваю, что можно изменить это поведение, и определять всю комбинацию (и даже комбинации типа LAlt+RAlt).
Вопрос в том, правильно ли это будет?
Мне кажется, что да.
А для комбинаций модификаторов похоже определяется тот из них, что был нажат последним (а отпущен первым).
Подозреваю, что можно изменить это поведение, и определять всю комбинацию (и даже комбинации типа LAlt+RAlt).
Вопрос в том, правильно ли это будет?
Мне кажется, что да.
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
LuaMacro — Lua как язык макросов
http://bugs.farmanager.com/view.php?id=2857
А здесь пишу на случай если у кого-то иное мнение.
Например когда-то HaRT писал, что предпочёл бы чтобы комбинации AppsRWin и RWinApps считались разными (в зависимости от того, какая клавиша отпущена первой).
А здесь пишу на случай если у кого-то иное мнение.
Например когда-то HaRT писал, что предпочёл бы чтобы комбинации AppsRWin и RWinApps считались разными (в зависимости от того, какая клавиша отпущена первой).
LuaMacro — Lua как язык макросов
При быстрых нажатиях эти "отпущенные" клавиши будут постоянно меняться... А потом кто-то будет ругаться что не тот макрос срабатывает.