Page 2 of 2

Неправильные координаты мыши в событиях колёсика

Posted: Thu 17 Oct, 2019 00:46
by DrKnS

Latest post of the previous page:

HaRT wrote: Thu 17 Oct, 2019 00:44А в новой консоли Win10 они в минус и в космос не уходят?
Не уходят.

Еще надо учитывать, что начало координат - в левом верхнем углу буфера, а не окна (т.е. при наличии вертикальной прокрутки в левом верхем углу окна должно быть не [0, 0], а [0, N]).

Неправильные координаты мыши в событиях колёсика

Posted: Thu 17 Oct, 2019 03:11
by HaRT
DrKnS wrote: Thu 17 Oct, 2019 00:46 Еще надо учитывать, что начало координат - в левом верхнем углу буфера, а не окна (т.е. при наличии вертикальной прокрутки в левом верхем углу окна должно быть не [0, 0], а [0, N]).
Насколько я вижу, в мышиных событиях (скажем, щелчок ЛКМ) в Фаре координаты от окна, а не от буфера, поэтому так и реализовал. Да и в макросах интерфейса (например, ClickToTitleDir) от окна удобнее (разумеется, когда интерфейс Фара целиком в окне).

Неправильные координаты мыши в событиях колёсика

Posted: Thu 17 Oct, 2019 20:49
by DrKnS
Господа, а есть у кого-нибудь мышь с горизонтальной прокруткой? Это также может выглядеть как наклон колеса влево-вправо.

Неправильные координаты мыши в событиях колёсика

Posted: Thu 17 Oct, 2019 21:49
by skipik
DrKnS, у меня вот такая мышь. Яндекс.Маркет пишет, что горизонтальная прокрутка есть. Колесо, действительно, чуть отклоняется вправо\влево, при этом раздаётся щелчок.

Неправильные координаты мыши в событиях колёсика

Posted: Thu 17 Oct, 2019 22:57
by DrKnS
skipik, можете взять readkey.zip по ссылке выше и проверить, что приходит, когда вы наклоняете колесо, держа курсор над левым верхним углом немаксимизированной консоли, расположенной примерно в центре экрана? Как-то так:
image.png
image.png (1.04 KiB) Viewed 3936 times

Должно приходить что-то типа
MOUSE_EVENT_RECORD: Pos=[X=16; Y=573], Button=0x00780000 [L1=0,L2=0,L3=0,L4=0,R=0], Control=0x00000020 (casac - ecNs), EventFlags=0x00000008 (dmwH)
- выделенное зеленым важно. Если у вас тоже 8 и H большое - то это горизонтаьная прокрутка.

Интересуют X и Y в Pos.

Если у вас Windows 10 - пожалуйста, проверьте с legacy console и со стандартной.

Неправильные координаты мыши в событиях колёсика

Posted: Fri 18 Oct, 2019 01:55
by HaRT
skipik wrote: Thu 17 Oct, 2019 21:49 Интересуют X и Y в Pos.
Я бы ещё добавил, что надо выставить буфер консоли размером с окно, чтобы X и Y каждый раз не менялись.

Неправильные координаты мыши в событиях колёсика

Posted: Fri 18 Oct, 2019 07:56
by skipik
DrKnS, попробовал. Смотрите, какая ситуация: когда я наклоняю колёсико вправо, то это просто перемещает весь текст консоли вправо на один шаг (если на экране есть горизонтальная полоса прокрутки), либо вообще ничего не происходит (если полосы прокрутки нет, например, после сворачивания и разворачивания окна readkey). При этом никаких записей, подобных вашему примеру, в консоль не делается. У меня Windows 10, пробовал и в стандартной консоли, и в легаси.

Неправильные координаты мыши в событиях колёсика

Posted: Fri 18 Oct, 2019 09:16
by tstr
наблюдаю аналогичное поведение.

Неправильные координаты мыши в событиях колёсика

Posted: Fri 18 Oct, 2019 10:26
by John Doe
@skipik, @tstr
А драйвера для мыши штатные, или от производителя?
Что в настроках?

Неправильные координаты мыши в событиях колёсика

Posted: Fri 18 Oct, 2019 11:12
by tstr
штатные, в настройках скроллинг по вертикали и горизонтали по умолчанию - 3 (линии/символа соотв.)

Неправильные координаты мыши в событиях колёсика

Posted: Fri 18 Oct, 2019 12:57
by skipik
По поводу драйверов и настроек - всё в точности, как у tstr.

Неправильные координаты мыши в событиях колёсика

Posted: Sun 20 Oct, 2019 00:22
by DrKnS
Какие-то у вас неправильные мыши. Но ничего, я нашёл правильную.

HaRT, workaround добавлен в 5491.

Всем спасибо.

Неправильные координаты мыши в событиях колёсика

Posted: Sun 20 Oct, 2019 08:05
by John Doe
DrKnS wrote: Sun 20 Oct, 2019 00:22 Но ничего, я нашёл правильную.
А что у правильной?

Неправильные координаты мыши в событиях колёсика

Posted: Sun 20 Oct, 2019 09:48
by DrKnS
John Doe wrote: Sun 20 Oct, 2019 08:05А что у правильной?
То же, что и с вертикальным, поэтому workaround применяется к обоим.