Событие движения мыши ведет себя странно в Windows 10

Я выбираю ценности event.movementX а также event.movementY от слушателя события перемещения мыши для отслеживания движения мыши, когда включена блокировка указателя. Эти значения - то, что перемещает углы камеры в трехмерной многопользовательской игре, которую я разрабатываю. Однако иногда эти значения выбрасывают неясные большие числа в отрицательном направлении движения.

Что еще интереснее, после многочисленных тестов на многочисленных устройствах я обнаружил, что проблема присутствовала только в Windows 10. Я даже протестировал демонстрационную версию блокировки указателя Threejs и обнаружил, что она имеет те же проблемы с элементами управления блокировкой указателя.

Я попытался отфильтровать значения, которые были явно отключены, но это все еще оставляло интерфейс чувствующим себя затруднительным. Я также пытался использовать библиотеки регулирования функций, чтобы попытаться устранить эти неверные значения, но для устранения этой проблемы пришлось вернуться к работе за разумным юзабилити (для моих целей).

Есть идеи, почему это будет происходить только в Windows 10? Любые идеи, чтобы устранить эту проблему в целом?

Кстати, вот мой слушатель событий:

$(window).on("mousemove", {prevScope: this}, function(event) {
    var scope = event.data.prevScope;
    scope.mesh.rotation.y -= event.originalEvent.movementX / 1000;
    scope.mesh.rotation.x -= event.originalEvent.movementY / 1000;
});

Обратите внимание, что prevScope был мой способ обойти потерю контекста моего объекта, из которого он вызывался.

Также обратите внимание, что здесь есть ссылка на мой первоначальный вопрос по аналогичной проблеме: event.movement, возвращающий нечетные значения.

0 ответов

Другие вопросы по тегам