Для чего сейчас код клавиши: akey(0), waitkey(N,1), key(V) ?

Здесь обсуждается всё, что касается макросов.
User avatar
Xerox
Posts: 393
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Для чего сейчас код клавиши: akey(0), waitkey(N,1), key(V) ?

Post by Xerox »

Latest post of the previous page:

John Doe wrote:
Tue 31 Dec, 2019 13:21
Для этого вы используете mf.key?
чтобы переводить туда-сюда цифра<==>имя, да, все средства хороши, пусть будет под рукой..
И запретить пользователю нажимать модификаторы?
запрещать ничего не надо, но в части сценариев, особенно диагностических "low-level" сценариев, имеет смысл..
Обратите внимание на far.NameToInputRecord/far.InputRecordToName.
NameToInputRecord/far.InputRecordToName работают с РЕКОРДОМ, если не ошибаюсь? а это во многих сценариях мнее удобно чем с кодом

User avatar
Xerox
Posts: 393
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Для чего сейчас код клавиши: akey(0), waitkey(N,1), key(V) ?

Post by Xerox »

Еще вот что, мне не кажется что этот инцидент полностью исчерпан:
Названия клавиш и InputRecordToName
viewtopic.php?t=7160
0002109: InputRecordToName формирует неправильные названия клавиш. - MantisBT
https://bugs.farmanager.com/view.php?id=2109
..и не думаю что можно его исчерпать предложенным способом
раздление на символы и названия сочетаний мне представляется искусственным
наверное я не до конца понял идеологию стоящую за подходом,
но меня тем более не радует что ее надо долго понимать,
при этом лишиться вспомогательных числовых инструментов

User avatar
Xerox
Posts: 393
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Для чего сейчас код клавиши: akey(0), waitkey(N,1), key(V) ?

Post by Xerox »

Не знаю, о чем тут спорить, хорошо что есть названия, и то что есть коды тоже не вижу чем мешает.
Для диагностики без кодов не вижу как обойтись, пусть они и бессмысленные порой, но в конкретном контексте смысл-то всегда есть.
А контекст всегда индивидуальный для задачи, поэтому нет смысла говорить "нам не нужны особые случаи и индивидуальные контексты"
потому что на практике они всегда индивидуальные, и нужны как индивидуальные

User avatar
Xerox
Posts: 393
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Для чего сейчас код клавиши: akey(0), waitkey(N,1), key(V) ?

Post by Xerox »

Прастити миня, что наверное опять трачу чье-то время, как тут мне уже предьявляли
Признаю свою неправоту, непонимания, и прочие свои плохие свойства

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

Для чего сейчас код клавиши: akey(0), waitkey(N,1), key(V) ?

Post by John Doe »

Хороши те средства, которые задокументированы, стабильны, и предсказуемы.
Прочие лучше удалить, пока их не начали использовать странным образом.
Xerox wrote:
Tue 31 Dec, 2019 13:35
NameToInputRecord/far.InputRecordToName работают с РЕКОРДОМ,
Разумеется.
Но вы легко можете обернуть их в собственную функцию, с более подходящим для ваших задач интерфейсом.

User avatar
zg
zero-gravity
Posts: 5710
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 134 times
Contact:

Для чего сейчас код клавиши: akey(0), waitkey(N,1), key(V) ?

Post by zg »

Xerox wrote:
Tue 31 Dec, 2019 12:44
Так есть 4.) китайские клавиатуры для которой не напасешься именованных констант
что за клавиши такие нестандартные есть на китайских клавиатурах в таком большом количестве? или вы имеете ввиду многообразие китайских иероглифов.
Xerox wrote:
Tue 31 Dec, 2019 12:44
любые другие экзотичные клавиатуры
какие? (интересуют реальные примеры)
Xerox wrote:
Tue 31 Dec, 2019 13:16
Имеет ли мне смысл перепостить это в "предложения и идеи" ?
нет. ui завязан на длину строк, определение которой в данном случае станет сильно нетривиальным.
Last edited by zg on Wed 01 Jan, 2020 22:26, edited 1 time in total.

User avatar
Xerox
Posts: 393
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Для чего сейчас код клавиши: akey(0), waitkey(N,1), key(V) ?

Post by Xerox »

