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

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

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

Post by ccaid »

при нажатии одиночных модификаторов ((.Alt)|(.Ctrl)|(Shift)) akey(1) возвращает символ смайлика. не баг ли это?
Фар делают добрые люди
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

Наверное, баг. Но древний: наблюдается ещё в билде 2325, в то время, как в Фар 2 его нет.
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

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

Post by ccaid »

Фар делают добрые люди
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

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

Post by SUSim »

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

Code: Select all

  local Key=far.InputRecordToName(Rec)
  if Key=="\01" then return end -- Глючит far InputRecordToName возвращает {смайлик} при отпускании модификаторов...
Это не критично, но всё-же требует лишних приседаний :(
SimSU ··· ·· -- ··· ··-
User avatar
John Doe
Бюрократ
Posts: 13847
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

В результате фикса 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: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

John Doe wrote:В результате фикса 2440 неожиданно изменилось поведение Keys("AKey")
А именно: алфавитные клавиши стали всегда приходить в верхнем регистре.
[......]
P.S.
Собственно та же проблема и с akey(1).
Это так. Кроме того, перестала учитываться раскладка языка клавиатуры. То-есть akey теперь выдаёт то же, что диалог назначения клавиши при ручной записи макроса.
User avatar
John Doe
Бюрократ
Posts: 13847
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Существует ли способ выяснить какая клавиша на самом деле нажата?
(У меня половина макросов поломалась)
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

John Doe wrote:Существует ли способ выяснить какая клавиша на самом деле нажата?
В 3721 должно быть как раньше.
User avatar
John Doe
Бюрократ
Posts: 13847
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Порядок!
Замечу только что lm:post print(akey(1)) всё ещё выдаёт на экран смайл (не знаю баг это или нет)
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

John Doe wrote:Замечу только что lm:post print(akey(1)) всё ещё выдаёт на экран смайл (не знаю баг это или нет)
Можно считать и багом. Например, если собрать Фар в debug mode, то будет выдаваться не смайл, а None.
User avatar
HaRT
Moderator
Posts: 10854
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

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

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