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

Здесь можно сообщить о найденных багах в Far.
Post Reply
plastikat
Posts: 77
Joined: Fri 17 Jul, 2009 10:55
Has thanked: 1 time

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

Post by plastikat »

На данный момент Far, при включенном NumLock и нажатии клавиши . Del, всегда (то есть, независимо от активной клавиатурной раскладки) печатает точку. Вроде бы, он всегда так и делал. При этом, ни одно другое (из известных мне) приложение так не делает -- на английской раскладке все печатают точку, а на русской - запятую. И это вполне логично, потому что "правильный" десятичный разделитель для русского языка это - запятая (хотя вопрос этот спорный, так как единого предписывающего стандарта не существует). Но стандарты - стандартами, а отличие поведения Far от других приложений - налицо. А вопрос - почему так? Прошу прощения, если вопрос риторический.
Last edited by plastikat on Wed 24 Jul, 2019 15:29, edited 1 time in total.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

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

Post by DrKnS »

plastikat wrote: Tue 23 Jul, 2019 17:06А вопрос - почему так?
А потому что баг.
5433.
plastikat
Posts: 77
Joined: Fri 17 Jul, 2009 10:55
Has thanked: 1 time

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

Post by plastikat »

Отлично, спасибо за работу!
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

zg wrote: Thu 08 Aug, 2019 22:49 а только у меня Keys("Add") в редакторе вставляет нулевой символ?
У меня тоже (билд 5443). На 5400 всё нормально.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Похоже на это:

Code: Select all

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

1. VK_DECIMAL не всегда то же самое, что и '.'.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

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

Post by DrKnS »

Shmuel wrote: Thu 08 Aug, 2019 23:06Похоже на это
Раньше было прибито гвоздями, что KEY_ADD, KEY_SUBTRACT, KEY_MULTIPLY, KEY_DIVIDE, KEY_DECIMAL - это + - * / ..
Сейчас берётся тот символ, который туда реально приходит от ОС.
В мапе, используемой в KeyNameToKey, нет сопоставленных символов, поэтому получается 0.
Их туда можно добавить конечно, но если у вас будет какая-то хитрая раскладка, в которой символы другие - фар об этом не узнает.
Если вам нужно ввести конкретные символы - надёжнее всего так и делать: Keys("+ - * / .")
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

DrKnS wrote: Thu 08 Aug, 2019 23:37 В мапе, используемой в KeyNameToKey, нет сопоставленных символов, поэтому получается 0.
Их туда можно добавить конечно, но если у вас будет какая-то хитрая раскладка, в которой символы другие - фар об этом не узнает.
Макросы должны имитировать реальные нажатия клавиш. Если я нажимаю на Add в редакторе - печатается +, значит и макрос должен печатать +.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

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

Post by DrKnS »

Shmuel wrote: Fri 09 Aug, 2019 01:28Если я нажимаю на Add в редакторе - печатается +, значит и макрос должен печатать +
Допустим. Что делать с Decimal, который уже сейчас в разных раскладках печатает разное?
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Для полноты картины - 2 неразрешённых тикета на багтрекере:
https://bugs.farmanager.com/view.php?id=2275
https://bugs.farmanager.com/view.php?id=2259

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

Ну и как всегда остаётся возможность добавить настройки - для не-русских раскладок, но умолчания оставить какими они были прежде.
User avatar
CDK
Posts: 309
Joined: Thu 28 Apr, 2005 08:28
Has thanked: 13 times
Been thanked: 3 times
Contact:

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

Post by CDK »

Shmuel wrote: Fri 09 Aug, 2019 08:26 То же касается и Decimal, который у меня сейчас также приходит нулевым байтом (а на клавише нарисована точка, как, полагаю, у 99% участников данного форума.
А не правильнее ли, все-таки, из лейаута как-то брать символ? (возможно OemPeriod/Oemcomma)
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

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

Post by DrKnS »

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

Return to “Глюки и баги”