zg wrote:
Wed 01 Jan, 2020 22:26
что за клавиши такие нестандартные есть на китайских клавиатурах в таком большом количестве? или вы имеете ввиду многообразие китайских иероглифов.
Я не знаю как доказывать что два+два=четыре
для меня есть некоторые акиомы которые не требуют доказательсв:
1.) а в большом количестве и не надо. достаточно одного клав. кода который будет для кого-то (в потенциале многим) важным, а отсутствие его show stopper-ом.
допустим мы скажем "да пошли они" и будем тоже правы, но в принципе специально-то наверное так не надо делать, да?
3.) в адекватном программинге всегда есть (прежде всего)числовое и (далеко не всегде)именованное представление, и это неспроста
4.) клавиатуры бывают или могут быть разноязычные, специальные, с вендорскими прибамбасами ОЕМ-<something>
Придумывать имя коду с клавиатуры - можно наверное, но это может также и запутывать, имя не всегда однозначно.
И на каком оно языке должно быть, если это китайский вендор для китайских целей придумал клавишу на китайском ведроиде?
5.) Многие считают что современные клавиатуры это не верх совершенства, и можно бы их переизобрести, пересмотреть раскладки и иже с ними.
Есть альтернативные клавиатуры, и будут альтернативные, не говоря уже о тачпадных устройствах

Соглашаться со мной не обязательно, аксиомы доказывать или вести священную войну я не собираюсь,
Last edited by Xerox on Thu 02 Jan, 2020 19:03, edited 2 times in total.

User avatar
DrKnS
Posts: 5511
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 279 times

Для чего сейчас код клавиши: akey(0), waitkey(N,1), key(V) ?

Post by DrKnS »

Xerox wrote:
Thu 02 Jan, 2020 18:49
разноязычные, специальные, с вендорскими прибамбасами ОЕМ-<something>
Да хоть с педалями и вибратором.
Приложения (в т.ч. фар) знают о том, что в этом списке, и не более.
Китайский вендор может придумать что угодно, но проецироваться его драйверами оно будет либо на этот список, либо на какие-то custom actions.

User avatar
Xerox
Posts: 393
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Для чего сейчас код клавиши: akey(0), waitkey(N,1), key(V) ?

Post by Xerox »

DrKnS,
image.png
image.png (9.26 KiB) Viewed 224 times

ну собственно в списке явно присутствует некая extensibility
заметим что коды есть а имя еще не придумали, или не собираются придумывать,
потому что зачем если есть код?
пусть Vendor и придумываеть, а апликации будут получать код нажатия,
и думаю что если и сейчас впендюрить паяльником новую кнопку в этом диапазоне unassigned,
то аппликации ее безыменную прозрачно и получат и не подавятся особо.
видимо не будут знать что с ней делать, и ничего не сделают, но сам message придет.
я не уверен на 100% (это М$ все-таки) но думаю что ни Винда и ни адекватные апликации не рухнут.
те апликации (китайские вибраторы и перфораторы) которые знакомы впрочем отреагируют как надо.
и интересно что будет ФАР делать если ему приедет такая экзотика?
сам придумает имя для кода, или как?
Last edited by Xerox on Thu 02 Jan, 2020 21:09, edited 2 times in total.

User avatar
DrKnS
Posts: 5511
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 279 times

Для чего сейчас код клавиши: akey(0), waitkey(N,1), key(V) ?

Post by DrKnS »

Xerox wrote:
Thu 02 Jan, 2020 21:03
имя еще не придумали, или не собираются придумывать
Ну вот как войдет в нашу жизнь какая-нибудь новая технология (VR, например) - придумают, как в 2000 придумали play/pause, volume up/down и т.п.
что будет ФАР делать если ему приедет такая экзотика?
Игнорировать.

User avatar
zg
zero-gravity
Posts: 5710
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 134 times
Contact:

Для чего сейчас код клавиши: akey(0), waitkey(N,1), key(V) ?

Post by zg »

Xerox wrote:
Thu 02 Jan, 2020 18:49
для меня есть некоторые акиомы которые не требуют доказательсв:
которые выглядят в лучшем случае как демагогия.
Xerox wrote:
Thu 02 Jan, 2020 21:03
ну собственно в списке явно присутствует некая extensibility
заметим что коды есть а имя еще не придумали, или не собираются придумывать,
потому что зачем если есть код?
может быть всё таки потому, что они не используются?
Xerox wrote:
Thu 02 Jan, 2020 18:49
и интересно что будет ФАР делать если ему приедет такая экзотика?
сам придумает имя для кода, или как?
вот ваше главное непонимание. речь в этой теме идёт про внутренние коды клавиш в фаре. и если фар о клавише не знает, то у неё не будет ни имени, ни кода. поэтому в нормальном апи везде INPUT_RECORD, а вот это всё — легаси для совместимости со старыми макросами и поднятая вами старая дискуссия особого смысла не имеет.

Post Reply

Return to “Обсуждение макросов”