Вариант предоставления Вектору сырых данных перемещения мыши, подходит для PS/2-мышей.
К огромному сожалению, usb-мышь гонит данные постоянно пока с ней есть какие-то манипуляции. А если Вектор будет получать сырые данные один раз в 20мс, то ни о каком контроле за перемещениями речи идти не будет, так как практически все данные будут теряться.
Именно по этому контроллер и готовит данные для Вектора. Собирает все данные о перемещениях, и предоставляет Вектору, по запросу, уже итоговую сумму всех перемещений за промежуток между запросами Вектора.
Решил, что ни как не буду корректировать скорость по "X" для режима 512.
Поскольку реальный контроллер вряд-ли кто-то ещё будет собирать, а если вдруг "контроллер мыши" появится в эмуляторе, то там этот вопрос вообще не актуален, так как смещение по осям будут браться из перемещения по экрану курсора РС, соответственно и коррекция скорости не нужна.
А для тех кто решит делать реальный контроллер, я дал подсказки, из своих экспериментов, что для комфортного перемещения курсора по экрану Вектора, данные мыши нужно делить на 8. Суммирует реальные полученные от мыши данные, а по запросу, предоставляет данные делённые на 8. Так не теряются мелкие движения мыши. Если делить на 8 сразу, и потом прибавлять к счётчику, то для смещения курсора на 1 пиксель, нужно довольно значительно дёргать мышью.
Это результаты моих экспериментов, они очень субъективны.





Ответить с цитированием