Page 1 of 1

Numpad и десятичный разделитель

Posted: Tue 23 Jul, 2019 17:06
by plastikat
На данный момент Far, при включенном NumLock и нажатии клавиши . Del, всегда (то есть, независимо от активной клавиатурной раскладки) печатает точку. Вроде бы, он всегда так и делал. При этом, ни одно другое (из известных мне) приложение так не делает -- на английской раскладке все печатают точку, а на русской - запятую. И это вполне логично, потому что "правильный" десятичный разделитель для русского языка это - запятая (хотя вопрос этот спорный, так как единого предписывающего стандарта не существует). Но стандарты - стандартами, а отличие поведения Far от других приложений - налицо. А вопрос - почему так? Прошу прощения, если вопрос риторический.

Numpad и десятичный разделитель

Posted: Tue 23 Jul, 2019 19:29
by DrKnS
plastikat wrote:
Tue 23 Jul, 2019 17:06
А вопрос - почему так?
А потому что баг.
5433.

Numpad и десятичный разделитель

Posted: Wed 24 Jul, 2019 15:31
by plastikat
Отлично, спасибо за работу!

Какие символы вводят Decimal, Add, Subtract, Multiply, Divide

Posted: Thu 08 Aug, 2019 22:55
by Shmuel
zg wrote:
Thu 08 Aug, 2019 22:49
а только у меня Keys("Add") в редакторе вставляет нулевой символ?
У меня тоже (билд 5443). На 5400 всё нормально.

Уменьшить скорость воспроизведения макроса

Posted: Thu 08 Aug, 2019 23:06
by Shmuel
Похоже на это:

Code: Select all

drkns 23.07.2019 19:23:43 +0100 - build 5433

1. VK_DECIMAL не всегда то же самое, что и '.'.

Глюки и баги, появившиеся в «ночных сборках»

Posted: Thu 08 Aug, 2019 23:37
by DrKnS
Shmuel wrote:
Thu 08 Aug, 2019 23:06
Похоже на это
Раньше было прибито гвоздями, что KEY_ADD, KEY_SUBTRACT, KEY_MULTIPLY, KEY_DIVIDE, KEY_DECIMAL - это + - * / ..
Сейчас берётся тот символ, который туда реально приходит от ОС.
В мапе, используемой в KeyNameToKey, нет сопоставленных символов, поэтому получается 0.
Их туда можно добавить конечно, но если у вас будет какая-то хитрая раскладка, в которой символы другие - фар об этом не узнает.
Если вам нужно ввести конкретные символы - надёжнее всего так и делать: Keys("+ - * / .")

Глюки и баги, появившиеся в «ночных сборках»

Posted: Fri 09 Aug, 2019 01:28
by Shmuel
DrKnS wrote:
Thu 08 Aug, 2019 23:37
В мапе, используемой в KeyNameToKey, нет сопоставленных символов, поэтому получается 0.
Их туда можно добавить конечно, но если у вас будет какая-то хитрая раскладка, в которой символы другие - фар об этом не узнает.
Макросы должны имитировать реальные нажатия клавиш. Если я нажимаю на Add в редакторе - печатается +, значит и макрос должен печатать +.

Глюки и баги, появившиеся в «ночных сборках»

Posted: Fri 09 Aug, 2019 07:30
by DrKnS
Shmuel wrote:
Fri 09 Aug, 2019 01:28
Если я нажимаю на Add в редакторе - печатается +, значит и макрос должен печатать +
Допустим. Что делать с Decimal, который уже сейчас в разных раскладках печатает разное?

Глюки и баги, появившиеся в «ночных сборках»

Posted: Fri 09 Aug, 2019 08:26
by Shmuel
Для полноты картины - 2 неразрешённых тикета на багтрекере:
https://bugs.farmanager.com/view.php?id=2275
https://bugs.farmanager.com/view.php?id=2259

Мне кажется, пока не найдено идеальное решение, надо исходить из типичных случаев, а не экзотических. То есть, у подавляющего большинства пользователей на клавише Add нарисован +, значит да, прибьём этот плюс гвоздями. То же касается и Decimal, который у меня сейчас также приходит нулевым байтом (а на клавише нарисована точка, как, полагаю, у 99% участников данного форума.

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

Глюки и баги, появившиеся в «ночных сборках»

Posted: Fri 09 Aug, 2019 14:59
by CDK
Shmuel wrote:
Fri 09 Aug, 2019 08:26
То же касается и Decimal, который у меня сейчас также приходит нулевым байтом (а на клавише нарисована точка, как, полагаю, у 99% участников данного форума.
А не правильнее ли, все-таки, из лейаута как-то брать символ? (возможно OemPeriod/Oemcomma)

Какие символы вводят Decimal, Add, Subtract, Multiply, Divide

Posted: Fri 09 Aug, 2019 22:46
by DrKnS
Shmuel wrote:
Fri 09 Aug, 2019 08:26
для не-русских раскладок
В них как раз всё ок.
Впрочем, как хотите, 5449.
CDK wrote:
Fri 09 Aug, 2019 14:59
из лейаута как-то брать символ
Консольным приложениям такая роскошь недоступна.