Поведение akey(1)

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
ccaid
Posts: 846
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 17 times
Been thanked: 5 times

Поведение akey(1)

Post by ccaid » Wed 26 Jun, 2013 19:10

при нажатии одиночных модификаторов ((.Alt)|(.Ctrl)|(Shift)) akey(1) возвращает символ смайлика. не баг ли это?
Фар делают добрые люди

Shmuel
Posts: 5836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 213 times

Re: Поведение akey(1)

Post by Shmuel » Wed 26 Jun, 2013 19:36

Наверное, баг. Но древний: наблюдается ещё в билде 2325, в то время, как в Фар 2 его нет.

ccaid
Posts: 846
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 17 times
Been thanked: 5 times

Re: Поведение akey(1)

Post by ccaid » Mon 01 Jul, 2013 20:37

Фар делают добрые люди

User avatar
SUSim
Posts: 1528
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 8 times

Re: Поведение akey(1)

Post by SUSim » Sun 04 Aug, 2013 09:48

Скорее всего, корни общие:

Code: Select all

  local Key=far.InputRecordToName(Rec)
  if Key=="\01" then return end -- Глючит far InputRecordToName возвращает {смайлик} при отпускании модификаторов...
Это не критично, но всё-же требует лишних приседаний :(
SimSU ··· ·· -- ··· ··-

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

Re: Поведение akey(1)

Post by John Doe » Thu 21 Nov, 2013 09:55

В результате фикса 2440 неожиданно изменилось поведение Keys("AKey")
А именно: алфавитные клавиши стали всегда приходить в верхнем регистре.

Простейший макрос для воспроизведения проблемы:

Code: Select all

Macro { 
  area="Shell"; key="/^.$/";
  action=function()
      Keys"AKey"
  end;
}
P.S.
Собственно та же проблема и с akey(1).
Keys"AKey" равнозначно print(akey(1))

Shmuel
Posts: 5836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 213 times

Re: Поведение akey(1)

Post by Shmuel » Thu 21 Nov, 2013 10:17

John Doe wrote:В результате фикса 2440 неожиданно изменилось поведение Keys("AKey")
А именно: алфавитные клавиши стали всегда приходить в верхнем регистре.
[......]
P.S.
Собственно та же проблема и с akey(1).
Это так. Кроме того, перестала учитываться раскладка языка клавиатуры. То-есть akey теперь выдаёт то же, что диалог назначения клавиши при ручной записи макроса.

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

Re: Поведение akey(1)

Post by John Doe » Thu 21 Nov, 2013 10:21

Существует ли способ выяснить какая клавиша на самом деле нажата?
(У меня половина макросов поломалась)

Shmuel
Posts: 5836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 213 times

Re: Поведение akey(1)

Post by Shmuel » Thu 21 Nov, 2013 16:26

John Doe wrote:Существует ли способ выяснить какая клавиша на самом деле нажата?
В 3721 должно быть как раньше.

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

Re: Поведение akey(1)

Post by John Doe » Fri 22 Nov, 2013 15:11

Порядок!
Замечу только что lm:post print(akey(1)) всё ещё выдаёт на экран смайл (не знаю баг это или нет)

Shmuel
Posts: 5836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 213 times

Re: Поведение akey(1)

Post by Shmuel » Fri 22 Nov, 2013 15:16

John Doe wrote:Замечу только что lm:post print(akey(1)) всё ещё выдаёт на экран смайл (не знаю баг это или нет)
Можно считать и багом. Например, если собрать Фар в debug mode, то будет выдаваться не смайл, а None.

User avatar
HaRT
Moderator
Posts: 8832
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 86 times
Been thanked: 151 times

Re: Поведение akey(1)

Post by HaRT » Fri 22 Nov, 2013 15:20

Фар есть инструмент, а не нянька. © 2009 DrKnS

Post Reply

Return to “Нужна помощь”